For AI agents: markdown of this page — /docs-content-en/entities/crm-forms/openlines.md documentation index — /llms.txt
List Open Channels for a form
GET /v1/crm-forms/:id/openlines
Returns the Open Channels in the Bitrix24 account and their association with the selected CRM form.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Parameterid (path) |
Typenumber | Requiredyes | Default— | DescriptionPositive integer form ID. Source: List CRM forms |
Parameterlimit (query) |
Typenumber | Requiredno | DefaultBitrix24 default | DescriptionRequested page size. Bitrix24 validates the value |
Parameteroffset (query) |
Typenumber | Requiredno | DefaultBitrix24 default | DescriptionRequested offset. Bitrix24 validates the value |
Parameterorder / sort (query) |
Typeobject / string | Requiredno | DefaultBitrix24 default | DescriptionSort by ID: order[id]=desc or sort=-id |
Pagination: each request retrieves one page. Omit limit and offset to use the Bitrix24 defaults. Either parameter can be sent separately. Pages are not fetched automatically. select is not supported.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/crm-forms/91/openlines?sort=-id" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/crm-forms/91/openlines?sort=-id" \
-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/crm-forms/91/openlines?sort=-id', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(data)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/91/openlines?sort=-id', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
console.log(data)
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of Open Channels |
Fielddata[].formId |
Typenumber | DescriptionRequested form ID. Source: List CRM forms |
Fielddata[].id |
Typenumber | DescriptionOpen Channel ID from this list |
Fielddata[].name |
Typestring | DescriptionName as returned by Bitrix24. Only credentials of the current connection are replaced, with paths listed in meta.redacted |
Fielddata[].bound |
Typeboolean | DescriptionWhether the item is associated with the requested form |
Fielddata[].welcomeFormEnabled |
Typeboolean | DescriptionWhether the welcome form is enabled |
Fielddata[].welcomeFormId |
Typenumber | null | DescriptionWelcome form ID. null when there is no welcome form. Source: List CRM forms |
Fielddata[].welcomeFormDelayed |
Typeboolean | DescriptionWhether the welcome form is shown with a delay |
Fielddata[].previewUrl |
Typestring | null | DescriptionPublic preview URL, returned unchanged. null when no preview is available |
Fieldmeta.limit |
Typenumber | DescriptionPage size when supplied in the Bitrix24 response |
Fieldmeta.offset |
Typenumber | DescriptionOffset when supplied in the Bitrix24 response |
Fieldmeta.total |
Typenumber | DescriptionTotal record count. Omitted when the source does not supply a count |
Fieldmeta.redacted |
Typestring[] | DescriptionPaths where current connection credentials were replaced |
Response example
The first two items are shown. Public domains and signatures are placeholders.
{
"success": true,
"data": [
{
"formId": 91,
"id": 59,
"name": "Support",
"bound": false,
"welcomeFormEnabled": true,
"welcomeFormId": 25,
"welcomeFormDelayed": true,
"previewUrl": null
},
{
"formId": 91,
"id": 45,
"name": "Sales",
"bound": false,
"welcomeFormEnabled": true,
"welcomeFormId": 25,
"welcomeFormDelayed": true,
"previewUrl": null
}
]
}
Error response example
400 — the form ID is not a positive integer:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "id must be a positive safe integer"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptionThe form id is not a positive integer |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionUnknown query parameter, or an invalid order or sort structure |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionBoth order[...] and sort were supplied |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionBitrix24 rejected the sorting or the pagination, for example a non-numeric limit or offset. The original code is in error.b24Code and field diagnostics are in error.validation |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionBitrix24 credentials are missing or no OAuth session was provided |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the crm scope |
| HTTP403 | CodeBITRIX_ACCESS_DENIED |
DescriptionThe Bitrix24 user lacks read permission |
| HTTP409 | CodeCRM_FORM_REST_NOT_ENABLED |
DescriptionCRM form REST methods are disabled on the Bitrix24 account. The original code for the missing method is in error.b24Code |
| HTTP403 | CodeBITRIX_INSUFFICIENT_SCOPE |
DescriptionThe Bitrix24 token lacks the required scope. The original code is in error.b24Code |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionForm not found |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 rejected the request |
| HTTP429 | CodeRATE_LIMITED |
DescriptionRate limit exceeded. Retry after the interval in Retry-After |
| HTTP502 | CodeBITRIX_UNAVAILABLE |
DescriptionBitrix24 is unavailable or returned an invalid response |
| HTTP503 | CodeBITRIX_TIMEOUT |
DescriptionBitrix24 did not respond within the time limit. Retry the read after the interval in Retry-After |
Errors from Bitrix24 include the original error.b24Code and field diagnostics in error.validation, when supplied. For common API errors, see Errors.
Known specifics
The list includes all Open Channels in the Bitrix24 account, including items with bound: false. To select items associated with the form, keep entries with bound: true in the response array. A bound query parameter is not supported.
Requires the crm scope. Keys in READONLY mode can use this endpoint. Reading does not change item settings.