Per gli agenti AI: markdown di questa pagina — /docs-content-en/entities/automated-solutions.md indice della documentazione — /llms.txt
Gli articoli della documentazione sono attualmente disponibili solo in inglese.
Digital workspaces
Manage CRM digital workspaces: create, get, update and delete them, and bind smart process types to them. A workspace is a separate section of the Bitrix24 account that groups the smart processes bound to it.
Bitrix24 API: crm.automatedsolution.*
Scope: crm
Create workspace
POST /v1/automated-solutions
Creates a CRM digital workspace — a separate section of the Bitrix24 account to which smart process types can be bound in the same request.
Fields are passed flat at the JSON root — without a fields wrapper.
Request fields (body)
| Field | Type | Required | Description |
|---|---|---|---|
Fieldtitle |
Typestring | Requiredyes | DescriptionWorkspace name |
FieldtypeIds |
Typenumber[] | Requiredno | DescriptionIDs of the smart process types to bind to the workspace — the type id field from GET /v1/smart-processes, not its entityTypeId. If the key is omitted, the workspace is created with no bound types. A value that matches no type of the portal (an entityTypeId included) is rejected with 400 UNKNOWN_TYPE_ID before the portal is called, when the portal's type list is available — see Errors |
Examples
curl — personal key
curl -X POST "https://vibecode.bitrix24.com/v1/automated-solutions" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "HR processes",
"typeIds": [63]
}'
curl — OAuth application
curl -X POST "https://vibecode.bitrix24.com/v1/automated-solutions" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "HR processes",
"typeIds": [63]
}'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/automated-solutions', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'HR processes',
typeIds: [63],
}),
})
const { success, data } = await res.json()
console.log('Workspace ID:', data.id, 'bound types:', data.typeIds)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/automated-solutions', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'HR processes',
typeIds: [63],
}),
})
const { success, data } = await res.json()
console.log('Workspace ID:', data.id, 'bound types:', data.typeIds)
Response fields
The response code is 201 Created.
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue on successful creation |
Fielddata.id |
Typenumber | DescriptionIdentifier of the created workspace |
Fielddata.title |
Typestring | DescriptionWorkspace name |
Fielddata.typeIds |
Typenumber[] | DescriptionIDs of the smart process types actually bound to the workspace. List of types: GET /v1/smart-processes, field id |
Response example
{
"success": true,
"data": {
"id": 9,
"title": "HR processes",
"typeIds": [63]
}
}
Error response example
400 — the required title field is missing:
{
"success": false,
"error": {
"code": "MISSING_REQUIRED_FIELDS",
"message": "Body field \"title\" is required to create automatedSolution."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeMISSING_REQUIRED_FIELDS |
DescriptionThe body has no title. The request is rejected before it reaches the Bitrix24 portal |
| HTTP400 | CodeUNKNOWN_TYPE_ID |
DescriptiontypeIds contains a value that matches no smart process type of the portal — an entityTypeId instead of the id, for example. The request is rejected before the portal is called, when the portal's type list is available; error.details.unknown names such values and error.details.knownIds the available IDs |
| HTTP400 | CodeINVALID_PARAMS |
DescriptiontypeIds was sent as an object: that shape names no type at all |
| HTTP400 | CodeREADONLY_FIELD |
DescriptionThe body contains id — a read-only field |
| HTTP403 | CodeB24_AUTOMATED_SOLUTION_LIMIT_EXCEEDED |
DescriptionThe portal has reached its limit on the number of workspaces; in the Bitrix24 cloud the limit depends on the plan. Retrying the request does not help. error.hint suggests what to do: move the types and delete an empty workspace, or upgrade the plan |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header is missing |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the crm scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe API key has no configured tokens |
Full list of common API errors — Errors.
Known specifics
A typeIds value with no matching type rejects the request. A value that matches no smart process type of the portal, including an entityTypeId passed instead of the id, is answered with 400 UNKNOWN_TYPE_ID before the portal is called, and no workspace is created: otherwise Bitrix24 would drop the value in silence and the workspace would appear with 201 but without that type. The response lists the unknown values in error.details.unknown and the available IDs in error.details.knownIds; when an entityTypeId was sent, it names the id of the matching type. The check relies on the portal's type list: if it is unavailable or incomplete, the write proceeds unchecked — in that case compare typeIds in the response.