User Classes
/api/helpdesk/user-classes
Manages HelpDesk user classes and their supervisors. Access requires either the general configuration permission or the HelpDesk template-definition permission.
POST creates a request-local user class, applies the supplied writable properties, validates it, and persists it with a server-generated identifier. PUT and PATCH use the same validation. Supervisor assignments are persisted together with the class and are restored best-effort after a partial failure.
DELETE and active=false perform a soft deactivation. The configured default class and a class currently assigned to users cannot be deactivated.
GET /api/helpdesk/user-classes
Lists configurable user classes.
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
includeInactive |
query | boolean |
no | whether to include inactive user classes; defaults to false (active only) |
query |
query | string |
no | optional case-insensitive substring filter applied to the user-class 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<UserClassRead> |
matching user classes |
Example Request
# Request
GET /api/helpdesk/user-classes HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 200 OK
Content-Type: application/json
[
{
"id": 0,
"name": "string",
"defaultPriorityId": 0,
"defaultResourceId": 0,
"supervisorIds": [
"8jvpkzi8826ilax88e1fzrwdf"
]
}
]
POST /api/helpdesk/user-classes
Creates a user class with a server-generated identifier. The request body must provide "name"; priority and resource identifiers default to zero, supervisors default to an empty set, and "active" defaults to true.
Request Body
| Content Type | Schema | Required | Description |
|---|---|---|---|
application/json |
UserClassCreate |
yes | — |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
201 |
application/json |
UserClassRead |
staged user class |
Example Request
# Request
POST /api/helpdesk/user-classes HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"name": "string",
"defaultPriorityId": 0,
"defaultResourceId": 0,
"supervisorIds": [
"c72u9nv9q65m1j1tq041h1g5i"
],
"active": true
}
# Response
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 0,
"name": "string",
"defaultPriorityId": 0,
"defaultResourceId": 0,
"supervisorIds": [
"8jvpkzi8826ilax88e1fzrwdf"
]
}
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.
UserClassRead
| Property | Type | Required | Description |
|---|---|---|---|
id |
integer (int32) |
no |
Stable server-generated user-class identifier. Read-only. |
name |
string |
no |
Required user-visible name, trimmed before storage, at most 255 characters and unique ignoring case. |
defaultPriorityId |
integer (int32) |
no |
Identifier of an active default SLA priority, or zero for no class-specific priority. |
defaultResourceId |
integer (int32) |
no |
Identifier of an active default authorization resource, or zero for none. |
supervisorIds |
array<string> |
no |
Complete set of supervising HelpDesk user account identifiers. Each value must be an existing lowercase alphanumeric GUID string, for example "0123456789abcdefghijklmno". When supplied, this property replaces the complete supervisor set; an empty array removes all supervisors. |
active |
boolean |
no |
Whether this user class is active. Setting this to false soft-deactivates the class and is subject to the same conflicts as DELETE. Setting it to true reactivates it. |
ApiError
| Property | Type | Required | Description |
|---|---|---|---|
status |
integer (int32) |
yes | — |
code |
string |
yes | — |
message |
string |
yes | — |
details |
array<object> |
no | — |
UserClassCreate
| Property | Type | Required | Description |
|---|---|---|---|
name |
string |
no |
Required user-visible name, trimmed before storage, at most 255 characters and unique ignoring case. |
defaultPriorityId |
integer (int32) |
no |
Identifier of an active default SLA priority, or zero for no class-specific priority. |
defaultResourceId |
integer (int32) |
no |
Identifier of an active default authorization resource, or zero for none. |
supervisorIds |
array<string> |
no |
Complete set of supervising HelpDesk user account identifiers. Each value must be an existing lowercase alphanumeric GUID string, for example "0123456789abcdefghijklmno". When supplied, this property replaces the complete supervisor set; an empty array removes all supervisors. |
active |
boolean |
no |
Whether this user class is active. Setting this to false soft-deactivates the class and is subject to the same conflicts as DELETE. Setting it to true reactivates it. |