ZVMS Telecom API
The ZVMS Telecom REST API gives your business programmatic, read-only access to its phone system data. Pull your call history, follow a call's path through your system, generate playback links for call recordings, retrieve AI-generated call summaries and transcripts, and receive real-time call events with webhooks.
Beta. API v1 and its query parameters are in beta. Endpoints and response fields may change. We'll tell verified clients about breaking changes before they go live.
Base URL
All endpoints are served over HTTPS from a single base URL:
https://admin.zvmstelecom.net/api/v1
API Access
API tokens are only issued to verified business clients.
Your account must be an active, verified ZVMS Telecom business client before we can issue a token. We don't offer self-service tokens or public sandbox keys. To request access, contact our team and we'll verify your business.
Once verified, you'll receive two credentials:
| Credential | Description |
|---|---|
DOMAIN_UUID | The unique identifier for your business's phone system domain. Every endpoint is scoped to this domain. |
API_TOKEN | Your secret bearer token. Send it with every request to authenticate. |
Keep your token secret. Anyone who has your token can read your call records and recordings. Never put it in client-side code, public repositories, or screenshots. If you think it has been exposed, contact us right away so we can revoke it and issue a new one.
Authentication
Authenticate each request by sending your token in the Authorization header with the Bearer scheme. Also send Accept: application/json so responses come back as JSON.
| Header | Value |
|---|---|
Authorization | Bearer {API_TOKEN} |
Accept | application/json |
The examples in these docs use shell variables, so you can set your credentials once and paste requests as written:
DOMAIN_UUID="YOUR_DOMAIN_UUID" TOKEN="YOUR_API_TOKEN"
Path Placeholders
Endpoint paths in these docs contain placeholders in curly braces. Replace each one, braces included, with your own value.
| Placeholder | Replace with | Where to find it |
|---|---|---|
{DOMAIN_UUID} | Your domain's UUID | Provided with your API credentials |
{XML_CDR_UUID} | The UUID of a specific call | The xml_cdr_uuid field of a record returned by List Call History |
{API_TOKEN} | Your secret bearer token | Provided with your API credentials |
Endpoint Summary
| Method | Endpoint | Description |
|---|---|---|
| GET | /domains/{DOMAIN_UUID}/cdrs | List call history, with optional filters |
| GET | /domains/{DOMAIN_UUID}/cdrs/{XML_CDR_UUID} | Retrieve one call's full call flow |
| GET | /domains/{DOMAIN_UUID}/cdrs/{XML_CDR_UUID}/recording-url | Generate a temporary audio URL for a call recording |
| GET | /domains/{DOMAIN_UUID}/cdrs/{XML_CDR_UUID}/analysis | Retrieve a call's AI-generated summary and transcript |
Quick start
Once your credentials are set, this request lists your domain's call records and pretty-prints the JSON:
curl -s "https://admin.zvmstelecom.net/api/v1/domains/${DOMAIN_UUID}/cdrs?limit=10" \ -H "Authorization: Bearer ${TOKEN}" \ -H "Accept: application/json" | python3 -m json.tool
Call History โ
List and filter calls by date, direction, and status, and trace a single call's flow.
Recording URL โ
Generate a temporary link to stream or download a call recording.
Call Analysis โ
Retrieve the AI-generated summary and speaker-separated transcript for a call.
Webhooks โ
Get real-time notifications when calls ring, are answered, or end.