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 robotic call campaigns.

Request fields (body)

Parameter Type Required Default Description
fromLine string yes Outbound call line ID. List of lines — GET /v1/voximplant-lines
toNumber string yes Phone number in international format
textToPronounce string yes Text for speech synthesis
voice string no account language voice Voice 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
result boolean true when the call is initiated successfully
callId string Identifier 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
400 MISSING_PARAMS fromLine, toNumber, or textToPronounce not provided
401 MISSING_API_KEY X-Api-Key header not provided
401 INVALID_API_KEY Invalid API key
401 TOKEN_MISSING The key has no configured Bitrix24 tokens
401 KEY_INACTIVE API key is inactive or revoked
403 SCOPE_DENIED The key lacks the telephony scope
422 BITRIX_ERROR Bitrix24 returned an error (message in error.message)
429 RATE_LIMITED Request limit exceeded
502 BITRIX_UNAVAILABLE Bitrix24 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. An attempt to use the Bitrix24 account base line instead of a dedicated one 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