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