Get voice call details
Returns the complete details of a single voice call, including the timeline, the rendered IVR flow (nodes, prompts, keypad edges) and, when applicable, the template used for a specific message id.
Endpoint
Request URL
https://cpaas.zoho.com/v1.1/voice/logs/{message_id} Copied!
Request Parameters
- Request Headers
API key of an agent. Send the header as Authorization: Zoho-enczapikey {apiKey}. The agent and account are derived from the key.
- Path Parameters
Unique identifier of the voice call, as returned by the send API (data.message_id) or the logs API.
Sample Request
curl --request GET \
--url https://cpaas.zoho.com/v1.1/voice/logs/7ed0c6c0-b670-11f1-8810-3ed350183096 \
--header 'Authorization: REPLACE_KEY_VALUE'Response Parameters
- HTTP code 200
Response Body - application/json
Response containing the details of a single voice call.
Show Sub-Attributes
A voice call log entry.
Unique identifier of the call.
Identifier of the send request.
Client reference supplied at send time, if any.
Key of the voice template used, for template calls.
Identifier of the voice agent.
Caller number, without the country code.
Country calling code of the caller number.
Recipient number, without the country code.
Country calling code of the recipient number.
Call status.
Processing state of the request.
IP address the send request was made from.
Text-to-speech language of the call.
Text-to-speech voice of the call.
Whether a recording of the call is available.
When the send request was received (ISO 8601).
When the call started (ISO 8601).
When the call was answered (ISO 8601). Present only for answered calls.
When the call ended (ISO 8601).
Duration in seconds.
Name of the voice template used, for template calls.
Chronological call events. For calls that failed initiation (status PROCESS_FAILED) only request_received is present.
The IVR flow executed for the call: named nodes with spoken/paused prompts (and optional keypad gather settings), edges that map keypad input to the next node, the start node and the overall duration limit.
Show Sub-Attributes
Maximum call duration in seconds.
Name of the node the call starts at.
Default text-to-speech language of the flow.
Flow nodes keyed by node name. Each node has display name, terminal flag, prompts (SPEAK text / PAUSE duration) and optional gather settings (num_digits, timeout, loops) for keypad input.
Transitions between nodes: from node, to node and the keypad input (or timeout/*) that triggers the transition.
Why an accepted message failed asynchronously. Present only on failed messages (voice status PROCESS_FAILED, sms status process_failed).
Show Sub-Attributes
Failure code (e.g. voice VOI_502, sms SMS_108).
Failure message.
The same failure information serialized as a JSON string.
- HTTP code 401
Response Body - application/json
Error response wrapper. The top-level code identifies the error class: TM_3301 bad syntax (400), TM_4001 access denied (401), TM_3601 request denied (403), TM_3501 unprocessable entity (422).
Show Sub-Attributes
Show Sub-Attributes
Show Sub-Attributes
A single validation or denial detail inside the error envelope.
Detail-level error code, e.g. VOI_102 (invalid phone number), VOI_104 (caller id required), VOI_105 (template or message content required), VOI_106 (required merge tags missing), MTR_107 (template not found), VOI_207 (from number not associated with the sending agent), SERR_110 (required parameter missing), SERR_157 (invalid API token).
The field the detail refers to, when applicable (e.g. from, to, merge_info).
The offending value, or for VOI_106 the comma-separated list of missing merge tag names.
Identifier of the failed request, when available.
- HTTP code 403
Response Body - application/json
Error response wrapper. The top-level code identifies the error class: TM_3301 bad syntax (400), TM_4001 access denied (401), TM_3601 request denied (403), TM_3501 unprocessable entity (422).
Show Sub-Attributes
Show Sub-Attributes
Show Sub-Attributes
A single validation or denial detail inside the error envelope.
Detail-level error code, e.g. VOI_102 (invalid phone number), VOI_104 (caller id required), VOI_105 (template or message content required), VOI_106 (required merge tags missing), MTR_107 (template not found), VOI_207 (from number not associated with the sending agent), SERR_110 (required parameter missing), SERR_157 (invalid API token).
The field the detail refers to, when applicable (e.g. from, to, merge_info).
The offending value, or for VOI_106 the comma-separated list of missing merge tag names.
Identifier of the failed request, when available.
Sample Response: HTTP 200
{
"data": {
"message_id": "7ed0c6c0-b670-11f1-8810-3ed350183096",
"request_id": "7ed0c6c0-b670-11f1-8810-3ed350183096",
"client_reference": "order-confirm-1001",
"template_key": "794dc9c1-b268-11f1-bed6-b6d94062a427",
"template_name": "Order Confirmation",
"agent_id": "3cca5d24c08773",
"from": "4155550142",
"from_country_code": "+1",
"to": "9876543210",
"to_country_code": "+91",
"status": "INITIATED",
"process_state": "processed",
"language": "en",
"voice_gender": "FEMALE",
"is_batch_request": false,
"is_call_recording_available": false,
"request_time": "2026-09-22T15:59:30+05:30",
"time_taken": 147,
"call_timeline": [
{
"time": "2026-09-22T15:59:30+05:30",
"event": "request_received"
}
],
"flow": {
"max_duration_in_sec": 120,
"start_node": "confirm_prompt",
"default_language": "en",
"nodes": {
"confirm_prompt": {
"name": "Confirm Prompt",
"terminal": false,
"gather": {
"loops": 2,
"num_digits": 1,
"timeout": 5
},
"prompts": [
{
"type": "SPEAK",
"text": "Hello {{customer_name}}. Press 1 to confirm your order. Press 2 to cancel."
}
]
},
"confirm_order": {
"name": "Confirm Order",
"terminal": true,
"prompts": [
{
"type": "SPEAK",
"text": "Your order is confirmed. Goodbye."
}
]
}
},
"edges": [
{
"from": "confirm_prompt",
"to": "confirm_order",
"on": "1"
}
]
}
},
"status": "success"
}
{
"data": {
"message_id": "9c05e8c0-b1a1-11f1-92cb-2a30dd3b833c",
"request_id": "9c05e8c0-b1a1-11f1-92cb-2a30dd3b833c",
"template_key": "794dc9c1-b268-11f1-bed6-b6d94062a427",
"template_name": "Order Confirmation",
"agent_id": "3cca5d24c08773",
"from": "4155550142",
"from_country_code": "+1",
"to": "9876543210",
"to_country_code": "+91",
"status": "PROCESS_FAILED",
"process_state": "processed",
"language": "en",
"voice_gender": "FEMALE",
"is_batch_request": false,
"is_call_recording_available": false,
"remote_ip": "10.61.232.19",
"error_message": {
"code": "VOI_502",
"message": "Call initiation failed"
},
"error_msg": "{\"code\":\"VOI_502\",\"message\":\"Call initiation failed\"}",
"request_time": "2026-09-22T15:59:30+05:30",
"time_taken": 790,
"call_timeline": [
{
"time": "2026-09-22T15:59:30+05:30",
"event": "request_received"
}
]
},
"status": "success"
}
Sample Response: HTTP 401
{
"error": {
"code": "TM_4001",
"details": [
{
"code": "SERR_157",
"message": "Invalid API Token found"
}
],
"message": "Access Denied"
}
}
Sample Response: HTTP 403
{
"error": {
"code": "TM_3601",
"details": [
{
"code": "SERR_120",
"message": "This URL does not exist"
}
],
"message": "Request Denied"
}
}
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.