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, which is 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 depend on the field type Filtering by schema fields. Available fields — GET /v1/openline-configs/fields.
Example: {"active": false}
limit number 50 1200 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

Terminal
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

Terminal
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

javascript
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

javascript
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 on the current page. This method does not return an overall count across all configurations in the Bitrix24 account
limit number Applied limit on the number of records
offset number Applied offset
hasMore boolean Whether there are more records beyond limit

Response example

JSON
{
  "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": 3,
  "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 these operators for this method):

JSON
{
  "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 configuration schema was passed: a typo or a field that cannot be filtered on

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, paging strictly by hasMore (at the limit=200 ceiling one empty response may follow the last full page), a fractional limit or one below 1 is replaced by the default 50, filtering and sorting on the 6 camelCase schema fields plus other camelCase names as a fallback, OR/AND via $or/$and are not supported — use $in, and the operator queue fields are absent from the response. Details — Known specifics of the list method.

See also