---
title: "create a call"
method: POST
path: "/Accounts/{AccountSid}/Calls"
tags: ["Calls"]
---

# create a call

`POST /Accounts/{AccountSid}/Calls`

## Path parameters

- `AccountSid` string, required

## Request body

- object
  - `application_sid` string, uuid — The application to use to control this call. Either application_sid or call_hook is required.
  - `answerOnBridge` boolean — If set to true, the inbound call will ring until the number that was dialed answers the call, and at that point a 200 OK will be sent on the inbound leg. If false, the inbound call will be answered immediately as the outbound call is placed.
  - `call_hook` Webhook
    - `webhook_sid` string, uuid
    - `url` string, url, required
    - `method` 'get' | 'post'
    - `username` string
    - `password` string
  - `call_status_hook` Webhook
    - `webhook_sid` string, uuid
    - `url` string, url, required
    - `method` 'get' | 'post'
    - `username` string
    - `password` string
  - `from` string, required — The calling party number
  - `fromHost` string — The hostname to put in the SIP From header of the INVITE
  - `timeout` integer — The number of seconds to wait for call to be answered. Defaults to 60.
  - `timeLimit` integer — The max length of call in seconds
  - `tag` object — Initial set of customer-supplied metadata to associate with the call (see jambonz 'tag' verb)
  - `to` Target, required
    - `type` 'phone' | 'sip' | 'user' | 'teams', required
    - `number` string — A phone number to call (when type is phone)
    - `sipUri` string — A SIP URI to call (when type is sip)
    - `tenant` string — Microsoft Teams customer tenant domain name (when type is teams)
    - `trunk` string — The name of the Carrier that should be used to deliver this call (when type is phone)
    - `vmail` boolean — Dial directly into user's voicemail to leave a message (MS Teams only)
    - `overrideTo` string — A SIP URI that, if provided, will be used as the To header in the outbound INVITE (not needed in most cases)
    - `name` string — The name of a registered jambonz user to call (when type is user)
    - `auth` object
      - `username` string — The username to use for SIP authentication, if challenged
      - `password` string — The password to use for SIP authentication, if challenged
    - `proxy` string — SIP Proxy to use for the outgoing INVITE
  - `headers` object — The customer SIP headers to associate with the call
  - `sipRequestWithinDialogHook` string — The sip indialog hook to receive session messages
  - `speech_synthesis_vendor` string — The vendor for Text to Speech (required if application_sid is not used)
  - `speech_synthesis_language` string — The language for Text to Speech (required if application_sid is not used)
  - `speech_synthesis_voice` string — The voice for Text to Speech (required if application_sid is not used)
  - `speech_recognizer_vendor` string — The vendor for Speech to Text (required if application_sid is not used)
  - `speech_recognizer_language` string — The language for Speech to Text (required if application_sid is not used)
  - `amd` Amd
    - `actionHook` string — Webhook to send AMD events.
    - `thresholdWordCount` number — Number of spoken words in a greeting that result in an amd_machine_detected result.
    - `digitCount` number — Number of digits in a greeting to trigger a amd_machine_detected result. 0 is off
    - `timers` object
      - `decisionTimeoutMs` number — Time in milliseconds to wait before returning amd_decision_timeout.
      - `greetingCompletionTimeoutMs` number — Silence in milliseconds to wait for during greeting before returning amd_machine_stopped_speaking.
      - `noSpeechTimeoutMs` number — Time in milliseconds to wait for speech before returning amd_no_speech_detected.
      - `toneTimeoutMs` number — Time in milliseconds to wait to hear a tone.
  - `dual_streams` boolean — If set to true, jambonz generates an outbound INVITE whose SDP offer contains two audio media streams (two `m=audio` lines) instead of one. This is useful when the far end (for example a carrier or recording system) requires the inbound and outbound audio to be delivered on separate RTP streams. Defaults to false. Supported only when creating a call via the REST API (i.e. not available from the `dial` verb).

## Response `201`

call successfully created

- object
  - `sid` string, uuid, required

## Other responses

- `400` — bad request

## Changes

- **2026-07-02** `f67276990725` — 1 info
  - added the new optional request property `dual_streams`
- **2026-07-02** `904bad4299be` — 1 warning
  - removed the request property `dual_streams`
- **2026-06-26** `c1a852ea7061` — 1 info
  - added the new optional request property `dual_streams`
- **2025-06-05** `022849cade69` — 1 info
  - added the new optional request property `to/proxy`
- **2025-05-19** `a4e4ab345728` — 1 info
  - added the new optional request property `amd`

[Full history](https://skmtc.dev/jambonz/apis/jambonz-api-2/changes/Accounts/:AccountSid/Calls/post.md)

---

[API](https://skmtc.dev/jambonz/apis/jambonz-api-2.md) · [All operations](https://skmtc.dev/jambonz/apis/jambonz-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/jambonz/jambonz-api-2/revisions/f67276990725/schema)
