#Smart process type list
GET /v1/smart-processes
Returns the smart process types on the portal. Each type has an entityTypeId — use it to work with items via /v1/items/:entityTypeId.
#Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
filter |
object | — | Filter by fields. Example: ?filter[isStagesEnabled]=true. Filtering syntax |
select |
string | — | Field selection: ?select=id,title,entityTypeId |
sort |
string | — | Sort by field: ?sort=title (ascending), ?sort=-createdTime (descending) |
limit |
number | — | Limit the number of records in the response |
The list of fields for filter and select — Type fields.
For complex filter conditions (several fields at once) it is more convenient to use Search types — a POST with a body instead of a query string.
#Examples
#curl — personal key
curl "https://vibecode.bitrix24.tech/v1/smart-processes" \
-H "X-Api-Key: YOUR_API_KEY"
#curl — OAuth app
curl "https://vibecode.bitrix24.tech/v1/smart-processes" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
#JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.tech/v1/smart-processes', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
for (const sp of data) {
console.log(`${sp.title}: entityTypeId=${sp.entityTypeId}`)
}
#JavaScript — OAuth app
const res = await fetch('https://vibecode.bitrix24.tech/v1/smart-processes', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
#Response fields
| Field | Type | Description |
|---|---|---|
data |
array | Array of smart process types. Fields of each type — see Type fields |
The item list of any type from the data array opens in Bitrix24 by entityTypeId:
https://<portal>.bitrix24.ru/crm/type/<entityTypeId>/list/category/0/
0 — the primary funnel. <portal> — the portal domain. Access is restricted by the employee's permissions in Bitrix24.
#Response example
{
"success": true,
"data": [
{
"id": 3,
"entityTypeId": 174,
"title": "Contracts",
"code": null,
"customSectionId": null,
"isCategoriesEnabled": true,
"isStagesEnabled": true,
"isClientEnabled": true,
"isLinkWithProductsEnabled": true,
"isObserversEnabled": true,
"isSourceEnabled": true,
"isAutomationEnabled": true,
"isBizProcEnabled": true,
"isDocumentsEnabled": true,
"isRecyclebinEnabled": true,
"isSetOpenPermissions": true,
"isUseInUserfieldEnabled": true,
"createdBy": 1,
"updatedBy": 1,
"createdTime": "2021-07-20T16:04:10+03:00",
"updatedTime": "2024-07-19T14:27:27+03:00"
}
]
}
#Error response example
403 — no scope:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'crm' scope"
}
}
#Errors
| HTTP | Code | Description |
|---|---|---|
| 401 | MISSING_API_KEY |
X-Api-Key header not provided |
| 401 | INVALID_API_KEY |
Key not found or revoked |
| 403 | SCOPE_DENIED |
API key lacks the crm scope |
| 401 | TOKEN_MISSING |
API key has no configured tokens |
| 422 | BITRIX_ERROR |
Error from Bitrix24. Specific cause is in the message field |
Full list of common API errors — Errors.
#Known specifics
entityTypeId — the key field. Save it and pass it to /v1/items/:entityTypeId to work with items of this type.
No pagination. The response contains all smart process types of the portal in a single array. In practice there are usually dozens of types, not thousands — this is not a problem.
#See also
- Create type —
POST /v1/smart-processes - Get type — a single type by
entityTypeId - Type fields — full field list
- Search types — POST with filters
- Smart process items — CRUD over items
- Filtering syntax
- Limits and optimization — rate limits