For AI agents: markdown of this page — /docs-content-en/timeline-logs/logs/delete.md documentation index — /llms.txt

Delete an entry

DELETE /v1/timeline-logs/:id

Deletes a log entry from the timeline. Bitrix24 allows an entry to be deleted only by the same application that created it — otherwise it returns 403 CROSS_APP_DELETE_FORBIDDEN.

Parameters

Parameter Type Required Description
Parameterid (path) Typenumber Requiredyes DescriptionLog entry ID. Get a list of IDs — GET /v1/timeline-logs

When deletion works

Creation key Deletion key Result
Creation keyOAuth application vibe_app_* Deletion keythe same application Result200, data.deleted: true
Creation keyPersonal key vibe_api_* Deletion keyany key, including the same one Result403 CROSS_APP_DELETE_FORBIDDEN
Creation keyAny key Deletion keya different OAuth application Result403 CROSS_APP_DELETE_FORBIDDEN
Creation keyDirect Bitrix24 webhook Deletion keyany Vibecode key Result403 CROSS_APP_DELETE_FORBIDDEN

Personal keys (vibe_api_*) are not suitable for deletion because Vibecode rotates their OAuth tokens — to Bitrix24 each call looks like a separate application. If you plan to delete created entries via the API, use an OAuth application with Authorization: Bearer ....

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl -X DELETE "https://vibecode.bitrix24.com/v1/timeline-logs/5012" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/timeline-logs/5012', {
  method: 'DELETE',
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { success, data } = await res.json()
if (success) console.log('Deleted')

JavaScript — OAuth application

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

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

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on successful deletion
Fielddata Typeobject DescriptionDeletion result
Fielddata.deleted Typeboolean DescriptionAlways true on success — confirmation of the operation

Response example

JSON
{
  "success": true,
  "data": { "deleted": true }
}

Error response example

403 — the entry was created by a different application:

JSON
{
  "success": false,
  "error": {
    "code": "CROSS_APP_DELETE_FORBIDDEN",
    "message": "Personal webhook keys cannot delete timeline messages. Only the OAuth app that created this message can delete it."
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS Descriptionid is not a positive integer
HTTP403 CodeCROSS_APP_DELETE_FORBIDDEN DescriptionThe entry was created by a different application, or the delete request was sent with a personal key
HTTP404 CodeENTITY_NOT_FOUND DescriptionThe log entry with the given id does not exist
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the crm scope
HTTP403 CodeWRITE_BLOCKED_READONLY_KEY DescriptionThe key is read-only — see access rights
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens

Full list of common API errors — Errors.

Known specifics

If an entry cannot be deleted via the API, it cannot be deleted at all. Bitrix24 does not provide a UI delete button for log entries in the entity card (unlike user timeline comments and activities). If the ability to delete is critical for your scenario, create entries with the same OAuth application you plan to delete them with.

Deleted from all bound timelines at once. If the entry was bound to several entities via POST /:id/bind, DELETE removes it from the timelines of the deal, contact, company, and so on simultaneously. To remove it from a single timeline only, use POST /:id/unbind (but not for the last binding — see its documentation).

Deletion is irreversible. A deleted log entry cannot be restored via the API — create a new one if needed. A note attached to this entry is deleted together with it.

See also