GET /conversations/{id}
Updated Oct 1, 20261 minute read
Get a conversation
The whole thread, up to the most recent 200 messages, team-only notes and system narration included.
Part of Conversations.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | A conversation id. |
Responses
| Status | Description |
|---|---|
200 | The conversation and its messages, oldest first. |
401 | The bearer token is missing, revoked, or expired. |
404 | Not one of yours, or not there at all. |
429 | Too many requests. Wait the seconds in Retry-After. Limits depend on the plan. See rate limits. |
200 body
| Field | Type | Required | Description |
|---|---|---|---|
conversation | object | No | |
conversation.id | string | No | |
conversation.threadId | any | No | W-12: the workspace's initial and the thread's number, which is how the team refers to it. Null for a thread from before numbers existed. |
conversation.subject | string | No | |
conversation.preview | string | No | |
conversation.status | "open" | "resolved" | "closed" | No | |
conversation.aiStatus | "handling" | "drafting" | "needs a person" | "paused" | No | |
conversation.channel | "widget" | "email" | "discord" | "site" | No | |
conversation.assignee | any | No | The teammate holding it, by name, or null while the AI has it. |
conversation.isUnread | boolean | No | |
conversation.isArchived | boolean | No | |
conversation.snoozedUntil | any | No | |
conversation.lastMessageAt | integer | No | |
conversation.createdAt | integer | No | |
conversation.customer | object | No | |
conversation.customer.id | any | No | |
conversation.customer.name | any | No | |
conversation.customer.customerNumber | any | No | |
conversation.customer.email | any | No | |
page | object | null | No | Where the visitor was when they started it, or null. |
messages | object[] | No | |
messages[].id | string | No | |
messages[].createdAt | integer | No | |
messages[].author | "visitor" | "ai" | "human" | "system" | "note" | No | visitor is the customer, ai the agent, human a teammate, system the thread narrating itself, note team-only. |
messages[].authorName | any | No | |
messages[].body | string | No | |
messages[].pending | boolean | No | |
messages[].attachments | object[] | No | |
messages[].attachments[].id | string | No | |
messages[].attachments[].name | string | No | |
messages[].attachments[].size | integer | No | |
messages[].attachments[].type | string | No | |
messages[].attachments[].url | any | No | |
messages[].toolCalls | object[] | No | |
messages[].toolCalls[].name | string | No | |
messages[].toolCalls[].input | string | No | |
messages[].toolCalls[].output | any | No | |
messages[].aiError | any | No |
Example request
curl https://api.median.sh/v1/conversations/id \
-H "Authorization: Bearer $BEARER_AUTH"