[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-timeline-logs\u002Fbindings\u002Flist":3,"docs-tabs-timeline-logs\u002Fbindings\u002Flist":6},{"content":4,"lastmod":5},"\n## Список привязок\n\n`GET \u002Fv1\u002Ftimeline-logs\u002F:id\u002Fbindings`\n\nВозвращает все CRM-сущности, к которым привязана лог-запись. Удобно проверить, в каких таймлайнах сейчас отображается событие.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID лог-записи |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Fbindings \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Fbindings \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Fbindings', {\n  headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n})\n\nconst { data, total } = await res.json()\ndata.forEach(b => console.log(`${b.entityType} #${b.entityId}`))\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Fbindings', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { data, total } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив привязок |\n| `data[].ownerId` | number | ID самой лог-записи (равен `:id` из пути, продублирован для удобства) |\n| `data[].entityId` | number | ID привязанной CRM-сущности |\n| `data[].entityType` | string | Строковый тип: `\"deal\"`, `\"contact\"`, `\"dynamic_174\"` и т. п. |\n| `data[].entityTypeId` | number | Числовой тип. Присутствует, если строка маппится в таблицу типов; для произвольных смарт-процессов извлекается из `dynamic_\u003Cid>` |\n| `total` | number | Количество привязок |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    { \"ownerId\": 5012, \"entityId\": 100, \"entityType\": \"deal\", \"entityTypeId\": 2 },\n    { \"ownerId\": 5012, \"entityId\": 50, \"entityType\": \"contact\", \"entityTypeId\": 3 },\n    { \"ownerId\": 5012, \"entityId\": 10, \"entityType\": \"company\", \"entityTypeId\": 4 },\n    { \"ownerId\": 5012, \"entityId\": 1, \"entityType\": \"dynamic_174\", \"entityTypeId\": 174 }\n  ],\n  \"total\": 4\n}\n```\n\n## Пример ответа при ошибке\n\n400 — `id` некорректен:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_PARAMS\",\n    \"message\": \"Path parameter :id must be a positive integer\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | `id` не положительное целое |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил запрос |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Родительская сущность входит в список.** При создании записи через [`POST \u002Fv1\u002Ftimeline-logs`](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fcreate) пара `entityTypeId+entityId` автоматически добавляется в bindings. Поэтому даже без явных `bind`-вызовов `total ≥ 1`.\n\n**Оба формата типа в одном объекте.** Вайбкод возвращает и `entityType` (строка из B24), и `entityTypeId` (число) — для удобства клиента. Если значение строки не маппится (нестандартный смарт-процесс с `entityTypeId \u003C 128` без ясного названия), `entityTypeId` может отсутствовать в объекте.\n\n**Несуществующий `id` — пустой массив, не 404.** Если запросить bindings для несуществующей лог-записи, B24 отдаст `total: 0, data: []` без ошибки. Чтобы проверить существование записи — используйте [`GET \u002Fv1\u002Ftimeline-logs\u002F:id`](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fget).\n\n**Сортировка не задаётся параметром.** Список приходит обычно по `entityId` возрастанию, но порядок не гарантирован. Если нужен предсказуемый порядок — сортируйте на клиенте.\n\n## Смотрите также\n\n- [Привязать](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Fbind) — добавить новую сущность\n- [Отвязать](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Funbind) — снять привязку\n- [Получить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fget) — проверить существование `id`\n- [Создать запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fcreate) — родительская сущность сразу попадает в bindings\n","2026-06-24",{}]