
## Удалить запись

`DELETE /v1/timeline-logs/:id`

Удаляет лог-запись из таймлайна. Битрикс24 разрешает удалить запись только тому же приложению, которое её создало — иначе возвращается `403 CROSS_APP_DELETE_FORBIDDEN`.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|---------|
| `id` (path) | number | да | ID лог-записи |

## Когда удаление работает

| Ключ создания | Ключ удаления | Результат |
|---------------|---------------|-----------|
| OAuth-приложение `vibe_app_*` | то же приложение | ✅ `200 + {deleted: true}` |
| Личный ключ `vibe_api_*` | любой ключ (включая тот же) | ❌ `403 CROSS_APP_DELETE_FORBIDDEN` |
| Любой ключ | другой OAuth-приложение | ❌ `403 CROSS_APP_DELETE_FORBIDDEN` |
| Прямой webhook B24 | любой ключ Вайбкод | ❌ `403 CROSS_APP_DELETE_FORBIDDEN` |

Личные ключи (`vibe_api_*`) не подходят для удаления, потому что Вайбкод ротирует под капотом OAuth-токены — для Битрикс24 каждый вызов выглядит как отдельное приложение. Если планируете удалять созданные записи через API, используйте OAuth-приложение с `Authorization: Bearer ...`.

## Примеры

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

```bash
curl -X DELETE "https://vibecode.bitrix24.tech/v1/timeline-logs/5012" \
  -H "X-Api-Key: YOUR_API_KEY"
```

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

```bash
curl -X DELETE "https://vibecode.bitrix24.tech/v1/timeline-logs/5012" \
  -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/5012', {
  method: 'DELETE',
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { success, data } = await res.json()
if (success) console.log('Удалено')
```

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/timeline-logs/5012', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

## Поля ответа

| Поле | Тип | Описание |
|------|-----|---------|
| `success` | boolean | `true` при успешном удалении |
| `data.deleted` | boolean | Всегда `true` при успехе — подтверждение операции |

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

```json
{
  "success": true,
  "data": { "deleted": true }
}
```

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

403 — запись создана другим приложением:

```json
{
  "success": false,
  "error": {
    "code": "CROSS_APP_DELETE_FORBIDDEN",
    "message": "This timeline message can only be deleted via the API key it was created with."
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|---------|
| 400 | `INVALID_PARAMS` | `id` не положительное целое |
| 403 | `CROSS_APP_DELETE_FORBIDDEN` | Запись создана другим приложением (или личным ключом — он всегда выглядит для B24 как разные приложения) |
| 404 | `ENTITY_NOT_FOUND` | Лог-запись с указанным `id` не существует |
| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |
| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |

Полный список общих ошибок API — [Ошибки](/docs/errors).

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

**Если запись нельзя удалить через API — удалить её нельзя в принципе.** Битрикс24 не предоставляет UI-кнопку удаления log-записей в карточке сущности (в отличие от пользовательских комментариев таймлайна и дел). Если возможность удаления критична для сценария — создавайте записи через тот OAuth-ключ, через который планируете удалять.

**Удаляется из всех привязанных таймлайнов сразу.** Если запись была привязана к нескольким сущностям через [`POST /:id/bind`](/docs/timeline-logs/bindings/bind) — `DELETE` уберёт её одновременно из таймлайнов сделки, контакта, компании и так далее. Точечное удаление из одного таймлайна делается через [`POST /:id/unbind`](/docs/timeline-logs/bindings/unbind) (но не для последней привязки — см. её документацию).

**Удаление необратимо.** Восстановить удалённую лог-запись через API нельзя — создавайте новую при необходимости. Заметка, прикреплённая к этой записи, удаляется вместе с ней.

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

- [Создать запись](/docs/timeline-logs/logs/create)
- [Список записей](/docs/timeline-logs/logs/list)
- [Какой ключ использовать](/docs/timeline-logs#какой-ключ-использовать)
- [Лимиты и оптимизация](/docs/optimization)
