Thread participant
Participation is what grants access to a thread, and the role decides how far it reaches:
OWNER
read, post messages, add and remove participants
CONTRIBUTOR
read, post messages
OBSERVER
read
Access can also arrive without direct participation, through a group grant that conveys read or write. Managing participants is reserved for an OWNER.
Returns who takes part in a thread and in which role.
Filterable — threadId, contactId, role.
Sortable — threadId, contactId, role.
Searchable — nothing yet.
Token issued by the central equipme authentication, sent as Bearer <token>.
Thread id
8801JSON filter expression
Free-text term — no effect here
Comma-separated field:direction terms
Selection of fields and relations
contactId,roleNumber of entries to skip
0Page size, 1 to 100
100OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/v1/threads/{threadId}/participants HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"count": 1,
"data": [
{
"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,
"role": "",
"thread": {
"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"
}
],
"parent": {
"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"
}
],
"parent": {
"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": "[Circular Reference]",
"parent": "[Circular Reference]",
"parentId": 1,
"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"
}
],
"status": "",
"subject": "Printer on the 2nd floor is not printing",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"parentId": 1,
"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"
}
],
"status": "",
"subject": "Printer on the 2nd floor is not printing",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"parentId": 1,
"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"
}
],
"status": "",
"subject": "Printer on the 2nd floor is not printing",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"threadId": 1
}
]
}Adds participants to a thread, or changes the role of those already on it — sending a contact that already takes part updates its role rather than failing. Only an OWNER may do this.
Each entry needs a contactId and a role of OWNER, CONTRIBUTOR or OBSERVER. Contacts have to belong to the same tenant as the thread. If the same contact appears twice in one request, the stronger role wins.
Token issued by the central equipme authentication, sent as Bearer <token>.
Thread id
8801OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
POST /api/v1/threads/{threadId}/participants HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}{
"data": [
{
"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,
"role": "",
"thread": {
"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"
}
],
"parent": {
"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"
}
],
"parent": {
"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": "[Circular Reference]",
"parent": "[Circular Reference]",
"parentId": 1,
"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"
}
],
"status": "",
"subject": "Printer on the 2nd floor is not printing",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"parentId": 1,
"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"
}
],
"status": "",
"subject": "Printer on the 2nd floor is not printing",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"parentId": 1,
"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"
}
],
"status": "",
"subject": "Printer on the 2nd floor is not printing",
"tenant": {
"id": 1,
"name": "text"
},
"tenantId": 1,
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"threadId": 1
}
]
}Removes participants from a thread. Only an OWNER may do this. Contacts that do not take part are ignored, so the request is idempotent, and it answers with 204 and no body.
Token issued by the central equipme authentication, sent as Bearer <token>.
Thread id
8801No Content
No content
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
DELETE /api/v1/threads/{threadId}/participants HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2
{}No content
Last updated
Was this helpful?