GET - Get call logs and recording/voicemail
Purpose
Use this API to get call logs with recordings or voicemail files.
Note
- This API is used to fetch both recording and voicemail files. Set boolean value to the below mentioned respective keys to get respective files.
- Threshold for this url - 30 calls per min and lock period is 10 min.
Authorization
HeaderKey | Description |
Authorization* | Zoho-oauthtoken<space><ACCESS_TOKEN> |
Accept* | Set to application/json. |
Request URL
Method: GET
| https://voice.zoho.com/rest/json/zv/logs |
Scope: ZohoVoice.call.READ
Parameters:
Param Name | DataType | Description |
from | Number | Represents the starting index for retrieving records. |
size | Number | Represents the number of records to be returned. |
fromDate | String | Represents the date from which logs are returned. |
toDate | String | Represents the date until which logs are returned. |
numberIds | Long | Represents the unique ID of the number used to filter logs. |
userNumber | Only Numbers | Represents the number used to filter by number and country. You can specify just the country code or include it with the full number. Set the isAllCountry key to false when providing a specific country code or number.
userNumber: 44 |
agent | Long | Represents the unique ID of the agent used to filter logs. |
callType | String | Represents the call type used to filter call logs. Possible values: incoming, outgoing, missed, bridged, forward.
Note: Default value is ALL call types. |
feedback | Integer | Represents the feedback rating used to filter call logs. |
contact_name | String | Represents the contact name used to filter call logs. |
isAllCountry | Boolean | Represents whether call logs are retrieved without applying a country filter. When set to true, country-based filtering is not applied. |
isVoiceMail | Boolean | Represents whether call logs with voicemail are retrieved. When set to true, only call logs with voicemail are returned. |
isRecording | Boolean | Represents whether call logs with recordings are retrieved. When set to true, only call logs with recordings are returned.
Note: If both isVoiceMail and isRecording are set to false, all call recordings are returned. |
departmentId | Only Numbers | Represents the department ID used to filter call logs. Accepts a single value or comma-separated values.
Example: 612000000, 612000000 |
groupIds | Only Numbers | Represents the queue ID used to filter call logs. Accepts a single value or comma-separated values.
Example: 61200000,612000000 |
campaignId | String | Represents the (power dialer) campaign ID used to retrieve call logs associated with the campaign. |
Sample Request
Copiedcurl --location \
'https://voice.zoho.com/rest/json/zv/logs?from=0&size=100&fromDate=&toDate=&agent=&callType=&numberIds=&userNumber=&isAllCountry=true&isVoiceMail=false&isRecording=false&departmentId=&groupIds=' \
--header 'Authorization: Zoho-oauthtoken <YOUR_OAUTH_TOKEN>'Sample Response - Success
Copied{
"meta": {
"total": 2
},
"logs": [
{
"answer_time": "1764831299000",
"sip_hangup_disposition": "send_bye",
"agent_number": "John",
"number_id": "198000002125031",
"isBlocked": false,
"did_number": "+1 2342316236",
"destination_name": "Telnyx",
"hangup_cause_displayname": "Successful call",
"duration": "00:54",
"caller_id_number": "+1 7208914892",
"zsoid": "862937118",
"department": "zohotest",
"call_type": "incoming",
"caller_id_name": "Zoho",
"destination_number": "+1 2342316236",
"call_recording_transcription_status": "not_initiated",
"end_time": "1764831353000",
"is_test_call": false,
"user_number": "+1 7208914892",
"disconnected_by": "agent",
"start_time": "1764831298000",
"hangup_cause_description": "Call was accepted by the user and got connected successfully.",
"bridged_agent": {
"agent": "John",
"domain": "voice.zoho.com",
"time": "1764831302000",
"uuid": "62d0b713-caaf-455d-8579-a7ff950502fb",
"user_agent": "web"
},
"voice_credits": {
"voice": 0,
"free_minutes": 1,
"total": 0
},
"voicemail_read_by": false,
"service": 58399000000003016,
"logid": "c3d87e71-70bc-4ebd-a1d1-b625b2d0848f",
"hangup_cause": "NORMAL_CLEARING"
},
{
"answer_time": "1764831273000",
"sip_hangup_disposition": "send_bye",
"agent_number": "John",
"number_id": "198000002125031",
"isBlocked": false,
"did_number": "+1 2342316236",
"hangup_cause_displayname": "Successful call",
"duration": "00:16",
"caller_id_number": "+1 2342316236",
"zsoid": "862937118",
"department": "zohotest",
"call_type": "outgoing",
"caller_id_name": "Telnyx",
"destination_number": "+1 3026012351",
"call_recording_transcription_status": "not_initiated",
"end_time": "1764831289000",
"is_test_call": false,
"user_number": "+1 3026012351",
"disconnected_by": "agent",
"start_time": "1764831272000",
"hangup_cause_description": "Call was accepted by the user and got connected successfully.",
"voice_credits": {
"voice": 0,
"free_minutes": 1,
"total": 0
},
"voicemail_read_by": false,
"service": 58399000000003016,
"logid": "ce723535-bdf2-4fd3-b9bd-870e9d12988c",
"hangup_cause": "NORMAL_CLEARING"
}
],
"status": "200"
}Sample Response - Error
Copied{
"code": "ZVT010",
"message": "Extra parameter found.",
"status": "ERROR"
}