GET
/api/public/v1/support-conversations/{conversationId}Get a support conversation
One Support channel with its whole conversation, oldest first. Every message carries `internal` — ours or the customer’s — and its author with the company they work for. Only ever a Support channel: a conversation id that names anything else reads as not found, so the rota’s scope never opens a customer’s private channel by accident.
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Dev Tools → API, to an assistant or CLI sign-in when you approve or edit it under Dev Tools, and to a teammate under Employee → Permissions.
internal:support:read
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
conversationId | string | Required | Support conversation ID. |
GETExample request
curl
curl -X GET "https://www.pxb.app/api/public/v1/support-conversations/{conversationId}" \
-H "Authorization: Bearer your_access_token"200Example response
json
{
"message": "Support conversation retrieved successfully!",
"content": {
"supportConversation": {
"id": "cnv_7f21",
"referenceId": 412,
"channel": "threads",
"status": "awaiting-reply",
"waitingOnUs": true,
"company": {
"id": "cmp_a1b2",
"name": "Northwind Traders"
},
"topic": "Your direct line to the Pixelbase team.",
"lastMessage": {
"id": "msg_5c90",
"preview": "Our invoices stopped syncing to QuickBooks this morning — anything on your side?",
"author": {
"employeeId": "emp_9d1a",
"name": "Priya Nair",
"internal": false
},
"createdAt": "2026-10-09T14:12:00.000Z"
},
"lastMessageAt": "2026-10-09T14:12:00.000Z",
"messageCount": 18,
"memberCount": 4,
"isArchived": false,
"createdAt": "2026-03-02T10:00:00.000Z",
"updatedAt": "2026-10-09T14:12:00.000Z",
"messages": [
{
"id": "msg_5c90",
"conversationId": "cnv_7f21",
"parentMessageId": null,
"author": {
"employeeId": "emp_9d1a",
"name": "Priya Nair",
"internal": false,
"companyName": "Northwind Traders"
},
"internal": false,
"content": "Our invoices stopped syncing to QuickBooks this morning — anything on your side?",
"type": "TEXT",
"replyCount": 0,
"attachments": [],
"mentionedEmployeeIds": [],
"editedAt": null,
"deletedAt": null,
"createdAt": "2026-10-09T14:12:00.000Z"
},
{
"id": "msg_5c91",
"conversationId": "cnv_7f21",
"parentMessageId": null,
"author": {
"employeeId": "emp_12ab",
"name": "Sam Okafor",
"internal": true,
"companyName": "Pixelbase"
},
"internal": true,
"content": "Looking now — can you tell me which invoice number you tried last?",
"type": "TEXT",
"replyCount": 0,
"attachments": [],
"mentionedEmployeeIds": [],
"editedAt": null,
"deletedAt": null,
"createdAt": "2026-10-09T14:20:00.000Z"
}
]
}
}
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.