Zernio
Zernio
API Reference

Call History

List all calls (unified history)GETGet a call recordingGETGet a call (any channel)GET
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Call History

Get a call (any channel)

Channel-agnostic call detail: works for both WhatsApp and regular phone (PSTN) calls, so any row from GET /v1/calls can be opened without branching on channel. Returns the full call including transcript segments, with contactId/contactName set when the counterparty matches a CRM contact.


GET
/v1/calls/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.calls.getCall({  path: {    id: 'abc123',  },});console.log(data);
{  "call": {    "_id": "string",    "accountId": "string",    "conversationId": "string",    "contactId": "string",    "channel": "whatsapp",    "direction": "inbound",    "from": "string",    "to": "string",    "forwardTo": "string",    "greeting": "string",    "status": "ringing",    "isVoicemail": true,    "amd": true,    "answeredMachine": true,    "forwardCallerId": "business",    "recordingEnabled": true,    "transcriptionEnabled": true,    "transcriptionLanguage": "auto",    "startedAt": "2019-08-24T14:15:22Z",    "answeredAt": "2019-08-24T14:15:22Z",    "endedAt": "2019-08-24T14:15:22Z",    "transferredAt": "2019-08-24T14:15:22Z",    "durationSeconds": 0,    "endReason": "hangup",    "hangupCause": "string",    "sipHangupCause": "string",    "callErrors": [      {        "code": 0,        "message": "string"      }    ],    "recordingUrl": "string",    "lastTranscriptSnippet": "string",    "transcript": [      {        "text": "string",        "confidence": 0,        "at": "2019-08-24T14:15:22Z"      }    ],    "billing": {      "metaMinutes": 0,      "telnyxSeconds": 0,      "transcriptionSeconds": 0,      "transcriptionCostUSD": 0,      "metaCostUSD": 0,      "telnyxCostUSD": 0,      "recordingCostUSD": 0,      "billableCostUSD": 0,      "totalCostUSD": 0,      "currency": "string"    },    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "contactName": "string"  }}
Was this page helpful?

Get a call recording

Channel-agnostic recording fetch: resolves a fresh, playable MP3 URL for any call regardless of channel (provider-signed URLs expire ~10 minutes after signing, so this re-signs on demand). Default responds `302 Found` redirecting to the fresh URL; pass `as=json` to receive `{ url }` instead.

List phone calls

Your PSTN voice calls (inbound + outbound), newest first. Cursor pagination: pass the returned `nextCursor` as `before` for the next page. For a history that also includes WhatsApp calls, use `GET /v1/calls`.