Actions
/api/helpdesk/actions
Manages custom HelpDesk ticket actions. Reading and writing requires the general configuration permission.
POST creates a request-local action, applies the supplied writable properties, validates it, and persists it with a server-generated identifier. PUT and PATCH use the same validation. Internal or inactive actions cannot be changed.
Action deletion and deactivation require restart-sensitive cleanup and are intentionally not exposed by this API. Consequently "active" is read-only and no DELETE operation exists.
GET /api/helpdesk/actions
Lists configurable actions.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
includeInactive |
query | boolean |
no | whether to include inactive actions; defaults to false (active only) |
query |
query | string |
no | optional case-insensitive substring filter applied to the action name |
fields |
query | string |
no | Comma-separated readable properties to include in the JSON response. |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
200 |
application/json |
array<ActionRead> |
matching actions |
Example Request
# Request
GET /api/helpdesk/actions HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": 0,
"name": "string",
"statusId": 0,
"internal": true,
"billingType": 0
}
]
POST /api/helpdesk/actions
Creates a custom action with a server-generated identifier. The request body must provide "name"; "statusId" must resolve to an active status. Numeric behavior properties, including an omitted "statusId", default to zero.
Request Body
| Content Type | Schema | Required | Description |
|---|---|---|---|
application/json |
ActionCreate |
yes | — |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
201 |
application/json |
ActionRead |
staged action |
Example Request
# Request
POST /api/helpdesk/actions HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"name": "string",
"statusId": 0,
"billingType": 0,
"lumpSumType": 0,
"fixedCharge": 0.0
}
# Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 0,
"name": "string",
"statusId": 0,
"internal": true,
"billingType": 0
}
Common Error Responses
The status codes 400, 403, 404, 405, 406, 409, 413, 415, and 500 use the same ApiError JSON error format:
{
"status": 404,
"code": "route_not_found",
"message": "The requested API route does not exist.",
"details": []
}
Schemas
Request and response schemas used on this page.
ActionRead
| Property | Type | Required | Description |
|---|---|---|---|
id |
integer (int32) |
no |
Stable server-generated action identifier. Read-only. |
name |
string |
no |
Required user-visible name, trimmed before storage, at most 50 characters and unique ignoring case. |
statusId |
integer (int32) |
no |
Identifier of the active status produced when this action is executed. |
internal |
boolean |
no |
Whether this action is internal and system-managed. Read-only. |
billingType |
integer (int32) |
no |
Billing mode: 0 applies the user's hourly rate, 1 applies a lump sum, and 2 applies both. |
lumpSumType |
integer (int32) |
no |
Lump-sum source: -1 disables lump sums, 0 uses "fixedCharge", and 1, 2, or 3 use the respective user-data lump sum A, B, or C. |
fixedCharge |
number (double) |
no |
Non-negative finite fixed charge used when "lumpSumType" is 0. |
special |
integer (int32) |
no |
Special-behavior bitmask. Clients may change only flags 2 (text required), 64 (mark unread for supporters), and 128 (mark unread for end users). Other returned flags are system-controlled and remain unchanged during updates. New actions automatically receive the legacy deletable and may-change-status flags. In particular, clients cannot enable the no-permission-check flag. |
hiddenToEndUsers |
boolean |
no |
Whether ticket-history steps created by this action are hidden from end users. |
active |
boolean |
no |
Whether this action is active. Read-only; this API cannot deactivate or reactivate actions. |
ApiError
| Property | Type | Required | Description |
|---|---|---|---|
status |
integer (int32) |
yes | — |
code |
string |
yes | — |
message |
string |
yes | — |
details |
array<object> |
no | — |
ActionCreate
| Property | Type | Required | Description |
|---|---|---|---|
name |
string |
no |
Required user-visible name, trimmed before storage, at most 50 characters and unique ignoring case. |
statusId |
integer (int32) |
no |
Identifier of the active status produced when this action is executed. |
billingType |
integer (int32) |
no |
Billing mode: 0 applies the user's hourly rate, 1 applies a lump sum, and 2 applies both. |
lumpSumType |
integer (int32) |
no |
Lump-sum source: -1 disables lump sums, 0 uses "fixedCharge", and 1, 2, or 3 use the respective user-data lump sum A, B, or C. |
fixedCharge |
number (double) |
no |
Non-negative finite fixed charge used when "lumpSumType" is 0. |
special |
integer (int32) |
no |
Special-behavior bitmask. Clients may change only flags 2 (text required), 64 (mark unread for supporters), and 128 (mark unread for end users). Other returned flags are system-controlled and remain unchanged during updates. New actions automatically receive the legacy deletable and may-change-status flags. In particular, clients cannot enable the no-permission-check flag. |
hiddenToEndUsers |
boolean |
no |
Whether ticket-history steps created by this action are hidden from end users. |