curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/conversations/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/conversations/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/conversations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "8f14e45f-ceea-467f-a0e6-3f1c2b9d7a10",
"project_id": "3c59dc04-8a4b-4f7e-9b1a-6c2a0e5d1f22",
"platform_id": "RM_kQ3vZx7pLm2T",
"status": "ended",
"hangup_reason": "caller_hangup",
"connected": true,
"direction": "outgoing",
"duration": 95,
"initial_call_id": "1b6453892473a467d07372d45eb05abc",
"initial_agent_id": "6f4922f4-5568-461a-8f1d-9c3b2a1e7d55",
"agent_version_id": "2e1c7a90-4b1d-4c3e-9f2a-7d8e6b5a4c33",
"participant_count": 2,
"allow_recording": true,
"conversation_summary": "Reminder call; the customer confirmed the delivery window.",
"warnings": [],
"transcription_id": null,
"recording_id": null,
"origin": "production",
"csat_score": null,
"csat_source": null,
"campaign_id": "0d6f1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"campaign_item_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"pii_redaction": null,
"pii_redaction_status": null,
"region_profile": null,
"summary_status": "generated",
"call_language": null,
"participants": [
{
"type": "agent",
"agent_id": "6f4922f4-5568-461a-8f1d-9c3b2a1e7d55",
"agent_metrics": null,
"session_id": "AJ_x8Kd2mQp4Vn",
"joined_at": "2026-10-20T09:15:02.000Z",
"left_at": "2026-10-20T09:16:37.000Z",
"artifacts": null
}
],
"anecdote_back_link": null,
"created_at": "2026-10-20T09:15:00.000Z",
"updated_at": "2026-10-20T09:16:38.000Z",
"ended_at": "2026-10-20T09:16:37.000Z"
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Conversation not found"
}Get a conversation
Returns one conversation with its participants (the agent sessions and the calls that took part), status, duration, summary and outcome fields. For the transcript, recording and per-turn detail, use Get conversation artifacts. warnings is always empty on this endpoint; the list endpoint fills it.
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/conversations/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/conversations/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/conversations/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "8f14e45f-ceea-467f-a0e6-3f1c2b9d7a10",
"project_id": "3c59dc04-8a4b-4f7e-9b1a-6c2a0e5d1f22",
"platform_id": "RM_kQ3vZx7pLm2T",
"status": "ended",
"hangup_reason": "caller_hangup",
"connected": true,
"direction": "outgoing",
"duration": 95,
"initial_call_id": "1b6453892473a467d07372d45eb05abc",
"initial_agent_id": "6f4922f4-5568-461a-8f1d-9c3b2a1e7d55",
"agent_version_id": "2e1c7a90-4b1d-4c3e-9f2a-7d8e6b5a4c33",
"participant_count": 2,
"allow_recording": true,
"conversation_summary": "Reminder call; the customer confirmed the delivery window.",
"warnings": [],
"transcription_id": null,
"recording_id": null,
"origin": "production",
"csat_score": null,
"csat_source": null,
"campaign_id": "0d6f1a2b-3c4d-4e5f-8a9b-0c1d2e3f4a5b",
"campaign_item_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"pii_redaction": null,
"pii_redaction_status": null,
"region_profile": null,
"summary_status": "generated",
"call_language": null,
"participants": [
{
"type": "agent",
"agent_id": "6f4922f4-5568-461a-8f1d-9c3b2a1e7d55",
"agent_metrics": null,
"session_id": "AJ_x8Kd2mQp4Vn",
"joined_at": "2026-10-20T09:15:02.000Z",
"left_at": "2026-10-20T09:16:37.000Z",
"artifacts": null
}
],
"anecdote_back_link": null,
"created_at": "2026-10-20T09:15:00.000Z",
"updated_at": "2026-10-20T09:16:38.000Z",
"ended_at": "2026-10-20T09:16:37.000Z"
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "Conversation not found"
}Authorizations
Your organization API key (it starts with anek_org_). The same key works on the Voice API and the Support API. See Authentication.
Response
The conversation.
One interaction with a caller, from start to end. It can span several calls and several agent sessions (participants).
One agent session of the conversation whose agent still exists. A
deleted agent's sessions are not listed here; the artifacts route
(SessionArtifacts, agent_id: null) still serves them.
- Option 1
- Option 2
Show child attributes
Show child attributes
pending (created, nobody connected yet), active (in progress) or ended.
Whether the caller joined. A conversation the caller never joined has no transcript.
Length in seconds.
The agent that took the conversation first.
The agent version that served the conversation.
How the conversation started: production (real traffic), try_it (a test call from the web app), demo (the agent's public demo page) or eval (an evaluation run).
production, try_it, demo, eval Customer satisfaction rating 1-5; null until rated.
1 <= x <= 5Where the rating came from (e.g. try_it_ui, demo_ui, end_call_with_csat).
The organization's personal-data redaction setting as it was when the call started. Null on calls recorded before redaction existed. source: fresh / stale (read at call start, the second from cache), unavailable (could not be read; the call was not redacted), no_org (redaction not configurable for this project).
Show child attributes
Show child attributes
pending and in_progress mean redaction has not finished yet: the conversation's artifacts are withheld until it has. Null reads as not_required.
not_required, pending, in_progress, applied What happened to the conversation's summary: pending (still being written — for up to ten minutes after the call ended), generated (conversation_summary holds the text), skipped (nothing to summarize), failed, or not_enabled (the agent version has summaries off). Null on older calls.
not_enabled, pending, generated, skipped, failed In-call warnings raised on the conversation, most severe first. Filled by the list endpoint; always empty on the single-conversation read.
Show child attributes
Show child attributes
The campaign that placed this call, if any.
The campaign item (recipient) this call belongs to, if any.
The regional deployment profile that served the call; null for the default.
For agents that speak two languages, the language most of the call was held in. Null for single-language agents and older calls.
Link to the conversation and ticket in the Clarity inbox once the call was imported.
Show child attributes
Show child attributes