Para agentes de IA: markdown desta página — /docs-content-en/telephony/lines.md índice da documentação — /llms.txt
Os artigos da documentação estão disponíveis atualmente em inglês.
Lines
Create, update, and delete an application's external lines, plus read the list of lines rented from Voximplant or connected over SIP.
Bitrix24 API: telephony.externalLine.*, voximplant.line.get
Scope: telephony
List application lines
GET /v1/telephony-lines
Returns the list of external lines added by the application via POST /v1/telephony-lines. The list is returned in full — filtering, sorting, and offset are not supported and are rejected with 400; select the line you need on the client side.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
select (query) |
string | — | Field selection in camelCase: ?select=number,name |
limit (query) |
number | 50 |
Number of records (up to 5000) |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/telephony-lines" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/telephony-lines" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/telephony-lines', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(`Found ${meta.total} lines`)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/telephony-lines', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of lines |
data[].number |
string | Line identifier set at creation |
data[].name |
string | null | Display name. null if not set at creation |
data[].crmAutoCreate |
boolean | Auto-create a CRM entity on an outbound call through this line: true — create, false — do not create |
meta.total |
number | Total number of application lines |
meta.hasMore |
boolean | Whether more records exist beyond limit |
Response example
HTTP 200, empty list:
{"success":true,"data":[],"meta":{"total":0,"hasMore":false}}
HTTP 200, one line:
{
"success": true,
"data": [
{
"number": "doc-test-line-001",
"name": "Test line (audit)",
"crmAutoCreate": true
}
],
"meta": {
"total": 1,
"hasMore": false
}
}
Error response example
403 — no scope:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'telephony' scope"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | UNSUPPORTED_FILTER |
A filter was passed — the Bitrix24 method does not support filtering |
| 400 | INVALID_SORT_FIELD |
A sort was passed — the Bitrix24 method does not support sorting |
| 400 | UNSUPPORTED_OFFSET |
A non-zero offset was passed — the Bitrix24 method has no pagination |
| 401 | MISSING_API_KEY |
The X-Api-Key header was not provided |
| 401 | INVALID_API_KEY |
Invalid API key |
| 401 | TOKEN_MISSING |
The key has no configured tokens |
| 401 | KEY_INACTIVE |
The API key is inactive or revoked |
| 403 | SCOPE_DENIED |
The key lacks the telephony scope |
| 429 | RATE_LIMITED |
Request rate limit exceeded |
| 502 | BITRIX_UNAVAILABLE |
Bitrix24 is unavailable |
Full list of common API errors — Errors.
Known specifics
Only this application's lines. The list contains lines created via POST /v1/telephony-lines under the current API key. Lines rented from Voximplant or connected over SIP are available via GET /v1/voximplant-lines.
Filtering, sorting and offset are rejected. The Bitrix24 method behind this list takes no input parameters at all, so a filter responds 400 UNSUPPORTED_FILTER, a sort responds 400 INVALID_SORT_FIELD and a non-zero offset responds 400 UNSUPPORTED_OFFSET. Previously all three were accepted without error and silently ignored. The filter refusal is also raised on POST /v1/telephony-lines/search, POST /v1/telephony-lines/aggregate and in sub-calls of both batch endpoints. The sort and offset refusals are raised on POST /v1/telephony-lines/search and in a sub-call of the global POST /v1/batch, and the aggregate endpoint reads neither parameter. limit (caps the count) and select (picks fields in camelCase) do work; the application's collection of lines arrives whole in a single page, so filter, sort and paginate it on your side.
All response fields are in camelCase, including crmAutoCreate (boolean). Previously this field came back in UPPER_SNAKE_CASE as the string "Y"/"N" — since 07.2026 it is normalized to a camelCase boolean, like the other fields.
serverName is not returned. The field is declared in the field schema but never comes back in the list under any condition — even if it was set at creation (details).