[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-timeline-logs\u002Flogs":3,"docs-tabs-timeline-logs\u002Flogs":6},{"content":4,"lastmod":5},"# Записи журнала\n\nСоздание, чтение, удаление лог-записей в таймлайне CRM-сущности. Лог-запись — это структурированное событие, которое появляется в истории карточки (сделки, лида, контакта, компании, смарт-процесса) как сообщение от приложения с заголовком и текстом.\n\nБитрикс24 API: `crm.timeline.logmessage.*`\nСкоуп: `crm`\n\n## Операции\n\n- [Создать запись](.\u002Flogs\u002Fcreate.md) — `POST \u002Fv1\u002Ftimeline-logs`\n- [Список записей](.\u002Flogs\u002Flist.md) — `GET \u002Fv1\u002Ftimeline-logs`\n- [Получить запись](.\u002Flogs\u002Fget.md) — `GET \u002Fv1\u002Ftimeline-logs\u002F:id`\n- [Удалить запись](.\u002Flogs\u002Fdelete.md) — `DELETE \u002Fv1\u002Ftimeline-logs\u002F:id`\n\n## Типовой сценарий\n\n1. Создать запись в таймлайне родительской сущности: [`POST \u002Fv1\u002Ftimeline-logs`](.\u002Flogs\u002Fcreate.md). Получить `id` созданной записи.\n2. По желанию — закрепить ([`POST \u002Fv1\u002Ftimeline-logs\u002F:id\u002Fpin`](\u002Fdocs\u002Ftimeline-logs\u002Fpins\u002Fpin)), привязать к нескольким сущностям ([`POST \u002Fv1\u002Ftimeline-logs\u002F:id\u002Fbind`](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Fbind)), добавить заметку ([`POST \u002Fv1\u002Ftimeline-logs\u002F:id\u002Fnote`](\u002Fdocs\u002Ftimeline-logs\u002Fnotes\u002Fsave)).\n3. Просмотреть журнал сущности: [`GET \u002Fv1\u002Ftimeline-logs?entityTypeId=...&entityId=...`](.\u002Flogs\u002Flist.md).\n\n## Смотрите также\n\n- [Таймлайн CRM](\u002Fdocs\u002Ftimeline-logs) — обзор раздела, полный пример AI-агента\n- [Заметки](\u002Fdocs\u002Ftimeline-logs\u002Fnotes) — комментарии к лог-записи\n- [Закрепления](\u002Fdocs\u002Ftimeline-logs\u002Fpins) — pin\u002Funpin\n- [Привязки](\u002Fdocs\u002Ftimeline-logs\u002Fbindings) — связать запись с дополнительными сущностями\n","2026-06-11",{"logs\u002Fcreate.md":7,"logs\u002Flist.md":8,"logs\u002Fget.md":9,"logs\u002Fdelete.md":10},"\n## Создать запись\n\n`POST \u002Fv1\u002Ftimeline-logs`\n\nСоздаёт новую запись в журнале (таймлайне) CRM-сущности. Запись появится в истории карточки сделки, лида, контакта, компании или смарт-процесса как сообщение от приложения.\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| **`entityTypeId`** | number | да | Тип родительской CRM-сущности: `1`=лид, `2`=сделка, `3`=контакт, `4`=компания, `7`=предложение, `14`=заказ, `31`=счёт, `≥128`=смарт-процесс. Подробнее — [Типы сущностей](\u002Fdocs\u002Ftimeline-logs#типы-родительских-сущностей) |\n| **`entityId`** | number | да | ID родительской записи. Источник: `GET \u002Fv1\u002Fdeals`, `GET \u002Fv1\u002Fleads`, `GET \u002Fv1\u002Fcontacts`, `GET \u002Fv1\u002Fcompanies`, `GET \u002Fv1\u002Fitems\u002F:entityTypeId` |\n| **`title`** | string | да | Заголовок записи. Отображается жирным в карточке таймлайна |\n| **`text`** | string | да | Основной текст записи. Пустая строка допустима (`\"\"`) |\n| `iconCode` | string | нет | Код иконки рядом с заголовком. Часто используемые: `info`, `circle-check`, `document`, `link`, `unlink`, `view`, `stage-change`, `sum`, `store`, `relation`, `IM`, `call`, `call-incoming`, `call-completed`. По умолчанию пустая строка `\"\"` (без иконки) |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"entityTypeId\": 2,\n    \"entityId\": 100,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"entityTypeId\": 2,\n    \"entityId\": 100,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    entityTypeId: 2,\n    entityId: 100,\n    title: 'AI-агент обработал заявку',\n    text: 'Проанализированы данные клиента. Рекомендация: тариф Enterprise.',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Log ID:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    entityTypeId: 2,\n    entityId: 100,\n    title: 'AI-агент обработал заявку',\n    text: 'Проанализированы данные клиента. Рекомендация: тариф Enterprise.',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `id` | number | ID созданной лог-записи |\n| `created` | datetime | Дата создания, ISO 8601 с таймзоной портала |\n| `authorId` | number | ID автора. При создании через API соответствует пользователю API-ключа |\n| `title` | string | Заголовок |\n| `text` | string | Текст записи |\n| `iconCode` | string | Код иконки (или `\"\"`, если не задан) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 5012,\n    \"created\": \"2026-04-27T10:00:00+03:00\",\n    \"authorId\": 1,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\",\n    \"iconCode\": \"\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — пропущено обязательное поле:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_PARAMS\",\n    \"message\": \"Required: entityTypeId (positive int), entityId (positive int), title (string), text (string). Optional: iconCode (string, default \\\"\\\")\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Не передан или некорректен `entityTypeId`, `entityId`, `title`, `text` либо тип `iconCode` не строка |\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**Удаление возможно только тем же приложением.** Битрикс24 запрещает удалять лог-запись через приложение, отличное от создавшего. Личные ключи (`vibe_api_*`) ротируют OAuth-токены, поэтому через них `DELETE` всегда возвращает `403 CROSS_APP_DELETE_FORBIDDEN`. Для полного жизненного цикла «создать → удалить через API» используйте OAuth-приложение (`vibe_app_*` + `Authorization: Bearer ...`). Подробнее — [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete).\n\n**Поле `text` обязательное, но допускает пустую строку.** Битрикс24 принимает `text: \"\"`, заголовок `title` всё равно отображается. Если хочется оставить без описания — передавайте пустую строку, а не `null`.\n\n**Поле `iconCode` сохраняется как пустая строка по умолчанию.** В ответе `iconCode` всегда присутствует, даже если не передавали — приходит `\"\"`.\n\n## Смотрите также\n\n- [Список записей](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Flist) — все записи родительской сущности\n- [Получить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fget) — одна запись по `id`\n- [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete) — учитывайте ограничение cross-app\n- [Закрепить запись](\u002Fdocs\u002Ftimeline-logs\u002Fpins\u002Fpin) — после создания\n- [Привязать к ещё одной сущности](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Fbind) — мультибиндинг\n- [Сохранить заметку](\u002Fdocs\u002Ftimeline-logs\u002Fnotes\u002Fsave) — внутренний комментарий к записи\n","\n## Список записей\n\n`GET \u002Fv1\u002Ftimeline-logs`\n\nВозвращает лог-записи одной CRM-сущности с авто-пагинацией. Передайте `limit` до 5000 — Вайбкод соберёт результат в один ответ.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | По умолч. | Описание |\n|----------|-----|:-----:|-----------|---------|\n| `entityTypeId` | number | да | — | Тип родительской CRM-сущности. См. [Типы сущностей](\u002Fdocs\u002Ftimeline-logs#типы-родительских-сущностей) |\n| `entityId` | number | да | — | ID родительской записи |\n| `limit` | number | нет | `50` | Сколько записей вернуть (1–5000). Вайбкод сам делает несколько B24-запросов по 10 штук |\n| `offset` | number | нет | `0` | Сколько пропустить от начала. Маппится на B24-параметр `start` |\n| `orderBy` | string | нет | `id` | Поле сортировки: `id` или `created` (другие игнорируются) |\n| `order` | string | нет | `desc` | Направление: `asc` или `desc` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs?entityTypeId=2&entityId=100&limit=20\" \\\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?entityTypeId=2&entityId=100&limit=20\" \\\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(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs?entityTypeId=2&entityId=100&limit=20',\n  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } },\n)\n\nconst { success, data, total } = await res.json()\nconsole.log(`Записей: ${total}, получено: ${data.length}`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch(\n  'https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs?entityTypeId=2&entityId=100&limit=20',\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_APP_KEY',\n      'Authorization': 'Bearer USER_SESSION_TOKEN',\n    },\n  },\n)\n\nconst { success, data, total } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив лог-записей |\n| `data[].id` | number | ID лог-записи |\n| `data[].created` | datetime | Дата создания, ISO 8601 с таймзоной портала |\n| `data[].authorId` | number | ID автора. Данные пользователя по ID: `GET \u002Fv1\u002Fusers\u002F:id` |\n| `data[].title` | string | Заголовок |\n| `data[].text` | string | Текст записи |\n| `data[].iconCode` | string | Код иконки (или `\"\"`, если не задан) |\n| `total` | number | Общее число записей у этой сущности |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 5012,\n      \"created\": \"2026-04-27T10:00:00+03:00\",\n      \"authorId\": 1,\n      \"title\": \"AI-агент обработал заявку\",\n      \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\",\n      \"iconCode\": \"\"\n    },\n    {\n      \"id\": 5008,\n      \"created\": \"2026-04-27T09:45:00+03:00\",\n      \"authorId\": 1,\n      \"title\": \"Платёж зачислен\",\n      \"text\": \"100 000 руб. от ООО «Ромашка»\",\n      \"iconCode\": \"info\"\n    }\n  ],\n  \"total\": 2\n}\n```\n\n## Пример ответа при ошибке\n\n400 — не переданы обязательные параметры:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_PARAMS\",\n    \"message\": \"Required query: entityTypeId (positive int), entityId (positive int)\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Не переданы или некорректны `entityTypeId` \u002F `entityId` |\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**Большой `limit` стоит дороже по rate-limit.** Под капотом Вайбкод делает несколько вызовов к Битрикс24, чтобы собрать запрошенный объём — для лог-записей таймлайна один Вайбкод-вызов с `limit=50` соответствует 5 квантам rate-limit бюджета (а с `limit=100` — 10 квантам). Если важна экономия лимита — используйте `limit=10`.\n\n**`offset` работает в записях, не в страницах.** Передаём `offset=20`, Вайбкод сам конвертирует в `start=20` для B24 (тот считает `(N-1) * 10`, где `N` — номер страницы).\n\n**Сортировка только по `id` или `created`.** Любые другие значения `orderBy` Вайбкод заменяет на `id`. По умолчанию — `id desc` (новые сначала).\n\n**Записи всех ключей в одном списке.** `GET` возвращает абсолютно все лог-записи родительской сущности, независимо от того, каким приложением они созданы. Фильтра «только мои записи» на стороне B24 нет.\n\n## Смотрите также\n\n- [Получить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fget) — одна запись по `id`\n- [Создать запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fcreate) — добавить в журнал\n- [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete) — учитывайте ограничение cross-app\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits с учётом B24-страниц по 10\n","\n## Получить запись\n\n`GET \u002Fv1\u002Ftimeline-logs\u002F:id`\n\nВозвращает одну лог-запись по её ID.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID лог-записи. Получить список ID — [`GET \u002Fv1\u002Ftimeline-logs`](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Flist) |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012 \\\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 \\\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', {\n  headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n})\n\nconst { success, data } = await res.json()\nconsole.log(data.title, data.text)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `id` | number | ID лог-записи |\n| `created` | datetime | Дата создания, ISO 8601 с таймзоной портала |\n| `authorId` | number | ID автора. Данные пользователя по ID: `GET \u002Fv1\u002Fusers\u002F:id` |\n| `title` | string | Заголовок |\n| `text` | string | Текст записи |\n| `iconCode` | string | Код иконки (или `\"\"`, если не задан) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 5012,\n    \"created\": \"2026-04-27T10:00:00+03:00\",\n    \"authorId\": 1,\n    \"title\": \"AI-агент обработал заявку\",\n    \"text\": \"Проанализированы данные клиента. Рекомендация: тариф Enterprise.\",\n    \"iconCode\": \"\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — запись не найдена:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"Timeline logmessage not found for id `99999999`\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | `id` не положительное целое |\n| 404 | `ENTITY_NOT_FOUND` | Лог-запись с указанным `id` не существует — Битрикс24 вернул ошибку `NOT_FOUND` |\n| 404 | `NOT_FOUND` | Битрикс24 вернул успешный ответ, но объект записи оказался пустым |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Список записей](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Flist) — найти `id` по родительской сущности\n- [Создать запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fcreate) — добавить новую\n- [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete) — учитывайте ограничение cross-app\n- [Получить заметку записи](\u002Fdocs\u002Ftimeline-logs\u002Fnotes\u002Fget) — комментарий, прикреплённый к этой записи\n- [Список привязок](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Flist) — сущности, к которым запись привязана\n","\n## Удалить запись\n\n`DELETE \u002Fv1\u002Ftimeline-logs\u002F:id`\n\nУдаляет лог-запись из таймлайна. Битрикс24 разрешает удалить запись только тому же приложению, которое её создало — иначе возвращается `403 CROSS_APP_DELETE_FORBIDDEN`.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID лог-записи |\n\n## Когда удаление работает\n\n| Ключ создания | Ключ удаления | Результат |\n|---------------|---------------|-----------|\n| OAuth-приложение `vibe_app_*` | то же приложение | ✅ `200 + {deleted: true}` |\n| Личный ключ `vibe_api_*` | любой ключ (включая тот же) | ❌ `403 CROSS_APP_DELETE_FORBIDDEN` |\n| Любой ключ | другой OAuth-приложение | ❌ `403 CROSS_APP_DELETE_FORBIDDEN` |\n| Прямой webhook B24 | любой ключ Вайбкод | ❌ `403 CROSS_APP_DELETE_FORBIDDEN` |\n\nЛичные ключи (`vibe_api_*`) не подходят для удаления, потому что Вайбкод ротирует под капотом OAuth-токены — для Битрикс24 каждый вызов выглядит как отдельное приложение. Если планируете удалять созданные записи через API, используйте OAuth-приложение с `Authorization: Bearer ...`.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\" \\\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', {\n  method: 'DELETE',\n  headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n})\n\nconst { success, data } = await res.json()\nif (success) console.log('Удалено')\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | `true` при успешном удалении |\n| `data.deleted` | boolean | Всегда `true` при успехе — подтверждение операции |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": { \"deleted\": true }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — запись создана другим приложением:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"CROSS_APP_DELETE_FORBIDDEN\",\n    \"message\": \"This timeline message can only be deleted via the API key it was created with.\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | `id` не положительное целое |\n| 403 | `CROSS_APP_DELETE_FORBIDDEN` | Запись создана другим приложением (или личным ключом — он всегда выглядит для B24 как разные приложения) |\n| 404 | `ENTITY_NOT_FOUND` | Лог-запись с указанным `id` не существует |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Если запись нельзя удалить через API — удалить её нельзя в принципе.** Битрикс24 не предоставляет UI-кнопку удаления log-записей в карточке сущности (в отличие от пользовательских комментариев таймлайна и дел). Если возможность удаления критична для сценария — создавайте записи через тот OAuth-ключ, через который планируете удалять.\n\n**Удаляется из всех привязанных таймлайнов сразу.** Если запись была привязана к нескольким сущностям через [`POST \u002F:id\u002Fbind`](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Fbind) — `DELETE` уберёт её одновременно из таймлайнов сделки, контакта, компании и так далее. Точечное удаление из одного таймлайна делается через [`POST \u002F:id\u002Funbind`](\u002Fdocs\u002Ftimeline-logs\u002Fbindings\u002Funbind) (но не для последней привязки — см. её документацию).\n\n**Удаление необратимо.** Восстановить удалённую лог-запись через API нельзя — создавайте новую при необходимости. Заметка, прикреплённая к этой записи, удаляется вместе с ней.\n\n## Смотрите также\n\n- [Создать запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fcreate) — для воссоздания после удаления\n- [Список записей](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Flist) — найти `id` перед удалением\n- [Какой ключ использовать](\u002Fdocs\u002Ftimeline-logs#какой-ключ-использовать) — выбор между личным и OAuth-ключом\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n"]