[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-timeline-logs\u002Fpins\u002Funpin":3,"docs-tabs-timeline-logs\u002Fpins\u002Funpin":6},{"content":4,"lastmod":5},"\n## Открепить запись\n\n`POST \u002Fv1\u002Ftimeline-logs\u002F:id\u002Funpin`\n\nСнимает закрепление с лог-записи. Запись остаётся в таймлайне, но больше не выделяется в верхней части карточки — отображается в общей хронологии.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID лог-записи (или другого элемента таймлайна) |\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| **`entityTypeId`** | number | да | Тип родительской CRM-сущности |\n| **`entityId`** | number | да | ID родительской записи |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Funpin \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"entityTypeId\": 2, \"entityId\": 100 }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Funpin \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"entityTypeId\": 2, \"entityId\": 100 }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Funpin', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({ entityTypeId: 2, entityId: 100 }),\n})\n\nconst { success } = await res.json()\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Ftimeline-logs\u002F5012\u002Funpin', {\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({ entityTypeId: 2, entityId: 100 }),\n})\n\nconst { success } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data.pinned` | boolean | Всегда `false` — подтверждение, что запись больше не закреплена |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": { \"pinned\": false }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — пропущены обязательные поля:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"INVALID_PARAMS\",\n    \"message\": \"Required body: entityTypeId, entityId (positive ints)\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Не переданы или некорректны `entityTypeId` \u002F `entityId` либо `id` не положительное целое |\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**Идемпотентно.** Открепить незакреплённую запись — `200 + {pinned: false}`, без ошибки.\n\n**Не удаляет запись.** Это только снятие выделения, сама лог-запись остаётся в таймлайне. Чтобы убрать из истории — [`DELETE \u002Fv1\u002Ftimeline-logs\u002F:id`](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete).\n\n## Смотрите также\n\n- [Закрепить запись](\u002Fdocs\u002Ftimeline-logs\u002Fpins\u002Fpin) — обратная операция\n- [Удалить запись](\u002Fdocs\u002Ftimeline-logs\u002Flogs\u002Fdelete) — убрать из таймлайна полностью\n","2026-06-16",{}]