Find Chats im.search.chat.list

Scope: im

Who can execute the method: any user

The method im.search.chat.list performs a search for chats that the current user has access to. The search is conducted based on the title, first name, and last name of chat participants.

Results are sorted in descending order of identifiers.

Method Parameters

Required parameters are marked with *

Name
Type

Description

FIND
string

Search phrase for querying indexed chat data. The minimum number of characters for a search is 3

FIND_LINES
string

Search phrase for finding chats among Open Channels. The minimum number of characters for a search is 3

OFFSET
integer

Offset for the chat sample. Default is 0

LIMIT
integer

Number of items in the sample. Default is 10. Maximum value is 50

At least one parameter must be provided: FIND or FIND_LINES.

Code Examples

How to Use Examples in Documentation

curl -X POST \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -d '{"FIND":"Project","FIND_LINES":"Line","OFFSET":0,"LIMIT":10}' \
          https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.search.chat.list
        
curl -X POST \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -d '{"FIND":"Project","FIND_LINES":"Line","OFFSET":0,"LIMIT":10,"auth":"**put_access_token_here**"}' \
          https://**put_your_bitrix24_address**/rest/im.search.chat.list
        
try {
          const response = await $b24.callMethod('im.search.chat.list', {
            FIND: 'Project',
            FIND_LINES: 'Line',
            OFFSET: 0,
            LIMIT: 10,
          });
        
          const { result, total, next } = response.getData();
          console.log(result, total, next);
        } catch (error) {
          console.error(error);
        }
        
try {
            $response = $b24Service->core->call(
                'im.search.chat.list',
                [
                    'FIND' => 'Project',
                    'FIND_LINES' => 'Line',
                    'OFFSET' => 0,
                    'LIMIT' => 10,
                ]
            );
        
            $result = $response->getResponseData()->getResult();
        
            if ($result->error()) {
                echo 'Error: ' . $result->error();
            } else {
                var_dump($result->data());
            }
        } catch (Throwable $exception) {
            echo $exception->getMessage();
        }
        
BX24.callMethod(
            'im.search.chat.list',
            {
                FIND: 'Project',
                FIND_LINES: 'Line',
                OFFSET: 0,
                LIMIT: 10,
            },
            function(result) {
                if (result.error()) {
                    console.error(result.error().ex);
                } else {
                    console.log(result.data(), result.total(), result.next());
                }
            }
        );
        
require_once('crest.php');
        
        $result = CRest::call(
            'im.search.chat.list',
            [
                'FIND' => 'Project',
                'FIND_LINES' => 'Line',
                'OFFSET' => 0,
                'LIMIT' => 10,
            ]
        );
        
        if (!empty($result['error'])) {
            echo 'Error: ' . $result['error_description'];
        } else {
            var_dump($result['result']);
        }
        

Response Handling

HTTP Code: 200

{
            "result": [
                {
                    "id": 1137,
                    "parent_chat_id": 0,
                    "parent_message_id": 0,
                    "name": "Project: \"template development\"",
                    "description": null,
                    "owner": 27,
                    "extranet": false,
                    "avatar": "",
                    "color": "#3e99ce",
                    "type": "sonetGroup",
                    "counter": 0,
                    "user_counter": 2,
                    "message_count": 4,
                    "unread_id": 0,
                    "restrictions": {
                        "avatar": false,
                        "rename": false,
                        "extend": false,
                        "call": true,
                        "mute": true,
                        "leave": false,
                        "leave_owner": false,
                        "send": true,
                        "user_list": true,
                        "path": "/workgroups/group/#ID#/",
                        "path_title": "Go to group"
                    },
                    "last_message_id": 80461,
                    "last_id": 80461,
                    "marked_id": 0,
                    "disk_folder_id": 0,
                    "entity_type": "SONET_GROUP",
                    "entity_id": "121",
                    "entity_data_1": "",
                    "entity_data_2": "",
                    "entity_data_3": "",
                    "mute_list": [],
                    "date_create": "2024-07-26T15:28:02+02:00",
                    "message_type": "C",
                    "public": "",
                    "role": "owner",
                    "entity_link": {
                        "type": "SONET_GROUP",
                        "url": "/workgroups/group/121/",
                        "id": "121"
                    },
                    "text_field_enabled": true,
                    "background_id": null,
                    "permissions": {
                        "manage_users_add": "member",
                        "manage_users_delete": "manager",
                        "manage_ui": "member",
                        "manage_settings": "owner",
                        "manage_messages": "member",
                        "can_post": "member"
                    },
                    "is_new": false
                },
                ... // description for each chat
            ],
            "total": 2,
            "time": {
                "start": 1772645157,
                "finish": 1772645157.558317,
                "duration": 0.5583169460296631,
                "processing": 0,
                "date_start": "2026-03-04T20:25:57+02:00",
                "date_finish": "2026-03-04T20:25:57+02:00",
                "operating_reset_at": 1772645757,
                "operating": 0
            }
        }
        

Returned Data

Name
Type

Description

result
array

List of found chats.

The structure of the chat object is described in detail below

total
integer

Total number of found chats

next
integer

Offset for the next page. This field is returned if there is a next page

time
time

Information about the execution time of the request

Chat Object

Name
Type

Description

id
integer

Identifier of the chat

parent_chat_id
integer

Identifier of the parent chat

parent_message_id
integer

Identifier of the parent message

name
string

Name of the chat

description
string
null

Description of the chat

owner
integer

Identifier of the chat owner

extranet
boolean

Indicates participation of extranet users

avatar
string
null

Link to the chat avatar

color
string

Color of the chat in HEX format

type
string

Type of the chat

counter
integer

Value of the unread message counter for the current user

user_counter
integer

Number of participants in the chat

message_count
integer

Number of messages in the chat

unread_id
integer

Identifier of the first unread message

restrictions
object

Restrictions on actions in the chat.

The structure of the object is described in detail below

last_message_id
integer

Identifier of the last message

last_id
integer

Identifier of the last message in the chat marked as read by the current user

marked_id
integer

Identifier of the marked message

disk_folder_id
integer

Identifier of the Drive folder associated with the chat

entity_type
string

Type of the object to which the chat is linked

entity_id
string

Identifier of the object to which the chat is linked

entity_data_1
string

Additional data of the chat object — field 1

entity_data_2
string

Additional data of the chat object — field 2

entity_data_3
string

Additional data of the chat object — field 3

mute_list
array
object

List of users with notifications turned off

date_create
string

Creation date of the chat in ISO 8601 format (RFC3339)

message_type
string

Type of the chat message from the TYPE field of the chat table

public
object
string

Public data of the chat.

The structure of the object is described in detail below

role
string

Role of the current user in the chat

entity_link
object

Link to the related chat object.

The structure of the object is described in detail below

text_field_enabled
boolean

Indicates availability of the text input field

background_id
integer
null

Identifier of the chat background

permissions
object

Permissions of the current user.

The structure of the object is described in detail below

is_new
boolean

Indicates if the chat is new

Restrictions Object

Name
Type

Description

avatar
boolean

Allowed to change the chat avatar

rename
boolean

Allowed to change the chat name

extend
boolean

Allowed to extend the functionality of the chat

call
boolean

Calls in the chat are allowed

mute
boolean

Allowed to mute chat notifications

leave
boolean

Allowed to leave the chat

leave_owner
boolean

Allowed for the owner to leave the chat

send
boolean

Allowed to send messages

user_list
boolean

Access to view the list of participants

path
string

System path to navigate to the related object, for example, to the workgroup

path_title
string

Link text for navigating via path. This field is available along with path

Public Object

Name
Type

Description

code
string

Public code of the chat

link
string

Public link to the chat

Name
Type

Description

type
string

Type of the related object

url
string

URL of the related object

id
string
integer

Identifier of the related object

Permissions Object

Name
Type

Description

manage_users_add
string

Permission to add users

manage_users_delete
string

Permission to delete users

manage_ui
string

Permission to manage interface settings

manage_settings
string

Permission to manage chat settings

manage_messages
string

Permission to manage messages

can_post
string

Permission to send messages

Error Handling

HTTP Status: 400

{
            "error": "FIND_SHORT",
            "error_description": "Too short a search phrase."
        }
        

Name
type

Description

error
string

String error code. It may consist of digits, Latin letters, and underscores

error_description
error_description

Textual description of the error. The description is not intended to be shown to the end user in its raw form

Possible Error Codes

Code

Description

Value

FIND_SHORT

Too short a search phrase

No search parameter was provided or the phrase is less than three characters

Statuses and System Error Codes

HTTP Status: 20x, 40x, 50x

The errors described below may occur when calling any method.

Status

Code
Error Message

Description

500

INTERNAL_SERVER_ERROR
Internal server error

An internal server error has occurred, please contact the server administrator or Bitrix24 technical support

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

An internal server error has occurred, please contact the server administrator or Bitrix24 technical support

503

QUERY_LIMIT_EXCEEDED
Too many requests

The request intensity limit has been exceeded

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

The current method is not allowed to be called using batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

The maximum length of parameters passed to the batch method has been exceeded

401

NO_AUTH_FOUND
Wrong authorization data

Invalid access token or webhook code

400

INVALID_REQUEST
Https required

The methods must be called using the HTTPS protocol

503

OVERLOAD_LIMIT
REST API is blocked due to overload

The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support

403

ACCESS_DENIED
REST API is available only on commercial plans

The REST API is available only on commercial plans

403

INVALID_CREDENTIALS
Invalid request credentials

The user whose access token or webhook was used to call the method lacks permissions

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

The manifest is not available

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

The request requires higher privileges than those provided by the webhook token

401

expired_token
The access token provided has expired

The provided access token has expired

403

user_access_error
The user does not have access to the application

The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users

500

PORTAL_DELETED
Portal was deleted

The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site

Continue Learning