# im.recent.list

URL: https://chugunov.pro/api-bitrix24/chats/im-recent-list/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Получить список чатов
Scope: `im`
Кто может выполнять метод: любой пользователь

## Описание

Метод `im.recent.list` получает список последних диалогов пользователя с поддержкой пагинации.

## Параметры

- `SKIP_OPENLINES` `string` — необязательный. Пропускать чаты открытых линий.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `SKIP_DIALOG` `string` — необязательный. Пропускать диалоги один-на-один.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `SKIP_CHAT` `string` — необязательный. Пропускать групповые чаты.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `LAST_MESSAGE_DATE` `datetime` — необязательный. Дата последнего элемента предыдущей выборки в формате [ATOM](https://www.php.net/manual/ru/class.datetimeinterface.php#datetimeinterface.constants.atom) (ISO-8601)
- `UNREAD_ONLY` `string` — необязательный. Возвращать только диалоги с непрочитанными сообщениями.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `PARSE_TEXT` `string` — необязательный. Парсить текст последнего сообщения.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `GET_ORIGINAL_TEXT` `string` — необязательный. Вернуть оригинальный текст сообщения без преобразований.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `SKIP_UNDISTRIBUTED_OPENLINES` `string` — необязательный. Пропускать нераспределенные чаты открытых линий.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `ONLY_COPILOT` `string` — необязательный. Возвращать только чаты BitrixGPT.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `ONLY_CHANNEL` `string` — необязательный. Возвращать только каналы.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `CAN_MANAGE_MESSAGES` `string` — необязательный. Возвращать только чаты с правом управления сообщениями.
  Возможные значения:
  - `Y` — да
  - `N` — нет
- `OFFSET` `integer` — необязательный. Смещение для постраничной выборки. По умолчанию: `0`
- `LIMIT` `integer` — необязательный. Количество элементов на страницу. По умолчанию: `50`. Максимальное значение: `200`

## Ответ

HTTP-статус: 200

```json
{
    "result": {
        "items": [
            {
                "id": 547,
                "chat_id": 1231,
                "type": "user",
                "avatar": {
                    "url": "",
                    "color": "#1eb4aa"
                },
                "title": "Иван Иванов",
                "message": {
                    "id": 84415,
                    "text": "ntcn",
                    "file": false,
                    "author_id": 547,
                    "attach": false,
                    "sticker": null,
                    "date": "2026-02-25T12:07:10+03:00",
                    "status": "received",
                    "uuid": "0c3c5ad6-a1b8-4d4d-9234-f137ef862a77"
                },
                "counter": 1,
                "last_id": 82363,
                "pinned": false,
                "unread": false,
                "has_reminder": false,
                "date_update": "2026-02-25T12:07:10+03:00",
                "date_last_activity": "2026-02-25T12:07:10+03:00",
                "user": {
                    "id": 547,
                    "active": true,
                    "name": "Иван Иванов",
                    "first_name": "Иван",
                    "last_name": "Иванов",
                    "work_position": "Тестировщик",
                    "color": "#1eb4aa",
                    "avatar": "",
                    "avatar_hr": "/bitrix/js/im/images/blank.gif",
                    "gender": "M",
                    "birthday": "",
                    "extranet": false,
                    "network": false,
                    "bot": false,
                    "connector": false,
                    "external_auth_id": "socservices",
                    "status": "online",
                    "idle": false,
                    "last_activity_date": "2026-02-25T17:42:27+03:00",
                    "mobile_last_date": false,
                    "desktop_last_date": false,
                    "absent": false,
                    "departments": [
                        1,
                        667
                    ],
                    "phones": false,
                    "bot_data": null,
                    "type": "user",
                    "website": "",
                    "email": "ivan.ivanov@mysite.ru"
                },
                "chat": {
                    "text_field_enabled": true,
                    "background_id": null,
                    "mute_list": []
                },
                "options": []
            },
            {
                "id": "chat1317",
                "chat_id": 1317,
                "type": "chat",
                "avatar": {
                    "url": "https://cdn-ru.bitrix24.ru/b17053/resize_cache/54309/ff58db95aecdfa09ae61b51b5fd8f63f/im/553/5539ce72ef842ca40efd35b54322d828/7qd8lz4rsqwubjru086fst8tx6uhkxa9",
                    "color": "#4ba984"
                },
                "title": "Хочу зеленый чат",
                "message": {
                    "id": 84413,
                    "text": "ntcn",
                    "file": false,
                    "author_id": 547,
                    "attach": false,
                    "sticker": null,
                    "date": "2026-02-25T12:07:05+03:00",
                    "status": "received",
                    "uuid": "f4721d3d-68c6-473e-a899-3b96b0ee18db"
                },
                "counter": 1,
                "last_id": 82447,
                "pinned": false,
                "unread": false,
                "has_reminder": false,
                "date_update": "2026-02-25T12:07:05+03:00",
                "date_last_activity": "2026-02-25T12:07:05+03:00",
                "chat": {
                    "id": 1317,
                    "parent_chat_id": 0,
                    "parent_message_id": 0,
                    "name": "Хочу зеленый чат",
                    "owner": 547,
                    "extranet": false,
                    "contains_collaber": false,
                    "avatar": "https://cdn-ru.bitrix24.ru/b17053/resize_cache/54309/ff58db95aecdfa09ae61b51b5fd8f63f/im/553/5539ce72ef842ca40efd35b54322d828/7qd8lz4rsqwubjru086fst8tx6uhkxa9",
                    "color": "#4ba984",
                    "type": "chat",
                    "entity_type": "",
                    "entity_id": "",
                    "entity_data_1": "",
                    "entity_data_2": "",
                    "entity_data_3": "",
                    "mute_list": {
                        "503": true
                    },
                    "manager_list": [],
                    "date_create": "2025-08-12T16:14:00+03:00",
                    "message_type": "C",
                    "user_counter": 2,
                    "restrictions": {
                        "avatar": true,
                        "rename": true,
                        "extend": true,
                        "call": true,
                        "mute": true,
                        "leave": true,
                        "leave_owner": true,
                        "send": true,
                        "user_list": true
                    },
                    "role": "MEMBER",
                    "text_field_enabled": true,
                    "background_id": null,
                    "entity_link": {
                        "type": "",
                        "url": "",
                        "id": ""
                    },
                    "permissions": {
                        "manage_users_add": "member",
                        "manage_users_delete": "manager",
                        "manage_ui": "member",
                        "manage_settings": "owner",
                        "manage_messages": "member",
                        "can_post": "member"
                    },
                    "public": ""
                },
                "user": {
                    "id": 547,
                    "active": true,
                    "name": "Иван Иванов",
                    "first_name": "Иван",
                    "last_name": "Иванов",
                    "work_position": "Тестировщик",
                    "color": "#1eb4aa",
                    "avatar": "",
                    "avatar_hr": "/bitrix/js/im/images/blank.gif",
                    "gender": "M",
                    "birthday": "",
                    "extranet": false,
                    "network": false,
                    "bot": false,
                    "connector": false,
                    "external_auth_id": "socservices",
                    "status": "online",
                    "idle": false,
                    "last_activity_date": "2026-02-25T17:42:27+03:00",
                    "mobile_last_date": false,
                    "desktop_last_date": false,
                    "absent": false,
                    "departments": [
                        1,
                        667
                    ],
                    "phones": false,
                    "bot_data": null,
                    "type": "user",
                    "website": "",
                    "email": "ivan.ivanov@mysite.ru"
                },
                "options": []
            }
        ],
        "hasMorePages": false,
        "hasMore": false,
        "copilot": {
            "chats": null,
            "messages": null,
            "roles": {
                "copilot_assistant": {
                    "code": "copilot_assistant",
                    "name": "BitrixGPT",
                    "desc": "Готов отвечать на все вопросы в общем формате",
                    "avatar": {
                        "small": "https://preview.bitrix24.site/upload/ai/avatars/5f72dd53304450356e0eaf09c0fcda7b_64x64.png",
                        "medium": "https://preview.bitrix24.site/upload/ai/avatars/f62609ab98ede5b3d4bff7675cc9f1f5_128x128.png",
                        "large": "https://preview.bitrix24.site/upload/ai/avatars/0a89c642ed5f1c2a292f7c3a1eab99d3_256x256.png"
                    },
                    "default": true,
                    "prompts": [
                        {
                            "code": "universal_how_to_properly_write_a_business_letter",
                            "promptType": "default",
                            "title": "Как правильно составить деловое письмо?",
                            "text": "Как правильно составить деловое письмо?",
                            "isNew": false
                        },
                        {
                            "code": "universal_effective_methods_to_combat_procrastination_in_the_workplace",
                            "promptType": "default",
                            "title": "Как бороться с прокрастинацией?",
                            "text": "Расскажи про эффективные методы борьбы с прокрастинацией на рабочем месте",
                            "isNew": false
                        },
                        {
                            "code": "universal_ideas_on_how_to_make_meetings_more_concise_and_substantive",
                            "promptType": "default",
                            "title": "Идеи для совещаний",
                            "text": "Есть идеи, как сделать совещания более компактными и содержательными?",
                            "isNew": false
                        },
                        {
                            "code": "universal_ideas_for_short_breaks_for_physical_exercises",
                            "promptType": "default",
                            "title": "Идеи для коротких перерывов",
                            "text": "Предложи идеи для коротких перерывов на физические упражнения в офисе",
                            "isNew": false
                        }
                    ]
                }
            },
            "recommendedRoles": [
                "copilot_assistant",
                "smm_manager",
                "seo_copywriter",
                "prompt_generator",
                "marketing_specialist"
            ]
        },
        "messagesAutoDeleteConfigs": []
    },
    "total": -1,
    "time": {
        "start": 1772089843,
        "finish": 1772089843.789026,
        "duration": 0.7890260219573975,
        "processing": 0,
        "date_start": "2026-02-26T10:10:43+03:00",
        "date_finish": "2026-02-26T10:10:43+03:00",
        "operating_reset_at": 1772090443,
        "operating": 0.2634410858154297
    }
}
```

### Возвращаемые данные

- `result` `object`. Корневой объект результата [(подробное описание)](#result-item)
- `total` `integer`. Общее количество элементов. В текущей реализации обычно `-1`
- `time` `time`. Информация о времени выполнения запроса

## Ошибки

HTTP-статус: 401

```json
{
    "error": "INVALID_CREDENTIALS",
    "error_description": "Invalid request credentials"
}
```


## Примеры запроса

### cURL (Webhook)

```bash
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"LAST_MESSAGE_DATE":"2026-02-25T18:30:00+03:00","SKIP_OPENLINES":"N","SKIP_DIALOG":"N","SKIP_CHAT":"N","UNREAD_ONLY":"Y","PARSE_TEXT":"Y","GET_ORIGINAL_TEXT":"N","SKIP_UNDISTRIBUTED_OPENLINES":"Y","ONLY_COPILOT":"N","ONLY_CHANNEL":"N","CAN_MANAGE_MESSAGES":"Y","OFFSET":0,"LIMIT":20}' \
  https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/im.recent.list
```

### cURL (OAuth)

```bash
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"LAST_MESSAGE_DATE":"2026-02-25T18:30:00+03:00","SKIP_OPENLINES":"N","SKIP_DIALOG":"N","SKIP_CHAT":"N","UNREAD_ONLY":"Y","PARSE_TEXT":"Y","GET_ORIGINAL_TEXT":"N","SKIP_UNDISTRIBUTED_OPENLINES":"Y","ONLY_COPILOT":"N","ONLY_CHANNEL":"N","CAN_MANAGE_MESSAGES":"Y","OFFSET":0,"LIMIT":20,"auth":"**put_access_token_here**"}' \
  https://**put_your_bitrix24_address**/rest/im.recent.list
```

### JS (TS)

```ts
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

// Shape of the payload returned in result (match the "response handling" section of the page)
type RecentListResult = {
  items: Array<{
    id: string | number
    chat_id: number
    type: string
    title: string
    counter: number
    pinned: boolean
    unread: boolean
    has_reminder: boolean
    date_update: ISODate
    date_last_activity: ISODate
  }>
  hasMorePages: boolean
  hasMore: boolean
  copilot: object | null
  messagesAutoDeleteConfigs: object[]
}

try {
  const response = await $b24.actions.v2.call.make<RecentListResult>({
    method: 'im.recent.list',
    params: {
      LAST_MESSAGE_DATE: '2026-02-25T18:30:00+03:00',
      SKIP_OPENLINES: 'N',
      SKIP_DIALOG: 'N',
      SKIP_CHAT: 'N',
      UNREAD_ONLY: 'Y',
      PARSE_TEXT: 'Y',
      GET_ORIGINAL_TEXT: 'N',
      SKIP_UNDISTRIBUTED_OPENLINES: 'Y',
      ONLY_COPILOT: 'N',
      ONLY_CHANNEL: 'N',
      CAN_MANAGE_MESSAGES: 'Y',
      OFFSET: 0,
      LIMIT: 20,
    },
    requestId: Text.getUuidRfc4122()
  })

  // The payload is available only on a successful response
  if (!response.isSuccess) {
    console.error(response.getErrorMessages().join('; '))
  } else {
    const result = response.getData()!.result
    console.info('Loaded dialogs:', result.items.length, 'hasMore:', result.hasMore)
  }
} catch (error) {
  // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
  console.error(error)
}
```

### JS (UMD)

```html
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
  async function fetchRecentList() {
    try {
      // Initialize the SDK inside a Bitrix24 frame
      const $b24 = await B24Js.initializeB24Frame()

      const response = await $b24.actions.v2.call.make({
        method: 'im.recent.list',
        params: {
          LAST_MESSAGE_DATE: '2026-02-25T18:30:00+03:00',
          SKIP_OPENLINES: 'N',
          SKIP_DIALOG: 'N',
          SKIP_CHAT: 'N',
          UNREAD_ONLY: 'Y',
          PARSE_TEXT: 'Y',
          GET_ORIGINAL_TEXT: 'N',
          SKIP_UNDISTRIBUTED_OPENLINES: 'Y',
          ONLY_COPILOT: 'N',
          ONLY_CHANNEL: 'N',
          CAN_MANAGE_MESSAGES: 'Y',
          OFFSET: 0,
          LIMIT: 20,
        },
        requestId: B24Js.Text.getUuidRfc4122()
      })

      // The payload is available only on a successful response
      if (!response.isSuccess) {
        console.error(response.getErrorMessages().join('; '))
        return
      }

      const result = response.getData().result
      console.info('Loaded dialogs:', result.items.length, 'hasMore:', result.hasMore)
    } catch (error) {
      // Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
      console.error(error)
    }
  }

  document.addEventListener('DOMContentLoaded', fetchRecentList)
</script>
```

### Python

```python
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.im.recent.list(
        last_message_date="2026-02-25T18:30:00+03:00",
        skip_openlines=False,
        skip_dialog=False,
        skip_chat=False,
        unread_only=True,
        parse_text=True,
        get_original_text=False,
        skip_undistributed_openlines=True,
        only_copilot=False,
        only_channel=False,
        can_manage_messages=True,
        offset=0,
        limit=20,
    ).response
    result = bitrix_response.result
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {error}")
```

### PHP

```php
try {
    $response = $b24Service
        ->core
        ->call(
            'im.recent.list',
            [
                'LAST_MESSAGE_DATE' => '2026-02-25T18:30:00+03:00',
                'SKIP_OPENLINES' => 'N',
                'SKIP_DIALOG' => 'N',
                'SKIP_CHAT' => 'N',
                'UNREAD_ONLY' => 'Y',
                'PARSE_TEXT' => 'Y',
                'GET_ORIGINAL_TEXT' => 'N',
                'SKIP_UNDISTRIBUTED_OPENLINES' => 'Y',
                'ONLY_COPILOT' => 'N',
                'ONLY_CHANNEL' => 'N',
                'CAN_MANAGE_MESSAGES' => 'Y',
                'OFFSET' => 0,
                'LIMIT' => 20,
            ]
        );

    $result = $response
        ->getResponseData()
        ->getResult();

    echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
    error_log($e->getMessage());
    echo 'Error: ' . $e->getMessage();
}
```

### BX24.js

```js
BX24.callMethod(
    'im.recent.list',
    {
        LAST_MESSAGE_DATE: '2026-02-25T18:30:00+03:00',
        SKIP_OPENLINES: 'N',
        SKIP_DIALOG: 'N',
        SKIP_CHAT: 'N',
        UNREAD_ONLY: 'Y',
        PARSE_TEXT: 'Y',
        GET_ORIGINAL_TEXT: 'N',
        SKIP_UNDISTRIBUTED_OPENLINES: 'Y',
        ONLY_COPILOT: 'N',
        ONLY_CHANNEL: 'N',
        CAN_MANAGE_MESSAGES: 'Y',
        OFFSET: 0,
        LIMIT: 20
    },
    function(result)
    {
        if (result.error())
        {
            console.error(result.error());
        }
        else
        {
            console.log(result.data());
        }
    }
);
```

### PHP CRest

```php
require_once('crest.php');

$result = CRest::call(
    'im.recent.list',
    [
        'LAST_MESSAGE_DATE' => '2026-02-25T18:30:00+03:00',
        'SKIP_OPENLINES' => 'N',
        'SKIP_DIALOG' => 'N',
        'SKIP_CHAT' => 'N',
        'UNREAD_ONLY' => 'Y',
        'PARSE_TEXT' => 'Y',
        'GET_ORIGINAL_TEXT' => 'N',
        'SKIP_UNDISTRIBUTED_OPENLINES' => 'Y',
        'ONLY_COPILOT' => 'N',
        'ONLY_CHANNEL' => 'N',
        'CAN_MANAGE_MESSAGES' => 'Y',
        'OFFSET' => 0,
        'LIMIT' => 20,
    ]
);

echo '<PRE>';
print_r($result);
echo '</PRE>';
```

### Go

```go
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "im.recent.list", b24.Params{
	"LAST_MESSAGE_DATE":            "2026-02-25T18:30:00+03:00",
	"SKIP_OPENLINES":               "N",
	"SKIP_DIALOG":                  "N",
	"SKIP_CHAT":                    "N",
	"UNREAD_ONLY":                  "Y",
	"PARSE_TEXT":                   "Y",
	"GET_ORIGINAL_TEXT":            "N",
	"SKIP_UNDISTRIBUTED_OPENLINES": "Y",
	"ONLY_COPILOT":                 "N",
	"ONLY_CHANNEL":                 "N",
	"CAN_MANAGE_MESSAGES":          "Y",
	"OFFSET":                       0,
	"LIMIT":                        20,
}, b24.WithIdempotent())
if err != nil {
	return fmt.Errorf("im.recent.list: %w", err)
}

// Ответ приходит как json.RawMessage — разберите его
// в структуру под форму ответа, показанную ниже на этой странице.
fmt.Printf("%s\n", res.Result)
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/chats/im-recent-list.html
