---
title: "Dial from the browser softphone"
method: POST
path: "/v1/voice/calls/web/dial"
tags: ["Voice"]
---

# Dial from the browser softphone

`POST /v1/voice/calls/web/dial`

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.

## Request body

- object
  - `to` string, required — The number to call, E.164 with leading +.
  - `credentialId` string, required — The WebRTC credential id returned by POST /v1/voice/calls/web (the registered browser).
  - `fromNumber` string — Which of your voice-enabled numbers to call from (optional when you have one).
  - `recordOverride` boolean

## Response `200`

Call originated; answer/bridge continue asynchronously.

- object
  - `success` boolean
  - `callId` string
  - `telnyxCallControlId` string
  - `status` 'dialing'
  - `direction` 'outbound'
  - `from` string
  - `to` string
  - `recordingEnabled` boolean

## Other responses

- `401` — Unauthorized
- `422` — Invalid or unknown WebRTC credential, or no voice-enabled number matches `fromNumber`
- `429` — Outbound call limit reached (per rolling hour).
- `502` — Carrier-side originate failed

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/versions/f81ca70ea6b9/schema)
