#Создать тип смарт-процесса
POST /v1/smart-processes
Создаёт новый тип смарт-процесса с автоматически назначенным entityTypeId. После создания тип доступен в /v1/items/:entityTypeId для CRUD операций по элементам.
#Поля запроса (body)
| Поле | Тип | Обяз. | По умолч. | Описание |
|---|---|---|---|---|
title |
string | да | — | Название смарт-процесса |
isCategoriesEnabled |
boolean | false |
Использовать в смарт-процессе свои воронки и туннели продаж | |
isStagesEnabled |
boolean | false |
Использовать в смарт-процессе свои стадии и канбан | |
isBeginCloseDatesEnabled |
boolean | false |
Поля «Дата начала» и «Дата завершения» | |
isClientEnabled |
boolean | false |
Поле «Клиент» с привязкой к контактам и компаниям | |
isLinkWithProductsEnabled |
boolean | false |
Привязка товаров каталога | |
isMycompanyEnabled |
boolean | false |
Поле «Реквизиты вашей компании» | |
isObserversEnabled |
boolean | false |
Поле «Наблюдатели» | |
isSourceEnabled |
boolean | false |
Поля «Источник» и «Дополнительно об источнике» | |
isAutomationEnabled |
boolean | false |
Роботы и триггеры | |
isBizProcEnabled |
boolean | false |
Дизайнер бизнес-процессов | |
isDocumentsEnabled |
boolean | false |
Печать документов | |
isRecyclebinEnabled |
boolean | false |
Использование корзины | |
isSetOpenPermissions |
boolean | true |
Делать новые воронки доступными для всех | |
isUseInUserfieldEnabled |
boolean | false |
Использовать смарт-процесс в пользовательском поле | |
isRecurringEnabled |
boolean | false |
Поле «Регулярность» | |
isPaymentsEnabled |
boolean | false |
Онлайн-оплата | |
isCountersEnabled |
boolean | false |
Счётчики (уведомления и бейджи) | |
relations |
object | {} |
Связи с другими сущностями CRM — см. «Связи и пользовательские поля» ниже | |
linkedUserFields |
object | {} |
Набор пользовательских полей, в которых будет отображаться смарт-процесс — см. «Связи и пользовательские поля» ниже |
Полный список полей: GET /v1/smart-processes/fields.
#Примеры
#curl — личный ключ
curl -X POST https://vibecode.bitrix24.tech/v1/smart-processes \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Договоры поставки",
"isStagesEnabled": true,
"isCategoriesEnabled": true,
"isAutomationEnabled": true,
"isBizProcEnabled": true,
"isLinkWithProductsEnabled": true
}'
#curl — OAuth-приложение
curl -X POST https://vibecode.bitrix24.tech/v1/smart-processes \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Договоры поставки",
"isStagesEnabled": true,
"isCategoriesEnabled": true,
"isAutomationEnabled": true,
"isBizProcEnabled": true,
"isLinkWithProductsEnabled": true
}'
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/smart-processes', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Договоры поставки',
isStagesEnabled: true,
isCategoriesEnabled: true,
isAutomationEnabled: true,
isBizProcEnabled: true,
isLinkWithProductsEnabled: true,
}),
})
const { success, data } = await res.json()
console.log('Создан тип, entityTypeId:', data.entityTypeId)
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/smart-processes', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Договоры поставки',
isStagesEnabled: true,
isCategoriesEnabled: true,
isAutomationEnabled: true,
isBizProcEnabled: true,
isLinkWithProductsEnabled: true,
}),
})
const { success, data } = await res.json()
#Связи и пользовательские поля
Поля relations и linkedUserFields не описаны в /fields, но принимаются при создании и сохраняются Битрикс24.
#`relations` — связи с сущностями CRM
Объект с двумя массивами: parent (родительские типы) и child (дочерние типы).
{
"title": "Договоры поставки",
"relations": {
"parent": [
{ "entityTypeId": 2, "isChildrenListEnabled": "Y" }
],
"child": [
{ "entityTypeId": 3, "isChildrenListEnabled": "Y" }
]
}
}
| Поле записи | Тип | Описание |
|---|---|---|
entityTypeId |
number | ID связанного типа (2 = сделки, 3 = контакты, 4 = компании, 7 = коммерческие предложения, 31 = счета, 1030+ = смарт-процессы) |
isChildrenListEnabled |
string ("Y"/"N") |
Отображать ли список записей этого смарт-процесса в карточке связанного типа |
Побочный эффект от isClientEnabled: true: Битрикс24 автоматически добавит в relations.parent связи с контактами (entityTypeId: 3) и компаниями (entityTypeId: 4) с флагом isPredefined: "Y" — передавать их вручную не нужно.
#`linkedUserFields` — отображение в пользовательских полях
Объект, где ключ — идентификатор поля из другой сущности в формате {ENTITY_CODE}|{FIELD_NAME}, значение — "Y" (включить отображение) или "N" (выключить).
{
"title": "Договоры поставки",
"linkedUserFields": {
"TASKS_TASK|UF_CRM_TASK": "Y",
"TASKS_TASK_TEMPLATE|UF_CRM_TASK": "Y",
"CALENDAR_EVENT|UF_CRM_CAL_EVENT": "Y"
}
}
Поддерживаются 3 фиксированных ключа:
| Ключ | Где отобразится смарт-процесс |
|---|---|
TASKS_TASK|UF_CRM_TASK |
Поле «Элемент CRM» в задачах |
TASKS_TASK_TEMPLATE|UF_CRM_TASK |
Поле «Элемент CRM» в шаблонах задач |
CALENDAR_EVENT|UF_CRM_CAL_EVENT |
Поле «Элемент CRM» в событиях календаря |
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id |
number | Внутренний ID записи типа |
entityTypeId |
number | Назначенный entityTypeId — используется в /v1/items/:entityTypeId |
title |
string | Название |
createdBy |
number | Создатель |
createdTime |
datetime | Дата создания |
updatedTime |
datetime | Дата изменения |
customSectionId |
number | null | ID цифрового рабочего места (если привязан) |
Плюс все isXxxEnabled флаги в том состоянии, которое было передано (или false по умолчанию). Полный список — Поля типа.
#Пример ответа
{
"success": true,
"data": {
"id": 31,
"entityTypeId": 1050,
"title": "Договоры поставки",
"createdBy": 1,
"createdTime": "2026-04-21T13:46:45+03:00",
"updatedTime": "2026-04-21T13:46:45+03:00",
"updatedBy": 1,
"customSectionId": null,
"isCategoriesEnabled": true,
"isStagesEnabled": true,
"isBeginCloseDatesEnabled": false,
"isClientEnabled": false,
"isLinkWithProductsEnabled": true,
"isMycompanyEnabled": false,
"isObserversEnabled": false,
"isSourceEnabled": false,
"isAutomationEnabled": true,
"isBizProcEnabled": true,
"isDocumentsEnabled": false,
"isRecyclebinEnabled": false,
"isSetOpenPermissions": true,
"isUseInUserfieldEnabled": false,
"isRecurringEnabled": false,
"isPaymentsEnabled": false,
"isCountersEnabled": false,
"isInitialized": false
}
}
#Пример ответа при ошибке
422 — не передано обязательное поле:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Не заполнено обязательное поле \"Название\""
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 401 | MISSING_API_KEY |
Заголовок X-Api-Key не передан |
| 401 | INVALID_API_KEY |
Ключ не найден или отозван |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа crm |
| 422 | BITRIX_ERROR |
Любая ошибка от Битрикс24: не передано title, entityTypeId вне диапазона, превышен лимит смарт-процессов на портале и т. д. Конкретная причина — в поле message |
Типичные сообщения в message при BITRIX_ERROR:
Не заполнено обязательное поле "Название"— пропущенtitleEntityTypeId should be more or equal than 128 and less than 192— переданentityTypeIdвне диапазонаПревышено максимальное количество смарт-процессов— достигнут лимит портала
Полный список общих ошибок API — Ошибки.
#Известные особенности
Авто-генерация entityTypeId. Битрикс24 сам назначает свободный идентификатор. Если вы хотите передать собственный, значение должно быть уникальным и попадать в один из диапазонов: 128-192 включительно, либо чётное число ≥ 1030. Значение возвращается в поле entityTypeId ответа — сохраните его и используйте во всех запросах к типу и его элементам.
После создания isInitialized: false. Битрикс24 ещё не сгенерировал стандартные стадии и воронки. Они создаются при первом обращении к типу в интерфейсе или программно — через /v1/statuses и /v1/categories/:entityTypeId.
relations двунаправленные. Если вы указали parent: [{entityTypeId: 2, ...}], то в сделках (тип 2) в поле relations.child автоматически появится ссылка на ваш новый тип с флагом isPredefined: "N" (пользовательская связь).
isSetOpenPermissions по умолчанию true — это единственный флаг с положительным дефолтом. Если нужны приватные воронки, передавайте false явно.
#Смотрите также
- Обновить тип — частичное обновление полей
- Удалить тип
- Список типов — все типы на портале
- Поля типа — полный список полей
- Элементы смарт-процессов — CRUD по элементам созданного типа
- Стадии и воронки — настройка после создания
- Лимиты и оптимизация — rate limits