For AI agents: markdown of this page — /docs-content-en/openlines/config/search.md documentation index — /llms.txt
Search Open Channel configurations
POST /v1/openline-configs/search
Returns a list of Open Channel configurations with filtering, sorting, and pagination. Parameters are passed in the request body — more convenient for complex conditions than a query string.
Request fields (body)
| Parameter | Type | Default | Allowed values | Description |
|---|---|---|---|---|
filter |
object | — | keys — the same 6 fields as in sort; values — by field type |
Filtering by schema fields. Available fields — GET /v1/openline-configs/fields.Example: {"active": false} |
limit |
number | 50 |
1–200 |
Number of records per request |
offset |
number | 0 |
0 and above |
Skip N records |
sort |
string | — | id, name, active, queueType, workTimeFrom, workTimeTo |
Sort field |
order |
string | asc |
asc, desc |
Sort direction |
An empty request body returns all configurations — the equivalent of GET /v1/openline-configs with no parameters.
Examples
curl — personal key
curl -X POST "https://vibecode.bitrix24.com/v1/openline-configs/search" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filter": { "active": true },
"limit": 3,
"sort": "id",
"order": "desc"
}'
curl — OAuth application
curl -X POST "https://vibecode.bitrix24.com/v1/openline-configs/search" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filter": { "active": true },
"limit": 3,
"sort": "id",
"order": "desc"
}'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/openline-configs/search', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
filter: { active: true },
limit: 3,
sort: 'id',
order: 'desc',
}),
})
const { success, data, total } = await res.json()
console.log('Found:', total, 'records, returned:', data.length)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/openline-configs/search', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
filter: { active: true },
limit: 3,
sort: 'id',
order: 'desc',
}),
})
const { success, data, total } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of configurations (all fields — see Configuration fields) |
total |
number | Number of records in the current page (not the overall Bitrix24 account count — Bitrix24 does not pass a global total for this method) |
limit |
number | Applied limit on the number of records |
offset |
number | Applied offset |
hasMore |
boolean | Whether there are more records beyond limit |
Response example
{
"success": true,
"data": [
{
"id": 21,
"active": true,
"name": "Open Channel 12",
"queueType": "all",
"workTimeFrom": "9",
"workTimeTo": "18.30",
"crm": "Y",
"crmCreate": "lead",
"queueTime": "60",
"noAnswerTime": "60",
"welcomeMessage": "Y",
"dateCreate": {},
"dateModify": {}
}
],
"total": 10,
"limit": 3,
"offset": 0,
"hasMore": true
}
Core fields are shown. Each array element contains ~91 fields, all in camelCase; /fields describes each with a label and description. Full list — Configuration fields.
Error response example
400 — an $or / $and logical operator in the filter (Bitrix24 does not support them for this method):
{
"success": false,
"error": {
"code": "INVALID_FILTER_OPERATOR",
"message": "'$or' is not supported. OR/AND logic cannot be expressed in a single openline-configs filter. For same-field OR use { field: { $in: [v1, v2] } }. For cross-field OR run parallel requests. AND is the default — combine conditions as sibling keys in one filter object."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | INVALID_FILTER_OPERATOR |
A logical operator $or / $and / $not / LOGIC was passed in the filter |
| 401 | TOKEN_MISSING |
X-Api-Key was not passed |
| 403 | SCOPE_DENIED |
The API key lacks the imopenlines scope |
| 422 | BITRIX_ERROR |
A field name absent from the Bitrix24 imopenlines.config entity was passed (a typo or a non-filterable field) |
Full list of common API errors — Errors.
Known specifics
An empty body returns all records — the equivalent of GET /v1/openline-configs with no parameters.
The remaining specifics are the same as for the list (total as the current-page count; filtering and sorting on the 6 camelCase schema fields plus other camelCase names as an escape hatch; OR/AND via $or/$and are not supported — use $in; no operator queue fields): details — List known specifics.