For AI agents: markdown of this page — /docs-content-en/telephony/outbound/auto-call.md documentation index — /llms.txt

Start an auto-call with speech synthesis

POST /v1/calls/auto-call

Dials toNumber and, after the call is answered, plays back synthesized text (textToPronounce). No operator is involved. Used for automated notifications, reminders, and robocall campaigns.

Request fields (body)

Parameter Type Required Default Description
ParameterfromLine Typestring Requiredyes Default— DescriptionOutbound call line ID. List of lines — GET /v1/voximplant-lines
ParametertoNumber Typestring Requiredyes Default— DescriptionPhone number in international format
ParametertextToPronounce Typestring Requiredyes Default— DescriptionText for speech synthesis
Parametervoice Typestring Requiredno Defaultvoice for the account language DescriptionVoice ID. List of available voices — GET /v1/calls/voices

Examples

curl — personal key

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/calls/auto-call \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fromLine": "YOUR_LINE_ID",
    "toNumber": "+12025550123",
    "textToPronounce": "Hello! Your order is ready for pickup."
  }'

curl — OAuth application

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/calls/auto-call \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fromLine": "YOUR_LINE_ID",
    "toNumber": "+12025550124",
    "textToPronounce": "Hello! Your order is ready for pickup."
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/calls/auto-call', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fromLine: 'YOUR_LINE_ID',
    toNumber: '+12025550125',
    textToPronounce: 'Hello! Your order is ready for pickup.',
  }),
})

const { success, data } = await res.json()
const callId = data.callId

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/calls/auto-call', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fromLine: 'YOUR_LINE_ID',
    toNumber: '+12025550126',
    textToPronounce: 'Hello! Your order is ready for pickup.',
  }),
})

const { success, data } = await res.json()
const callId = data.callId

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typeobject DescriptionResult of starting the call
Fielddata.result Typeboolean Descriptiontrue when the call is initiated successfully
Fielddata.callId Typestring DescriptionIdentifier of the initiated call with the infocall. prefix

Response example

HTTP 200 — call initiated:

JSON
{
  "success": true,
  "data": {
    "result": true,
    "callId": "infocall.a3f2c1e4b8d06f7a9e2c5d1b4f8a3e06.1777974900"
  }
}

Error response example

400 — required parameters not provided:

JSON
{
  "success": false,
  "error": {
    "code": "MISSING_PARAMS",
    "message": "Required: fromLine (string — ID from GET /v1/voximplant-lines), toNumber (string), textToPronounce (string)"
  }
}

Errors

HTTP Code Description
HTTP400 CodeMISSING_PARAMS DescriptionfromLine, toNumber, or textToPronounce not provided
HTTP401 CodeMISSING_API_KEY DescriptionX-Api-Key header not provided
HTTP401 CodeINVALID_API_KEY DescriptionThe key is not recognized — no such key exists on the platform
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no configured Bitrix24 tokens
HTTP401 CodeKEY_INACTIVE DescriptionAPI key is inactive or revoked
HTTP403 CodeSCOPE_DENIED DescriptionThe key lacks the telephony scope
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 returned an error (message in error.message)
HTTP429 CodeRATE_LIMITED DescriptionRequest limit exceeded
HTTP502 CodeBITRIX_UNAVAILABLE DescriptionBitrix24 is unavailable

Full list of common API errors — Errors.

Known specifics

Default voice. If voice is not specified, Bitrix24 uses the voice matching the Bitrix24 account language. For Russian-language accounts — ruinternalfemale. Full list of available voices — GET /v1/calls/voices.

Monthly limit exceeded. When the auto-call quota is exhausted, Bitrix24 returns BITRIX_ERROR with the message "Infocall limit for this month is exceeded". The quota resets at the start of the next billing period.

Base line is not supported. Using the Bitrix24 account's base line instead of a dedicated line returns BITRIX_ERROR: "Making infocall using LINK_BASE_NUMBER is not allowed".

Record in statistics. After the call ends, it appears in the statistics with CALL_TYPE: "5".

See also