Group
A group is an internal team — support, second level, a department. Groups are what tickets get routed to when no single person is meant to own them yet.
Creating a group also creates its group contact: the face the group shows to the rest of the system, so a ticket can be assigned to the group the same way it is assigned to a person. That contact is managed with the group and never by hand.
Who belongs to a group, and with which role, is described under Group Members.
Returns the tenant's groups, ordered by id unless sort says otherwise.
Filterable — id, tenantId, name, description.
Sortable — id, name.
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,descriptionNumber of entries to skip
0Page size, 1 to 100
100OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
GET /api/v1/groups HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"data": [
{
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
{
"contact": {
"assignmentContext": "text",
"autoAssign": true,
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"email": "ada.lovelace@example.com",
"firstName": "Ada",
"id": 17,
"kind": "",
"lastName": "Lovelace",
"mobile": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"title": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"contactId": 1,
"group": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": "[Circular Reference]",
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
},
"groupId": 1,
"role": ""
}
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
}
]
}Creates a group together with its group contact, in one transaction — the group is routable from the moment it exists.
email and phone belong to that contact and are how the group is reached from the outside. autoAssign opens the group to automatic ticket routing; when it is switched on, assignmentContext has to describe what the group is responsible for, otherwise the request is answered with 400 — the classification reads that text.
Token issued by the central equipme authentication, sent as Bearer <token>.
Created
Bad Request
Unauthorized
Forbidden
Internal Server Error
POST /api/v1/groups HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}{
"data": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
{
"contact": {
"assignmentContext": "text",
"autoAssign": true,
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"email": "ada.lovelace@example.com",
"firstName": "Ada",
"id": 17,
"kind": "",
"lastName": "Lovelace",
"mobile": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"title": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"contactId": 1,
"group": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
"[Circular Reference]"
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
},
"groupId": 1,
"role": ""
}
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
}
}Returns a single group by its id. A group of another tenant is answered with 404.
Token issued by the central equipme authentication, sent as Bearer <token>.
Group id
5Selection of fields and relations
name,descriptionOK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/v1/groups/{groupId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
{
"contact": {
"assignmentContext": "text",
"autoAssign": true,
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"email": "ada.lovelace@example.com",
"firstName": "Ada",
"id": 17,
"kind": "",
"lastName": "Lovelace",
"mobile": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"title": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"contactId": 1,
"group": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
"[Circular Reference]"
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
},
"groupId": 1,
"role": ""
}
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
}
}Deletes a group along with its group contact.
A group that still has tickets assigned to it is refused with 409 — reassign them first. Historic thread participation of the group contact is detached automatically, so a group that merely took part in past conversations can be removed.
Token issued by the central equipme authentication, sent as Bearer <token>.
Group id
5No Content
No content
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
DELETE /api/v1/groups/{groupId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Changes a group. The body follows JSON Merge Patch semantics: an absent field stays as it is, null clears it, a value sets it. email and phone are applied to the group contact.
Token issued by the central equipme authentication, sent as Bearer <token>.
Group id
5OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
PATCH /api/v1/groups/{groupId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}{
"data": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
{
"contact": {
"assignmentContext": "text",
"autoAssign": true,
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "text",
"email": "ada.lovelace@example.com",
"firstName": "Ada",
"id": 17,
"kind": "",
"lastName": "Lovelace",
"mobile": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"title": "text",
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"contactId": 1,
"group": {
"assignmentContext": "text",
"autoAssign": true,
"contactId": 1,
"description": "text",
"email": "text",
"id": 1,
"members": [
"[Circular Reference]"
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
},
"groupId": 1,
"role": ""
}
],
"name": "text",
"phone": "text",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1
}
}Last updated
Was this helpful?