#Создать запись
POST /v1/timeline-logs
Создаёт новую запись в журнале (таймлайне) CRM-сущности. Запись появится в истории карточки сделки, лида, контакта, компании или смарт-процесса как сообщение от приложения.
#Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
entityTypeId |
number | да | Тип родительской CRM-сущности: 1=лид, 2=сделка, 3=контакт, 4=компания, 7=предложение, 14=заказ, 31=счёт, ≥128=смарт-процесс. Подробнее — Типы сущностей |
entityId |
number | да | ID родительской записи. Источник: GET /v1/deals, GET /v1/leads, GET /v1/contacts, GET /v1/companies, GET /v1/items/:entityTypeId |
title |
string | да | Заголовок записи. Отображается жирным в карточке таймлайна |
text |
string | да | Основной текст записи. Пустая строка допустима ("") |
iconCode |
string | нет | Код иконки рядом с заголовком. Часто используемые: info, circle-check, document, link, unlink, view, stage-change, sum, store, relation, IM, call, call-incoming, call-completed. По умолчанию пустая строка "" (без иконки) |
#Примеры
#curl — личный ключ
curl -X POST https://vibecode.bitrix24.tech/v1/timeline-logs \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entityTypeId": 2,
"entityId": 100,
"title": "AI-агент обработал заявку",
"text": "Проанализированы данные клиента. Рекомендация: тариф Enterprise."
}'
#curl — OAuth-приложение
curl -X POST https://vibecode.bitrix24.tech/v1/timeline-logs \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"entityTypeId": 2,
"entityId": 100,
"title": "AI-агент обработал заявку",
"text": "Проанализированы данные клиента. Рекомендация: тариф Enterprise."
}'
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/timeline-logs', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
entityTypeId: 2,
entityId: 100,
title: 'AI-агент обработал заявку',
text: 'Проанализированы данные клиента. Рекомендация: тариф Enterprise.',
}),
})
const { success, data } = await res.json()
console.log('Log ID:', data.id)
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/timeline-logs', {
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,
title: 'AI-агент обработал заявку',
text: 'Проанализированы данные клиента. Рекомендация: тариф Enterprise.',
}),
})
const { success, data } = await res.json()
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id |
number | ID созданной лог-записи |
created |
datetime | Дата создания, ISO 8601 с таймзоной портала |
authorId |
number | ID автора. При создании через API соответствует пользователю API-ключа |
title |
string | Заголовок |
text |
string | Текст записи |
iconCode |
string | Код иконки (или "", если не задан) |
#Пример ответа
{
"success": true,
"data": {
"id": 5012,
"created": "2026-04-27T10:00:00+03:00",
"authorId": 1,
"title": "AI-агент обработал заявку",
"text": "Проанализированы данные клиента. Рекомендация: тариф Enterprise.",
"iconCode": ""
}
}
#Пример ответа при ошибке
400 — пропущено обязательное поле:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Required: entityTypeId (positive int), entityId (positive int), title (string), text (string). Optional: iconCode (string, default \"\")"
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
Не передан или некорректен entityTypeId, entityId, title, text либо тип iconCode не строка |
| 422 | BITRIX_ERROR |
Битрикс24 отклонил запрос (например, родительская сущность не существует) |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа crm |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.
#Известные особенности
Удаление возможно только тем же приложением. Битрикс24 запрещает удалять лог-запись через приложение, отличное от создавшего. Личные ключи (vibe_api_*) ротируют OAuth-токены, поэтому через них DELETE всегда возвращает 403 CROSS_APP_DELETE_FORBIDDEN. Для полного жизненного цикла «создать → удалить через API» используйте OAuth-приложение (vibe_app_* + Authorization: Bearer ...). Подробнее — Удалить запись.
Поле text обязательное, но допускает пустую строку. Битрикс24 принимает text: "", заголовок title всё равно отображается. Если хочется оставить без описания — передавайте пустую строку, а не null.
Поле iconCode сохраняется как пустая строка по умолчанию. В ответе iconCode всегда присутствует, даже если не передавали — приходит "".
#Смотрите также
- Список записей — все записи родительской сущности
- Получить запись — одна запись по
id - Удалить запись — учитывайте ограничение cross-app
- Закрепить запись — после создания
- Привязать к ещё одной сущности — мультибиндинг
- Сохранить заметку — внутренний комментарий к записи