For AI agents: markdown of this page — /docs-content-en/chats/discovery/search.md documentation index — /llms.txt
Search chats by text
GET /v1/chats/search
Searches chats and dialogs by title or message text. Returns an array of chat objects matching the search query.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | yes | Search string. When empty, returns results without filtering |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/chats/search?search=Deal" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/chats/search?search=Deal" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const query = new URLSearchParams({ search: 'Deal' })
const res = await fetch(`https://vibecode.bitrix24.com/v1/chats/search?${query}`, {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Chats found:', data.length)
JavaScript — OAuth application
const query = new URLSearchParams({ search: 'Deal' })
const res = await fetch(`https://vibecode.bitrix24.com/v1/chats/search?${query}`, {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
data |
array | Array of found chats |
data[].id |
number | Numeric chat ID |
data[].name |
string | Chat title |
data[].description |
string | Chat description |
data[].type |
string | Chat type: chat, general, openlines, copilot, channel, crm, tasks, and others |
data[].owner |
number | Chat owner ID |
data[].userCounter |
number | Number of members |
data[].messageCount |
number | Total number of messages |
data[].counter |
number | Number of unread messages |
data[].unreadId |
number | ID of the first unread message |
data[].lastMessageId |
number | ID of the last message |
data[].entityType |
string | Type of the linked entity (CRM, TASKS, GENERAL, and others) |
data[].entityId |
string | ID of the linked entity |
data[].entityLink |
object | Link to the linked entity |
data[].entityLink.type |
string | Link type |
data[].entityLink.url |
string | Relative URL of the entity in your Bitrix24 account |
data[].entityLink.id |
string | Entity ID in string format |
data[].dateCreate |
string | Chat creation date (ISO 8601) |
data[].role |
string | Role of the current user: owner, manager, member |
data[].extranet |
boolean | Whether the chat is an extranet chat |
data[].permissions |
object | Member permissions by operation |
Response example
{
"success": true,
"data": [
{
"id": 456,
"name": "Deal chat",
"description": "Here we discuss the deal details",
"type": "crm",
"owner": 1,
"userCounter": 3,
"messageCount": 9,
"counter": 0,
"unreadId": 0,
"lastMessageId": 1450,
"entityType": "CRM",
"entityId": "DEAL|42",
"entityLink": {
"type": "CRM",
"url": "/crm/deal/details/42/",
"id": "DEAL|42"
},
"dateCreate": "2026-03-03T15:07:38+00:00",
"role": "owner",
"extranet": false,
"permissions": {
"manageUsersAdd": "member",
"manageUsersDelete": "manager",
"manageUi": "member",
"manageSettings": "owner",
"manageMessages": "member",
"canPost": "member"
}
},
{
"id": 789,
"name": "Discussion of deal No. 5",
"description": null,
"type": "chat",
"owner": 12,
"userCounter": 2,
"messageCount": 4,
"counter": 0,
"unreadId": 0,
"lastMessageId": 890,
"entityType": "",
"entityId": "",
"entityLink": {
"type": "",
"url": "",
"id": ""
},
"dateCreate": "2026-02-26T15:56:08+00:00",
"role": "member",
"extranet": false,
"permissions": {
"manageUsersAdd": "member",
"manageUsersDelete": "manager",
"manageUi": "member",
"manageSettings": "owner",
"manageMessages": "member",
"canPost": "member"
}
}
]
}
Error response example
403 — no im scope:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'im' scope"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 403 | SCOPE_DENIED |
The API key does not have the im scope |
| 401 | TOKEN_MISSING |
The API key has no Bitrix24 tokens configured |
| 422 | BITRIX_ERROR |
Bitrix24 returned an error (details in message) |
| 502 | BITRIX_UNAVAILABLE |
Bitrix24 is unavailable or returned a server error |
The full list of general API errors — Errors.
Known specifics
- The search is performed by chat title. Matching messages depends on your Bitrix24 account's capabilities and is not guaranteed for all chat types.
- Results do not support pagination via
limitandoffset. If you need to get a larger number of results, refine the search query. - To search for the chat of a specific CRM entity, use
GET /v1/chats/find— it acceptsentityTypeandentityIdand returns an exact match.