Label
A label is a free tag on a ticket, defined per tenant and identified by its name. Tickets carry any number of them, and PATCH /v1/tickets/{ticketId} replaces the whole set at once.
autoAssign opens a label to automatic classification: only labels with it switched on are candidates, and then assignmentContext is what the classification reads — description stays the human-facing text.
Returns the tenant's labels, ordered by id unless sort says otherwise.
Filterable — id, tenantId, name, description, color, autoAssign, assignmentContext, createdAt, updatedAt.
Sortable — id, name, createdAt, updatedAt.
Searchable — nothing yet; use filter with contains on name.
Token issued by the central equipme authentication, sent as Bearer <token>.
JSON filter expression
Free-text term — no effect here
Comma-separated field:direction terms
Selection of fields and relations
name,colorNumber of entries to skip
0Page size, 1 to 100
100OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
GET /api/v1/labels HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"data": [
{
"assignmentContext": "text",
"autoAssign": true,
"color": "#4a90d9",
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"id": 12,
"name": "hardware",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
}
]
}Creates labels — several at once, since they are usually set up as a set. Each entry needs a name, which identifies the label within the tenant.
A name that already exists is kept as it is: the request succeeds and returns the existing label unchanged, rather than failing or overwriting its description and colour. Use PATCH to change one.
Token issued by the central equipme authentication, sent as Bearer <token>.
Created
Bad Request
Unauthorized
Forbidden
Internal Server Error
POST /api/v1/labels HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}{
"data": [
{
"assignmentContext": "text",
"autoAssign": true,
"color": "#4a90d9",
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"id": 12,
"name": "hardware",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
}
]
}Returns a single label by its id.
Token issued by the central equipme authentication, sent as Bearer <token>.
Label id
12Selection of fields and relations
name,colorOK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/v1/labels/{labelId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": {
"assignmentContext": "text",
"autoAssign": true,
"color": "#4a90d9",
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"id": 12,
"name": "hardware",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
}
}Deletes a label and detaches it from every ticket that carried it. The tickets themselves are untouched. Answers with 204 and no body.
Token issued by the central equipme authentication, sent as Bearer <token>.
Label id
12No Content
No content
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
DELETE /api/v1/labels/{labelId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Changes a label. The body follows JSON Merge Patch semantics: an absent field stays as it is, null clears it, a value sets it.
Renaming a label keeps it attached to its tickets — they refer to it by id, not by name.
Token issued by the central equipme authentication, sent as Bearer <token>.
Label id
12OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
PATCH /api/v1/labels/{labelId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}{
"data": {
"assignmentContext": "text",
"autoAssign": true,
"color": "#4a90d9",
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"id": 12,
"name": "hardware",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
}
}Last updated
Was this helpful?