Get voice call logs

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Returns the agent's voice call logs, newest first, with pagination and filtering by call attributes (status, from/to number), request attributes (client reference, template, request id) and date range. Rate limited to 40 requests per minute.

Endpoint

get /voice/logs

Request URL

https://cpaas.zoho.com/v1.1/voice/logs Copied!

Request Parameters

- Request Headers

ApiKeyAuthAPI Key

API key of an agent. Send the header as Authorization: Zoho-enczapikey {apiKey}. The agent and account are derived from the key.

- Query Parameters

offsetintegerOptional

Zero-based offset for pagination.

Default Value :0Copied!
limitintegerOptional

Maximum number of log entries to return.

Default Value :10Copied!
message_iduuidOptional

Returns the call logs associated with the specific message id.

statusstringOptional

Returns the call logs based on the provided call status (case-insensitive).

Allowed Values :
Show Values ▾
INITIATEDCopied!
ANSWEREDCopied!
CALL_REJECTEDCopied!
CALL_UNANSWEREDCopied!
CALL_FAILEDCopied!
PROCESS_FAILEDCopied!
UNKNOWNCopied!
Copied!Copy all as JSON Array
fromstring(length: 8-20)Optional

Returns the call logs based on the provided from voice number (with country code).

Minimum Length :8Copied!
Maximum Length :20Copied!
tostring(length: 8-20)Optional

Returns the call logs based on the provided recipient number (with country code).

Minimum Length :8Copied!
Maximum Length :20Copied!
client_referencestring(length <= 100)Optional

Returns the call logs based on the provided client reference supplied during the call initiation.

Maximum Length :100Copied!
template_keystring(length <= 50)Optional

Returns the call logs based on the provided voice template key.

Maximum Length :50Copied!
template_aliasstring(length <= 50)Optional

Returns the call logs based on the provided voice template alias.

Maximum Length :50Copied!
request_idstring(length <= 200)Optional

Returns the call logs based on the provided by the request id returned while calling the Place a call API.

Maximum Length :200Copied!
date_fromdate-timeOptional

Start of the date range - an ISO 8601 date-time with UTC offset.

date_todate-timeOptional

End of the date range - an ISO 8601 date-time with UTC offset.

Sample Request

Curl
Java
Python
Deluge
Copied!
curl --request GET \
  --url 'https://cpaas.zoho.com/v1.1/voice/logs?offset=SOME_INTEGER_VALUE&limit=SOME_INTEGER_VALUE&message_id=SOME_STRING_VALUE&status=SOME_STRING_VALUE&from=SOME_STRING_VALUE&to=SOME_STRING_VALUE&client_reference=SOME_STRING_VALUE&template_key=SOME_STRING_VALUE&template_alias=SOME_STRING_VALUE&request_id=SOME_STRING_VALUE&date_from=2026-09-22T00:00:00+05:30&date_to=2026-09-22T23:59:59+05:30' \
  --header 'Authorization: REPLACE_KEY_VALUE'

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object

Response containing a page of voice call logs.

Show Sub-Attributes
metadataJSON Object
Show Sub-Attributes
offsetinteger
countinteger

Number of entries in this page.

dataJSON Array
Show Sub-Attributes
object

A voice call log entry.

message_iduuid

Unique identifier of the call.

request_idstring

Identifier of the send request.

client_referencestring

Client reference supplied at send time, if any.

template_keyuuid

Key of the voice template used, for template calls.

agent_idstring

Identifier of the voice agent.

fromstring

Caller number, without the country code.

from_country_codestring

Country calling code of the caller number.

tostring

Recipient number, without the country code.

to_country_codestring

Country calling code of the recipient number.

statusstring

Call status.

Allowed Values :
Show Values ▾
INITIATEDCopied!
ANSWEREDCopied!
CALL_REJECTEDCopied!
CALL_UNANSWEREDCopied!
CALL_FAILEDCopied!
PROCESS_FAILEDCopied!
UNKNOWNCopied!
Copied!Copy all as JSON Array
process_statestring

Processing state of the request.

remote_ipstring

IP address the send request was made from.

languagestring

Text-to-speech language of the call.

voice_genderstring

Text-to-speech voice of the call.

is_batch_requestboolean
is_call_recording_availableboolean

Whether a recording of the call is available.

request_timestring

When the send request was received (ISO 8601).

start_timestring

When the call started (ISO 8601).

answered_timestring

When the call was answered (ISO 8601). Present only for answered calls.

end_timestring

When the call ended (ISO 8601).

time_takeninteger

Duration in seconds.

statusstring

- HTTP code 401

Response Body - application/json
JSON Object

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
errorJSON Object
Show Sub-Attributes
codestring
messagestring
detailsJSON Array
Show Sub-Attributes
object

A single validation or denial detail inside the error envelope.

codestring

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).

messagestring
targetstring

The field the detail refers to, when applicable (e.g. from, to, merge_info).

target_value

The offending value, or for VOI_106 the comma-separated list of missing merge tag names.

request_idstring

Identifier of the failed request, when available.

Sample Response: HTTP 200

Copied!
  {
    "metadata": {
      "offset": 0,
      "count": 1
    },
    "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",
        "agent_id": "3cca5d24c08773",
        "from": "4155550142",
        "from_country_code": "+1",
        "to": "9876543210",
        "to_country_code": "+91",
        "status": "CALL_UNANSWERED",
        "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",
        "start_time": "2026-09-22T15:59:30+05:30",
        "end_time": "2026-09-22T15:59:44+05:30",
        "time_taken": 13
      }
    ],
    "status": "success"
  }
                
▼ Show full

Sample Response: HTTP 401

Copied!
  {
    "error": {
      "code": "TM_4001",
      "details": [
        {
          "code": "SERR_157",
          "message": "Invalid API Token found"
        }
      ],
      "message": "Access Denied"
    }
  }
                
▼ Show full