#Список записей

GET /v1/timeline-logs

Возвращает лог-записи одной CRM-сущности с авто-пагинацией. Передайте limit до 5000 — Вайбкод соберёт результат в один ответ.

#Параметры

Параметр Тип Обяз. По умолч. Описание
entityTypeId number да Тип родительской CRM-сущности. См. Типы сущностей
entityId number да ID родительской записи
limit number нет 50 Сколько записей вернуть (1–5000). Вайбкод сам делает несколько B24-запросов по 10 штук
offset number нет 0 Сколько пропустить от начала. Маппится на B24-параметр start
orderBy string нет id Поле сортировки: id или created (другие игнорируются)
order string нет desc Направление: asc или desc

#Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/timeline-logs?entityTypeId=2&entityId=100&limit=20" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/timeline-logs?entityTypeId=2&entityId=100&limit=20" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/timeline-logs?entityTypeId=2&entityId=100&limit=20',
  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } },
)

const { success, data, total } = await res.json()
console.log(`Записей: ${total}, получено: ${data.length}`)

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

javascript
const res = await fetch(
  'https://vibecode.bitrix24.tech/v1/timeline-logs?entityTypeId=2&entityId=100&limit=20',
  {
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  },
)

const { success, data, total } = await res.json()

#Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив лог-записей
data[].id number ID лог-записи
data[].created datetime Дата создания, ISO 8601 с таймзоной портала
data[].authorId number ID автора. Данные пользователя по ID: GET /v1/users/:id
data[].title string Заголовок
data[].text string Текст записи
data[].iconCode string Код иконки (или "", если не задан)
total number Общее число записей у этой сущности

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

JSON
{
  "success": true,
  "data": [
    {
      "id": 5012,
      "created": "2026-04-27T10:00:00+03:00",
      "authorId": 1,
      "title": "AI-агент обработал заявку",
      "text": "Проанализированы данные клиента. Рекомендация: тариф Enterprise.",
      "iconCode": ""
    },
    {
      "id": 5008,
      "created": "2026-04-27T09:45:00+03:00",
      "authorId": 1,
      "title": "Платёж зачислен",
      "text": "100 000 руб. от ООО «Ромашка»",
      "iconCode": "info"
    }
  ],
  "total": 2
}

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

400 — не переданы обязательные параметры:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Required query: entityTypeId (positive int), entityId (positive int)"
  }
}

#Ошибки

HTTP Код Описание
400 INVALID_PARAMS Не переданы или некорректны entityTypeId / entityId
422 BITRIX_ERROR Битрикс24 вернул ошибку (например, родительская сущность не существует)
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

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

#Известные особенности

Большой limit стоит дороже по rate-limit. Под капотом Вайбкод делает несколько вызовов к Битрикс24, чтобы собрать запрошенный объём — для лог-записей таймлайна один Вайбкод-вызов с limit=50 соответствует 5 квантам rate-limit бюджета (а с limit=100 — 10 квантам). Если важна экономия лимита — используйте limit=10.

offset работает в записях, не в страницах. Передаём offset=20, Вайбкод сам конвертирует в start=20 для B24 (тот считает (N-1) * 10, где N — номер страницы).

Сортировка только по id или created. Любые другие значения orderBy Вайбкод заменяет на id. По умолчанию — id desc (новые сначала).

Записи всех ключей в одном списке. GET возвращает абсолютно все лог-записи родительской сущности, независимо от того, каким приложением они созданы. Фильтра «только мои записи» на стороне B24 нет.

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