Skip to main content

Install

Runs in Node 18+, Deno, Bun, and modern browsers (though you probably don’t want to call the API from a browser — the key would be exposed).

Quickstart

Verifying webhooks

Rate-limit handling

The client auto-retries 429s up to 3 times, respecting Retry-After:

Error handling

Types

Every request + response is typed. Hover in VS Code for docs on each field.

OAuth helpers

For partner apps that act on behalf of individual Yotel users, the SDK ships PKCE-ready OAuth helpers — works in browser + Node.
JWTBearerFlow is Node-only (it signs with node:crypto). Browser bundles that only use the authorization-code flow won’t include any Node-specific imports. See OAuth 2.0 for the full flow reference.

Recordings

Access call recordings — signed URLs, raw bytes, or streamed.
getSignedUrl requires calls:read scope. fetchBytes, download, and streamTo require the separate recordings:download scope.
See Recordings API for response details.

Voice agents

Full CRUD for voice agent routing aliases.
See Voice agents CRUD and Voice agent defaults.

AI sessions

Control active voice AI sessions with typed verb methods.
All 25 control verbs are available as typed methods: transfer, hangup, log, mute, unmute, hold, unhold, sendDtmf, playAudio, setDisposition, recordingPause, recordingResume, getCallState, conferenceStart, conferenceAdd, conferenceRemove, conferenceLeave, requestSupervisor, whisper, barge, monitorStart, monitorStop, setLeadField, setLeadStatus, scheduleCallback. See AI sessions and the Control API reference for verb parameters.

Additional error types

Beyond the base errors, voice agent and AI session operations can throw:
See Error reference for details.

Source

github.com/kamal-zetta/dialer/tree/main/sdks/typescript