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

Unpin an entry

POST /v1/timeline-logs/:id/unpin

Removes the pin from a log entry. The entry stays in the timeline but is no longer highlighted at the top of the card — it is shown in chronological order with the other entries.

Parameters

Parameter Type Required Description
Parameterid (path) Typenumber Requiredyes DescriptionTimeline item ID, for example a log entry ID: GET /v1/timeline-logs

Request body fields

Field Type Required Description
FieldentityTypeId Typenumber Requiredyes DescriptionParent CRM entity type. See Entity types
FieldentityId Typenumber Requiredyes DescriptionParent record ID. To find the ID for each type, see Entity types

Examples

curl — personal key

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/timeline-logs/5012/unpin \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "entityTypeId": 2, "entityId": 100 }'

curl — OAuth application

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/timeline-logs/5012/unpin \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "entityTypeId": 2, "entityId": 100 }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/timeline-logs/5012/unpin', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ entityTypeId: 2, entityId: 100 }),
})

const { success } = await res.json()

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/timeline-logs/5012/unpin', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ entityTypeId: 2, entityId: 100 }),
})

const { success } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.pinned Typeboolean DescriptionAlways false — confirmation that the entry is no longer pinned

Response example

JSON
{
  "success": true,
  "data": { "pinned": false }
}

Error response example

400 — required fields missing:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Required body: entityTypeId, entityId (positive ints)"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionentityTypeId / entityId missing or invalid, or id is not a positive integer
HTTP404 CodeENTITY_NOT_FOUND DescriptionTimeline item with the given id does not exist
HTTP403 CodeSCOPE_DENIED DescriptionAPI key does not have the crm scope
HTTP401 CodeTOKEN_MISSING DescriptionAPI key has no configured tokens

Full list of common API errors — Errors.

Known specifics

Idempotent. Unpinning an entry that is not pinned returns 200 + {pinned: false}, with no error.

Does not delete the entry. This only removes the highlight; the log entry itself stays in the timeline. To remove it from the history, use DELETE /v1/timeline-logs/:id.

See also