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.

Scope: ZohoVoice.call.READ 


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.


Example: 

userNumber: 44
isAllCountry: false

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"
}