For AI agents: markdown of this page — /docs-content-en/entities/automated-solutions/list.md documentation index — /llms.txt
List workspaces
GET /v1/automated-solutions
Returns the digital workspaces of the Bitrix24 account together with the smart process types bound to each workspace.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
filter (query) |
object | — | Filter by the id and title fields from GET /v1/automated-solutions/fields.Filtering syntax. Example: ?filter[id]=7 |
order (query) |
object | id ascending |
Sort by the id and title fields: ?order[title]=asc. Short form: ?sort=title; descending: ?sort=-title |
select (query) |
string | — | Field selection: ?select=id,title |
limit (query) |
number | 50 |
Number of records, up to 5000 |
offset (query) |
number | 0 |
Skip N records |
Pagination: when limit is greater than 50, Vibecode assembles the response from several pages on its own. The maximum is 5000 records per call.
Examples
curl — personal key
curl -g "https://vibecode.bitrix24.com/v1/automated-solutions?limit=10&order[title]=asc" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl -g "https://vibecode.bitrix24.com/v1/automated-solutions?limit=10&order[title]=asc" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/automated-solutions?limit=10&order[title]=asc', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
for (const place of data) {
console.log(place.id, place.title, 'types:', place.typeIds.length)
}
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/automated-solutions?limit=10&order[title]=asc', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of workspaces |
data[].id |
number | Workspace identifier |
data[].title |
string | Workspace name |
data[].typeIds |
array | IDs of the bound smart process types — the type id field from GET /v1/smart-processes, not its entityTypeId. An empty array if no types are bound |
meta.total |
number | Total number of workspaces matching the filter |
meta.hasMore |
boolean | Whether more records exist beyond limit |
Response example
{
"success": true,
"data": [
{ "id": 9, "title": "HR processes", "typeIds": [63] },
{ "id": 11, "title": "Procurement", "typeIds": [] },
{ "id": 1, "title": "yay", "typeIds": [3, 13, 15] }
],
"meta": {
"total": 3,
"hasMore": false
}
}
Error response example
400 — filter by the typeIds field:
{
"success": false,
"error": {
"code": "UNKNOWN_FILTER_FIELD",
"message": "Unknown filter field 'typeIds' for entity 'automated-solutions'. Available: id, title"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | UNKNOWN_FILTER_FIELD |
Filter by a field other than id and title, including typeIds. The request is rejected before reaching the portal |
| 400 | UNKNOWN_SORT_FIELD |
Sort by a field other than id and title, in either of the two forms — order[typeIds]=asc or sort=typeIds. The request is rejected before reaching the portal |
| 400 | INVALID_FILTER |
The filter value could not be parsed: one request mixes the JSON form filter={...} and the square-bracket form filter[...], or the string is not a JSON object |
| 401 | MISSING_API_KEY |
The X-Api-Key header was not passed |
| 401 | TOKEN_MISSING |
The API key has no configured tokens |
| 403 | SCOPE_DENIED |
The API key does not have the crm scope |
| 429 | RATE_LIMITED |
Rate limit exceeded: 300 requests per minute per portal, all API keys of the portal share one limit. The exact value arrives in the x-ratelimit-limit header (the cap is divided across replicas). Retry after the delay in the Retry-After header |
Full list of common API errors — Errors.
Known specifics
Workspaces with the same name. When sorting by title, Vibecode adds id ascending as the second key. Workspaces with the same name come in the same order on every page, so paging through with offset neither loses nor repeats records.