For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

List groups

get

Returns the tenant's groups, ordered by id unless sort says otherwise.

Filterableid, tenantId, name, description.

Sortableid, name.

Searchable — nothing yet; use filter with contains on name.

Authorizations
AuthorizationstringRequired

Token issued by the central equipme authentication, sent as Bearer <token>.

Query parameters
filterstringOptional

JSON filter expression

searchstringOptional

Free-text term — no effect here

sortstringOptional

Comma-separated field:direction terms

fieldsstringOptional

Selection of fields and relations

Example: name,description
offsetintegerOptional

Number of entries to skip

Default: 0
limitintegerOptional

Page size, 1 to 100

Default: 100
Responses
200

OK

application/json
countintegerOptional
get/v1/groups
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
    }
  ]
}

Create a group

post

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.

Authorizations
AuthorizationstringRequired

Token issued by the central equipme authentication, sent as Bearer <token>.

Body
objectOptional
or
Responses
201

Created

application/json
post/v1/groups
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
  }
}

Get a group

get

Returns a single group by its id. A group of another tenant is answered with 404.

Authorizations
AuthorizationstringRequired

Token issued by the central equipme authentication, sent as Bearer <token>.

Path parameters
groupIdintegerRequired

Group id

Example: 5
Query parameters
fieldsstringOptional

Selection of fields and relations

Example: name,description
Responses
200

OK

application/json
get/v1/groups/{groupId}
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
  }
}

Delete a group

delete

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.

Authorizations
AuthorizationstringRequired

Token issued by the central equipme authentication, sent as Bearer <token>.

Path parameters
groupIdintegerRequired

Group id

Example: 5
Responses
204

No Content

No content

delete/v1/groups/{groupId}
DELETE /api/v1/groups/{groupId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Change a group

patch

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.

Authorizations
AuthorizationstringRequired

Token issued by the central equipme authentication, sent as Bearer <token>.

Path parameters
groupIdintegerRequired

Group id

Example: 5
Body
objectOptional
or
Responses
200

OK

application/json
patch/v1/groups/{groupId}
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?