Dial from the browser softphone
Step 2 of the browser softphone handshake: places an outbound call
whose answered leg is bridged to the browser registered with the
credential from POST /v1/voice/calls/web. The call runs through the
normal outbound lane, so it is logged as outbound (from = your number,
to = target) and recorded per the number's settings.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.voice.dialVoiceWebCall({ body: { to: 'string', credentialId: 'credential_abc123', },});console.log(data);{ "success": true, "callId": "string", "telnyxCallControlId": "string", "status": "dialing", "direction": "outbound", "from": "string", "to": "string", "recordingEnabled": true}Mint a browser softphone session
Step 1 of the two-step browser softphone handshake. Mints a WebRTC session (token + credential) the browser registers with the `@telnyx/webrtc` SDK. Once registered, call `POST /v1/voice/calls/web/dial` with the returned `credentialId` to place the call. The split avoids bridging to a browser that has not finished registering. The token lives ~1 hour (it must outlive the whole call, not only the handshake).
Enable phone calling on a number
Turns on regular phone (PSTN) calling for one of your numbers and configures how inbound calls are handled. Inbound calls route to `forwardTo`: your own AI voice agent (Vapi/Retell), a phone, or a SIP endpoint. Optional extras: voicemail, business-hours windows, an IVR menu, a caller blocklist, recording, and transcription. A number can also be voice-enabled with no forward (outbound-only). Idempotent, and doubles as the settings update: only fields present in the body are written. Omitting `forwardTo` preserves the current destination; sending an empty string clears it.