#Список писем

GET /v1/mail/messages

Возвращает список писем подключённых почтовых ящиков с поддержкой фильтров и постраничной пагинации.

#Параметры

Параметр Тип По умолч. Описание
mailboxId number Идентификатор ящика. Список ящиков: GET /v1/mail/mailboxes
searchQuery string Полнотекстовый поиск по письмам
folder string Имя папки (например, INBOX)
isSeen boolean true — только прочитанные, false — только непрочитанные
hasAttachments boolean true — только письма с вложениями
dateFrom string Начало периода, формат ISO 8601 (2026-05-01T00:00:00+00:00)
dateTo string Конец периода, формат ISO 8601 (2026-05-01T00:00:00+00:00)
limit number 50 Размер страницы. Используйте значения до 50; на больших значениях ответ может вернуться пустым — листайте через offset
offset number 0 Смещение от начала списка

#Примеры

#curl — личный ключ

Terminal
curl "https://vibecode.bitrix24.tech/v1/mail/messages?mailboxId=5&limit=10" \
  -H "X-Api-Key: YOUR_API_KEY"

#curl — OAuth-приложение

Terminal
curl "https://vibecode.bitrix24.tech/v1/mail/messages?mailboxId=5&limit=10" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

#JavaScript — личный ключ

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/mail/messages?mailboxId=5&limit=10',
  {
    headers: { 'X-Api-Key': 'YOUR_API_KEY' },
  }
)
const { success, data } = await res.json()
console.log(`Писем: ${data.items.length}`)

#JavaScript — OAuth-приложение

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/mail/messages?mailboxId=5&limit=10',
  {
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  }
)
const { success, data } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.items array Массив писем
data.items[].id number Идентификатор письма
data.items[].mailboxId number Идентификатор почтового ящика
data.items[].mailboxEmail string Адрес почтового ящика
data.items[].subject string Тема письма
data.items[].from string Отправитель в формате Имя <адрес>
data.items[].to string Получатель в формате Имя <адрес>
data.items[].cc string | null Копия письма; null когда копий нет
data.items[].date string Дата отправки в формате YYYY-MM-DD HH:MM:SS (без часового пояса)
data.items[].isSeen boolean Прочитано ли письмо
data.items[].hasAttachments boolean Есть ли вложения
data.items[].url string Ссылка на письмо в интерфейсе Битрикс24
data.items[].bindings array Привязки письма к объектам CRM
data.items[].body null Полный текст письма в списке не возвращается (доступен в GET /v1/mail/messages/:id)

URL любого письма из массива data.items — его id:

https://<portal>.bitrix24.ru/mail/message/<id>?source=mail

<portal> — домен портала. Доступ ограничен правами сотрудника в Битрикс24. В ответе также возвращается готовый URL в поле data.items[].url.

#Пример ответа

JSON
{
  "success": true,
  "data": {
    "items": [
      {
        "id": 1763,
        "mailboxId": 5,
        "mailboxEmail": "support@example.com",
        "subject": "Re: Запрос по интеграции",
        "from": "Анна Иванова <anna@example.com>",
        "to": "Поддержка <support@example.com>",
        "cc": null,
        "date": "2026-05-18 15:35:32",
        "isSeen": true,
        "hasAttachments": false,
        "url": "https://example.bitrix24.ru/mail/message/1763",
        "bindings": [],
        "body": null
      },
      {
        "id": 1761,
        "mailboxId": 5,
        "mailboxEmail": "support@example.com",
        "subject": "Запрос по интеграции",
        "from": "Поддержка <support@example.com>",
        "to": "anna@example.com <anna@example.com>",
        "cc": null,
        "date": "2026-05-18 15:35:10",
        "isSeen": true,
        "hasAttachments": false,
        "url": "https://example.bitrix24.ru/mail/message/1761",
        "bindings": [],
        "body": null
      }
    ]
  }
}

#Пример ответа при ошибке

403 — нет скоупа mail:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'mail' scope"
  }
}

#Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа mail
401 TOKEN_MISSING API-ключ не имеет настроенных токенов Битрикс24
429 RATE_LIMITED Превышен лимит запросов (заголовок Retry-After: 2)
502 BITRIX_UNAVAILABLE Портал Битрикс24 вернул ошибку 5xx
422 BITRIX_ERROR Прочие ошибки Битрикс24
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Неверный API-ключ
401 KEY_INACTIVE API-ключ деактивирован
401 KEY_EXPIRED Срок действия API-ключа истёк

Полный список общих ошибок API — Ошибки.

#Смотрите также