๐Ÿ“ง sales@zvmsindustries.com

๐Ÿ“ž 833.208.0002

API Docs / Endpoints / Call History

Call History

Call history records describe every call that passes through your phone system: its direction, its status, and when it started. Use these endpoints to list and filter calls, then drill into any single call to see its full call flow.

List Call History

Returns the call history for your domain. Add query parameters to filter by date range, direction, and status.

GEThttps://admin.zvmstelecom.net/api/v1/domains/{DOMAIN_UUID}/cdrs

Path parameters

DOMAIN_UUIDstring (UUID)Required

Your domain's UUID, provided with your API credentials.

Query parameters Beta

limitintegerOptional

Maximum number of results in the response, from 1 to 500. Defaults to 500.

directionstringOptional

Filter by call direction. Accepted values:

inboundoutboundlocal
statusstringOptional

Filter by call status. Accepted values:

answeredno answercancelledvoicemailmissed callabandoned

Values containing spaces must be URL-encoded: use no%20answer and missed%20call.

date_fromintegerOptional

Start of the date range, as a Unix epoch timestamp in seconds (UTC). Example: 1784617200

date_tointegerOptional

End of the date range, as a Unix epoch timestamp in seconds (UTC). Example: 1784703599

Example request

cURL
curl -s "https://admin.zvmstelecom.net/api/v1/domains/${DOMAIN_UUID}/cdrs?date_from=1784617200&date_to=1784703599&status=answered&direction=inbound" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Accept: application/json" |
  python3 -m json.tool

Response

Returns a JSON list of call records. These fields are the ones referenced throughout these docs:

FieldDescription
xml_cdr_uuidUnique ID of the call. Use it with Retrieve a Call Flow and Recording URL.
start_epochTime the call started, as a Unix epoch timestamp in seconds.
directionCall direction: inbound, outbound, or local.
statusCall status, for example answered or voicemail.
โ†•๏ธ

Sort order. Records come back in alphabetical order of each call's UUID, not by time. To list calls newest to oldest, sort the results on start_epoch in descending order.

Example: Today's Answered Calls

To get every answered inbound call for one day, combine a date range with the status and direction filters.

GEThttps://admin.zvmstelecom.net/api/v1/domains/{DOMAIN_UUID}/cdrs?date_from=1784617200&date_to=1784703599&status=answered&direction=inbound
ParameterValueMeaning
date_from1784617200July 21, 2026, 12:00:00 AM Pacific Time (PDT)
date_to1784703599July 21, 2026, 11:59:59 PM Pacific Time (PDT)
statusansweredOnly calls that were answered
directioninboundOnly incoming calls

The response contains every answered inbound call on July 21, 2026, Pacific Time. To check timestamps by hand while testing, use an epoch converter.

Generating a day's epoch range

The date_from and date_to values are in UTC, so a "day" depends on your time zone. This Bash script prints the start and end of today in a given time zone. It needs GNU date (standard on Linux).

Bash โ€” time zone epoch generator
TIMEZONE="America/Los_Angeles"

TODAY=$(TZ="$TIMEZONE" date +"%Y-%m-%d")

START_TIME=$(TZ="$TIMEZONE" date -d "$TODAY 00:00:00" +%s)
END_TIME=$(TZ="$TIMEZONE" date -d "$TODAY 23:59:59" +%s)

echo "PST date: $TODAY"
echo "PST Start time: $START_TIME"
echo "PST End time:   $END_TIME"

Pass the output straight into a request:

cURL
curl -s "https://admin.zvmstelecom.net/api/v1/domains/${DOMAIN_UUID}/cdrs?date_from=${START_TIME}&date_to=${END_TIME}&status=answered&direction=inbound" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Accept: application/json" |
  python3 -m json.tool

Retrieve a Call Flow

Returns a single call's call flow, tracing where the call went from start to finish. Depending on where the call went, each step includes more specific details than the List Call History response.

GEThttps://admin.zvmstelecom.net/api/v1/domains/{DOMAIN_UUID}/cdrs/{XML_CDR_UUID}

Path parameters

DOMAIN_UUIDstring (UUID)Required

Your domain's UUID, provided with your API credentials.

XML_CDR_UUIDstring (UUID)Required

The call's ID, taken from the xml_cdr_uuid field of a List Call History result.

Example request

cURL
XML_CDR_UUID="YOUR_XML_CDR_UUID"

curl -s "https://admin.zvmstelecom.net/api/v1/domains/${DOMAIN_UUID}/cdrs/${XML_CDR_UUID}" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Accept: application/json" |
  python3 -m json.tool
๐Ÿ”—

Every step in a call flow that has a status, such as answered, also appears as its own record in the List Call History response. The call flow shows how those records connect into one call.