Returns assignment-related audit events for one conversation in chronological order. The timeline currently includes assignment and transfer events that were written to the audit log for the current organization. When no assignment events have been recorded yet, the response returns an empty `events` array. Authenticate with an organization API key sent in `X-API-Key` or as a Bearer token and carrying the exact `conversations:read` scope. API-key access also requires the Automation & API module (`automation_api`). Authorized dashboard sessions remain supported where the route already permits them. The request is isolated to the authenticated organization. Resource and site/project identifiers must belong to that organization; out-of-scope identifiers are not disclosed. Retry behavior: This read-only operation is safe to retry.
/api/conversations/{id}/assignment-historyOrganization API key supplied as Authorization: Bearer convor_sk_....
In: header
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"conversationId": "11111111-1111-4111-8111-111111111111",
"events": [
{
"id": "33333333-3333-4333-8333-333333333333",
"action": "conversation.assign",
"actorUserId": "44444444-4444-4444-8444-444444444444",
"operatorId": "55555555-5555-4555-8555-555555555555",
"details": {
"schemaVersion": 1,
"changes": [],
"facts": [],
"references": [
{
"type": "operator",
"id": "55555555-5555-4555-8555-555555555555",
"label": null,
"role": null
}
]
},
"ipAddress": "203.0.113.10",
"occurredAt": "2026-06-23T18:30:00.000Z"
}
]
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request GET \
'https://api.convor.io/api/conversations/11111111-1111-4111-8111-111111111111/assignment-history' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...'const response = await fetch("https://api.convor.io/api/conversations/11111111-1111-4111-8111-111111111111/assignment-history", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_..."
},
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?
Get conversation by ID
Returns one conversation from the current organization, including the joined visitor record and computed dashboard fields such as unreadCount, tags, messageCount, and firstResponseTimeMs. Visitor callers can read only their own conversations. Missing conversations, cross-organization access, or history outside the caller's allowed window return an error. Authenticate with an organization API key sent in `X-API-Key` or as a Bearer token and carrying the exact `conversations:read` scope. API-key access also requires the Automation & API module (`automation_api`). Authorized dashboard sessions remain supported where the route already permits them. The request is isolated to the authenticated organization. Resource and site/project identifiers must belong to that organization; out-of-scope identifiers are not disclosed. Visitor bearer callers can read only conversations owned by their authenticated visitor identity. Retry behavior: This read-only operation is safe to retry.
Get unified activity timeline for a conversation
Returns a merged chronological feed of messages, internal notes, tag changes, transfers, CSAT responses, and audit log entries for a conversation. Authenticate with an organization API key sent in `X-API-Key` or as a Bearer token and carrying the exact `conversations:read` scope. API-key access also requires the Automation & API module (`automation_api`). Authorized dashboard sessions remain supported where the route already permits them. The request is isolated to the authenticated organization. Resource and site/project identifiers must belong to that organization; out-of-scope identifiers are not disclosed. Retry behavior: This read-only operation is safe to retry.