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

Thread link

A thread link connects two threads and says how they relate. Links are directional and are always read from the perspective of the thread in the path: linking A to B as DISCUSSES means B shows the link as DISCUSSED_IN.

Link
Counterpart

DISCUSSES

DISCUSSED_IN

RELATES_TO

RELATES_TO

DISCUSSES is not inert: when the target thread is a ticket's main thread, the ticket's assignee and agent are added to the source thread as CONTRIBUTOR — never the ticket's contact. This is retroactive (they see the source thread's full history) and add-only: reassigning the ticket adds the new holder but does not remove the previous ones, and unlinking removes the relation but not the participants it added.

RELATES_TO never touches participants and is the right choice for a hand-picked subordinate conversation that should not pull anyone in automatically.

get

Returns the threads linked to this one, each with the link type as seen from this thread. Links to a thread the caller cannot read are omitted entirely, not just their content — the list never reveals that such a link exists.

Filterable — id, sourceThreadId, targetThreadId, relationType, creatorId, createdAt.

Sortable — id, createdAt.

Searchable — nothing yet.

Authorizations
AuthorizationstringRequired

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

Path parameters
threadIdintegerRequired

Thread id

Example: 8801
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: type,relatedThread.subject
offsetintegerOptional

Number of entries to skip

Default: 0
limitintegerOptional

Page size, 1 to 100

Default: 100
Responses
200

OK

application/json
countintegerOptional
get/v1/threads/{threadId}/links
GET /api/v1/threads/{threadId}/links HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "count": 1,
  "data": [
    {
      "createdAt": "text",
      "creator": {
        "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"
      },
      "relatedThread": {
        "attachments": [
          {
            "composing": true,
            "contentId": "text",
            "contentType": "text",
            "createdAt": "text",
            "creator": {
              "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"
            },
            "creatorId": 1,
            "id": 1,
            "inline": true,
            "link": "text",
            "messageId": 1,
            "name": "text",
            "size": 1,
            "threadId": 1
          }
        ],
        "channel": {
          "active": true,
          "createdAt": "text",
          "id": 1,
          "kind": "",
          "name": "text",
          "purpose": "",
          "tenant": {
            "id": 1,
            "name": "text"
          },
          "tenantId": 1,
          "updatedAt": "text"
        },
        "channelId": 1,
        "createdAt": "2026-01-01T00:00:00.000Z",
        "description": "text",
        "externalId": "text",
        "id": 8801,
        "messages": [
          {
            "attachments": [
              {
                "composing": true,
                "contentId": "text",
                "contentType": "text",
                "createdAt": "text",
                "creator": {
                  "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"
                },
                "creatorId": 1,
                "id": 1,
                "inline": true,
                "link": "text",
                "messageId": 1,
                "name": "text",
                "size": 1,
                "threadId": 1
              }
            ],
            "author": {
              "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"
            },
            "authorId": 1,
            "content": "text",
            "contentPreview": "text",
            "contentType": "text",
            "createdAt": "text",
            "direction": "INTERNAL",
            "id": 1,
            "originChannel": {
              "active": true,
              "createdAt": "text",
              "id": 1,
              "kind": "",
              "name": "text",
              "purpose": "",
              "tenant": {
                "id": 1,
                "name": "text"
              },
              "tenantId": 1,
              "updatedAt": "text"
            },
            "originChannelId": 1,
            "replyTo": "[Circular Reference]",
            "replyToId": 1,
            "threadId": 1,
            "updatedAt": "text"
          }
        ],
        "participants": [
          {
            "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"
          }
        ],
        "resourceLinks": [
          {
            "createdAt": "text",
            "creator": {
              "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"
            },
            "creatorId": 1,
            "deepLink": "text",
            "displayName": "text",
            "externalId": "text",
            "id": 1,
            "provider": {
              "id": 1,
              "key": "text"
            },
            "providerId": 1,
            "resourceType": "text",
            "source": "text",
            "threadId": 1
          }
        ],
        "status": "",
        "subject": "Printer on the 2nd floor is not printing",
        "tenant": {
          "id": 1,
          "name": "text"
        },
        "tenantId": 1,
        "updatedAt": "2026-01-01T00:00:00.000Z"
      },
      "type": ""
    }
  ]
}

Link threads

post

Links this thread to others. Each entry names the threadId to link and the type as seen from the thread in the path — the counterpart is recorded automatically for the other side. The type decides which of the two is the side conversation, and so which one gains the ticket's assignee and agent: with DISCUSSES it is the thread in the path, with DISCUSSED_IN the linked one.

A thread cannot be linked to itself; that is answered with 400, as is linking across tenants. Linking a pair that is already linked, in any type or direction, answers 409. Requires ManageAction on the thread in the path — a ticket's own ManageAction also satisfies this when the thread is that ticket's main thread.

Authorizations
AuthorizationstringRequired

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

Path parameters
threadIdintegerRequired

Thread id

Example: 8801
Body
objectOptional
or
Responses
201

Created

application/json
post/v1/threads/{threadId}/links
POST /api/v1/threads/{threadId}/links HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{
  "data": [
    {
      "createdAt": "text",
      "creator": {
        "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"
      },
      "relatedThread": {
        "attachments": [
          {
            "composing": true,
            "contentId": "text",
            "contentType": "text",
            "createdAt": "text",
            "creator": {
              "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"
            },
            "creatorId": 1,
            "id": 1,
            "inline": true,
            "link": "text",
            "messageId": 1,
            "name": "text",
            "size": 1,
            "threadId": 1
          }
        ],
        "channel": {
          "active": true,
          "createdAt": "text",
          "id": 1,
          "kind": "",
          "name": "text",
          "purpose": "",
          "tenant": {
            "id": 1,
            "name": "text"
          },
          "tenantId": 1,
          "updatedAt": "text"
        },
        "channelId": 1,
        "createdAt": "2026-01-01T00:00:00.000Z",
        "description": "text",
        "externalId": "text",
        "id": 8801,
        "messages": [
          {
            "attachments": [
              {
                "composing": true,
                "contentId": "text",
                "contentType": "text",
                "createdAt": "text",
                "creator": {
                  "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"
                },
                "creatorId": 1,
                "id": 1,
                "inline": true,
                "link": "text",
                "messageId": 1,
                "name": "text",
                "size": 1,
                "threadId": 1
              }
            ],
            "author": {
              "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"
            },
            "authorId": 1,
            "content": "text",
            "contentPreview": "text",
            "contentType": "text",
            "createdAt": "text",
            "direction": "INTERNAL",
            "id": 1,
            "originChannel": {
              "active": true,
              "createdAt": "text",
              "id": 1,
              "kind": "",
              "name": "text",
              "purpose": "",
              "tenant": {
                "id": 1,
                "name": "text"
              },
              "tenantId": 1,
              "updatedAt": "text"
            },
            "originChannelId": 1,
            "replyTo": "[Circular Reference]",
            "replyToId": 1,
            "threadId": 1,
            "updatedAt": "text"
          }
        ],
        "participants": [
          {
            "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"
          }
        ],
        "resourceLinks": [
          {
            "createdAt": "text",
            "creator": {
              "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"
            },
            "creatorId": 1,
            "deepLink": "text",
            "displayName": "text",
            "externalId": "text",
            "id": 1,
            "provider": {
              "id": 1,
              "key": "text"
            },
            "providerId": 1,
            "resourceType": "text",
            "source": "text",
            "threadId": 1
          }
        ],
        "status": "",
        "subject": "Printer on the 2nd floor is not printing",
        "tenant": {
          "id": 1,
          "name": "text"
        },
        "tenantId": 1,
        "updatedAt": "2026-01-01T00:00:00.000Z"
      },
      "type": ""
    }
  ]
}
delete

Removes the links between this thread and the given ones, in whichever direction they were recorded. Answers with 204 and no body.

Topology only: unlinking does not remove participants a DISCUSSES link propagated, and does not revoke their access. Reconciling propagated participants is not supported yet.

Authorizations
AuthorizationstringRequired

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

Path parameters
threadIdintegerRequired

Thread id

Example: 8801
Body
objectOptional
or
Responses
204

No Content

No content

delete/v1/threads/{threadId}/links
DELETE /api/v1/threads/{threadId}/links HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2

{}

No content

Last updated

Was this helpful?