For AI agents: markdown of this page — /docs-content-en/entities/smart-processes/update.md documentation index — /llms.txt

Update a smart process type

PATCH /v1/smart-processes/:entityTypeId

Updates the fields of an existing smart process type. Pass only the fields you need to change — the rest stay unchanged.

Parameters

Parameter Type Required Description
ParameterentityTypeId (path) Typenumber Requiredyes DescriptionEntity type ID. List: GET /v1/smart-processes

Request fields (body)

All fields are optional. Fields that are not passed stay unchanged.

Field Type Description
Fieldtitle Typestring DescriptionSmart process name
Fieldcode Typestring DescriptionSymbolic code of the type (for programmatic identification)
FieldisCategoriesEnabled Typeboolean DescriptionUse custom pipelines and sales tunnels
FieldisStagesEnabled Typeboolean DescriptionUse custom stages and kanban
FieldisBeginCloseDatesEnabled Typeboolean Description"Start date" and "End date" fields
FieldisClientEnabled Typeboolean Description"Client" field linked to contacts and companies
FieldisLinkWithProductsEnabled Typeboolean DescriptionLinking catalog products
FieldisMycompanyEnabled Typeboolean Description"Your company details" field
FieldisObserversEnabled Typeboolean Description"Observers" field
FieldisSourceEnabled Typeboolean Description"Source" and "More about the source" fields
FieldisAutomationEnabled Typeboolean DescriptionAutomation rules and triggers
FieldisBizProcEnabled Typeboolean DescriptionBusiness process designer
FieldisDocumentsEnabled Typeboolean DescriptionDocument printing
FieldisRecyclebinEnabled Typeboolean DescriptionRecycle bin usage
FieldisSetOpenPermissions Typeboolean DescriptionMake new pipelines available to everyone
FieldisUseInUserfieldEnabled Typeboolean DescriptionUse the smart process in a user field
FieldisRecurringEnabled Typeboolean Description"Recurrence" field
FieldisPaymentsEnabled Typeboolean DescriptionOnline payment
FieldisCountersEnabled Typeboolean DescriptionCounters (notifications and badges)
Fieldrelations Typeobject DescriptionRelations with other CRM entities. Fully replaces existing relations — see "Known specifics"
FieldlinkedUserFields Typeobject DescriptionUser fields in which the smart process is displayed. Format — see Create type

Full list of fields: GET /v1/smart-processes/fields.

entityTypeId cannot be changed — it is set at creation and remains unchanged.

Frequently updated fields

  • title — renaming the type
  • isStagesEnabled, isCategoriesEnabled, isAutomationEnabled, isBizProcEnabled — enabling/disabling core capabilities
  • code — assigning a programmatic identifier
  • relations — configuring relations with other CRM types

Examples

curl — personal key

Terminal
curl -X PATCH https://vibecode.bitrix24.com/v1/smart-processes/1050 \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Supply contracts (updated name)",
    "code": "supply_contracts",
    "isAutomationEnabled": false
  }'

curl — OAuth application

Terminal
curl -X PATCH https://vibecode.bitrix24.com/v1/smart-processes/1050 \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Supply contracts (updated name)",
    "code": "supply_contracts",
    "isAutomationEnabled": false
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/smart-processes/1050', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Supply contracts (updated name)',
    code: 'supply_contracts',
    isAutomationEnabled: false,
  }),
})

const { success, data } = await res.json()
console.log('Updated at:', data.updatedTime)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/smart-processes/1050', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Supply contracts (updated name)',
    code: 'supply_contracts',
    isAutomationEnabled: false,
  }),
})

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

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typeobject DescriptionThe full type object after the update. List of fields — see Type fields
Fieldmeta.warnings Typearray DescriptionPresent when the body carries fields that are neither in the type schema nor in the field list of GET /v1/smart-processes/fields, for example a misspelled name. The warning code is UNRECOGNIZED_WRITE_FIELD: such a field may not have been stored. The response status is 200. On a route that wraps the field map itself, an object under fields is rejected with 400 NESTED_FIELDS_ENVELOPE when the schema does not declare fields; pass fields flat at the JSON root.

Response example

JSON
{
  "success": true,
  "data": {
    "id": 31,
    "entityTypeId": 1050,
    "title": "Supply contracts (updated name)",
    "code": "supply_contracts",
    "createdBy": 1,
    "createdTime": "2026-04-21T13:46:45+00:00",
    "updatedBy": 1,
    "updatedTime": "2026-04-21T14:50:13+00:00",
    "customSectionId": null,
    "isCategoriesEnabled": true,
    "isStagesEnabled": true,
    "isBeginCloseDatesEnabled": false,
    "isClientEnabled": false,
    "isLinkWithProductsEnabled": true,
    "isMycompanyEnabled": false,
    "isObserversEnabled": false,
    "isSourceEnabled": false,
    "isAutomationEnabled": false,
    "isBizProcEnabled": true,
    "isDocumentsEnabled": false,
    "isRecyclebinEnabled": false,
    "isSetOpenPermissions": true,
    "isUseInUserfieldEnabled": false,
    "isRecurringEnabled": false,
    "isPaymentsEnabled": false,
    "isCountersEnabled": false,
    "isInitialized": true
  }
}

Error response example

404 — type not found:

JSON
{
  "success": false,
  "error": {
    "code": "SMART_PROCESS_NOT_FOUND",
    "message": "Smart process with entityTypeId=99999 not found"
  }
}

Errors

HTTP Code Description
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header was not passed
HTTP401 CodeINVALID_API_KEY DescriptionThe key is not recognized — no such key exists on the platform
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the crm scope
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens
HTTP400 CodeINVALID_ENTITY_TYPE_ID DescriptionentityTypeId is not a positive integer. Message: entityTypeId must be a positive integer
HTTP400 CodeREADONLY_FIELD DescriptionA read-only field was passed in the body (id, isInitialized, createdTime, and others)
HTTP404 CodeSMART_PROCESS_NOT_FOUND DescriptionA type with this entityTypeId was not found. Message: Smart process with entityTypeId=X not found
HTTP422 CodeBITRIX_ERROR DescriptionA validation error from Bitrix24. The specific reason is in the message field

Full list of general API errors — Errors.

Known specifics

relations fully replaces existing relations. If you pass relations: {parent: [{entityTypeId: 3}]}, all previous parent relations will be deleted and replaced with a single new array. To add a relation without losing the current ones, first get the current state via GET /v1/smart-processes/:entityTypeId, add the new record to the array, and pass the entire updated list.

The same applies to child and linkedUserFields — this is a "full overwrite", not a "per-record patch".

An empty body ({}) is allowed. A PATCH with an empty object returns HTTP 200 and the current state of the type, changing nothing.

Changing entityTypeId is not possible — it is set at creation and serves as a stable identifier of the type.

See also