#Создать тип смарт-процесса

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 — личный ключ

Terminal
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-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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 (дочерние типы).

JSON
{
  "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" (выключить).

JSON
{
  "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 по умолчанию). Полный список — Поля типа.

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

JSON
{
  "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 — не передано обязательное поле:

JSON
{
  "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:

  • Не заполнено обязательное поле "Название" — пропущен title
  • EntityTypeId 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 явно.

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