For AI agents: markdown of this page — /docs-content-en/calls.md documentation index — /llms.txt
Calls
Programmatic access to the AI Follow-up of completed Bitrix24 calls: conversation transcript, meeting overview, agreements, tasks and efficiency score.
Scope: call | Base URL: https://vibecode.bitrix24.com/v1 | Authorization: X-Api-Key
What a Follow-up is
A Follow-up is an AI review of an internal call or a meeting between employees: the conversation transcript, the meeting topic, agreements, assigned tasks, participant analysis and an efficiency score. Bitrix24 generates it automatically after the call ends. The methods in this section only read the finished result and create nothing.
A Follow-up is not generated for every call. The blocks that are ready are listed in the outcomes field of the response; the ones that have not been generated come back as null.
This is not the transcript of a call with a client. A conversation with a client logged as a CRM activity is transcribed by a separate mechanism — its text is returned by GET /v1/activities/:activityId/transcript. If the task sounds like "get the text of a conversation with a client for a deal or a lead" — use that endpoint, not this section.
Quick start
List the calls from January that already have a Follow-up:
curl -X POST https://vibecode.bitrix24.com/v1/calls/followups/list \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filter": { "startDate": { "from": "2026-01-01T00:00:00Z", "to": "2026-01-31T23:59:59Z" } },
"pagination": { "limit": 5 }
}'
The response contains an array of calls in data.items and the next-page cursor in data.afterCursor:
{
"success": true,
"data": {
"items": [
{
"callId": 12345,
"callType": 1,
"initiatorId": 7,
"startDate": "2026-01-15T10:00:00+00:00",
"endDate": "2026-01-15T10:42:00+00:00",
"durationSeconds": 2520
}
],
"hasMore": false,
"afterCursor": null
}
}
Full example
Review the outcome of a meeting: find a call for the period, read the overview and agreements, retrieve the tasks.
BASE='https://vibecode.bitrix24.com/v1'
# 1. Calls with a Follow-up for the period → take the identifier of the first one
CALL_ID=$(curl -s -X POST "$BASE/calls/followups/list" \
-H "X-Api-Key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"filter": {"startDate": {"from": "2026-01-01T00:00:00Z", "to": "2026-01-31T23:59:59Z"}},
"order": {"startDate": "desc"}, "pagination": {"limit": 1}}' | jq -r '.data.items[0].callId')
# 2. Meeting overview and agreements
curl -s "$BASE/calls/followups/$CALL_ID?select=overview&mentionFormat=none" \
-H "X-Api-Key: YOUR_API_KEY" | jq '.data.item.overview.topic, .data.item.overview.agreements'
# 3. Tasks assigned during the meeting
curl -s "$BASE/calls/followups/$CALL_ID?select=overview.actionItems&mentionFormat=none" \
-H "X-Api-Key: YOUR_API_KEY" | jq '.data.item.overview.actionItems'
mentionFormat=none removes @-mention markup: the text comes back without the internal tags, ready to pass to an AI model or save to a task.
Endpoint reference
| Method | Path | Bitrix24 method | Description |
|---|---|---|---|
| POST | /v1/calls/followups/list |
call.followup.list | List of Follow-ups for a period with filtering, sorting and cursor navigation |
| GET | /v1/calls/followups/:callId |
call.followup.get | Full Follow-up data for a single call |
Error codes
Section errors
| HTTP | Code | When |
|---|---|---|
| 400 | MISSING_PARAMS |
The request body has no filter object |
| 400 | INVALID_PARAMS |
callId in the path is not a positive integer |
| 400 | INVALID_PARAMS |
Bitrix24 rejected the parameter value. The response additionally contains an error.validation array with the field name |
| 403 | BITRIX_ACCESS_DENIED |
Bitrix24 denied access. A common cause is that the set of scopes the key uses to reach the portal does not include call. The full list of causes and what to do per key type — Errors |
| 422 | METHOD_NOT_YET_AVAILABLE |
The call 26.600.0 update has not been released on the portal yet. The response contains an error.release field set to call 26.600.0 — code details |
| 422 | BITRIX_ERROR |
The request was rejected: invalid date range, unsupported field in select, invalid pagination or order, no access to the call data |
System errors
| HTTP | Code | When | Retry |
|---|---|---|---|
| 401 | MISSING_API_KEY |
The X-Api-Key header is missing |
no |
| 401 | TOKEN_MISSING |
The key has no portal tokens. An OAuth application key requires the Authorization: Bearer header |
no |
| 403 | SCOPE_DENIED |
The key has no call scope |
no |
| 429 | RATE_LIMITED |
Request rate exceeded on the Bitrix24 side | yes, after a delay |
| 429 | QUEUE_OVERFLOW, QUEUE_TIMEOUT |
The portal request queue is full or the request did not get through the queue in time. The Retry-After header indicates the delay |
yes, after Retry-After |
| 503 | BITRIX_TIMEOUT |
Bitrix24 accepted the request but did not respond within 60 seconds | yes: the methods in this section only read data, so a retry is safe |
| 502 | BITRIX_UNAVAILABLE |
Bitrix24 is unavailable | yes, after a delay |
The full list of common API errors — Errors.