Для AI-агентов: markdown этой страницы — /docs-content/entities/activities/create.md индекс документации — /llms.txt

Создать дело

POST /v1/activities

Создаёт новое CRM-дело: звонок, встречу, задачу или email. Дело привязывается к CRM-сущности через ownerTypeId + ownerId.

Поля запроса (body)

Минимальный набор для создания дела — subject, typeId, communications плюс привязка к CRM-сущности. Привязку задаёт либо пара ownerTypeId + ownerId, либо поля entityTypeId + entityId внутри элемента communications. Если не задано ни одно из двух, Bitrix24 не может привязать коммуникацию и возвращает ошибку про communications.

Параметр Тип Обяз. Описание
subject string да Тема дела
typeId number да Тип: 1 — встреча, 2 — звонок, 3 — задача, 4 — письмо, 5 — действие, 6 — пользовательское действие
communications object[] да Коммуникации дела. Массив объектов: [{ "value": "+7…", "entityTypeId": 3, "entityId": 17 }]. Вложенные ключи принимаются в camelCase (type, value, entityTypeId, entityId) — как и во всём остальном API — либо в ВЕРХНЕМ регистре Bitrix24 (TYPE, VALUE, ENTITY_TYPE_ID, ENTITY_ID). value — телефон/e-mail; entityTypeId + entityId — CRM-сущность, которой принадлежит коммуникация (задаёт привязку, если не переданы ownerTypeId/ownerId). Когда владелец указан, достаточно [{ "value": "+7…" }]
ownerTypeId number да¹ Тип родительской сущности: 1 — лид, 2 — сделка, 3 — контакт, 4 — компания
ownerId number да¹ ID родительской сущности. Поиск: GET /v1/deals, GET /v1/leads, GET /v1/contacts, GET /v1/companies
responsibleId number Ответственный. По умолчанию — текущий пользователь. Список: GET /v1/users
description string Описание
priority number Приоритет: 1 — низкий, 2 — средний, 3 — высокий
direction number Направление: 1 — входящее, 2 — исходящее
completed boolean Завершена
startTime datetime Дата начала
endTime datetime Дата окончания
deadline datetime Крайний срок. На создании Bitrix24 игнорирует переданное значение и вычисляет deadline из startTime/endTime — отдельно задать его при POST нельзя

¹ Пара ownerTypeId + ownerId нужна вместе и только если привязка не задана через entityTypeId/entityId внутри communications. Если привязка идёт через коммуникацию — оба поля можно опустить.

ℹ️ Вложенные ключи communications принимаются в двух формах: camelCase (type, value, entityTypeId, entityId) — единообразно с остальным API — и в ВЕРХНЕМ регистре Bitrix24 (TYPE, VALUE, ENTITY_TYPE_ID, ENTITY_ID). Если в одном объекте заданы обе формы одного ключа, приоритет у ВЕРХНЕГО регистра.

Полный список полей: GET /v1/activities/fields.

Примеры

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/activities \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "typeId": 2,
    "ownerTypeId": 3,
    "ownerId": 17,
    "subject": "Звонок клиенту",
    "description": "Обсудить условия поставки",
    "responsibleId": 1,
    "priority": 2,
    "direction": 2,
    "communications": [
      { "value": "+7 999 123-45-67", "entityTypeId": 3, "entityId": 17 }
    ],
    "startTime": "2026-04-16T10:00:00+03:00",
    "endTime": "2026-04-16T10:15:00+03:00"
  }'

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/activities \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "typeId": 2,
    "ownerTypeId": 3,
    "ownerId": 17,
    "subject": "Звонок клиенту",
    "description": "Обсудить условия поставки",
    "responsibleId": 1,
    "priority": 2,
    "direction": 2,
    "communications": [
      { "value": "+7 999 123-45-67", "entityTypeId": 3, "entityId": 17 }
    ],
    "startTime": "2026-04-16T10:00:00+03:00",
    "endTime": "2026-04-16T10:15:00+03:00"
  }'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/activities', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    typeId: 2,
    ownerTypeId: 3,
    ownerId: 17,
    subject: 'Звонок клиенту',
    description: 'Обсудить условия поставки',
    responsibleId: 1,
    priority: 2,
    direction: 2,
    communications: [
      { value: '+7 999 123-45-67', entityTypeId: 3, entityId: 17 },
    ],
    startTime: '2026-04-16T10:00:00+03:00',
    endTime: '2026-04-16T10:15:00+03:00',
  }),
})

const { success, data } = await res.json()
console.log('Activity ID:', data.id)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/activities', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    typeId: 2,
    ownerTypeId: 3,
    ownerId: 17,
    subject: 'Звонок клиенту',
    description: 'Обсудить условия поставки',
    responsibleId: 1,
    priority: 2,
    direction: 2,
    communications: [
      { value: '+7 999 123-45-67', entityTypeId: 3, entityId: 17 },
    ],
    startTime: '2026-04-16T10:00:00+03:00',
    endTime: '2026-04-16T10:15:00+03:00',
  }),
})

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

Поля ответа

Поле Тип Описание
id number ID созданного дела
typeId number Тип дела
ownerTypeId number Тип родительской сущности
ownerId number ID родительской сущности
subject string Тема
responsibleId number Ответственный
createdAt datetime Дата создания
updatedAt datetime Дата изменения

Ответ содержит все поля дела.

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

JSON
{
  "success": true,
  "data": {
    "id": 3894,
    "typeId": 2,
    "ownerTypeId": 3,
    "ownerId": 17,
    "subject": "Звонок клиенту",
    "description": "Обсудить условия поставки",
    "responsibleId": 1,
    "priority": 2,
    "direction": 2,
    "completed": false,
    "startTime": "2026-04-16T10:00:00+03:00",
    "endTime": "2026-04-16T10:15:00+03:00",
    "deadline": "2026-04-16T10:00:00+03:00",
    "createdAt": "2026-04-15T14:30:00+03:00",
    "updatedAt": "2026-04-15T14:30:00+03:00"
  }
}

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

400 — не передано обязательное поле (subject, typeId или communications):

JSON
{
  "success": false,
  "error": {
    "code": "MISSING_REQUIRED_FIELDS",
    "message": "Body field \"communications\" is required to create activity."
  }
}

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'crm' scope"
  }
}

Ошибки

HTTP Код Описание
400 MISSING_REQUIRED_FIELDS Не передано одно из обязательных полей: subject, typeId, communications (проверяется до вызова Bitrix24)
400 INVALID_REQUEST Невалидные значения полей
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

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