For AI agents: markdown of this page — /docs-content-en/entities/calendar-resources/list.md documentation index — /llms.txt
List calendar resources
GET /v1/calendar-resources
Returns the calendar resources of the Bitrix24 account — use it to find a resource ID for bookings, renaming and deletion.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
Parameterlimit (query) |
Typenumber | Default50 |
DescriptionNumber of records, up to 5000 |
Parameteroffset (query) |
Typenumber | Default0 |
DescriptionHow many records to skip from the start of the list |
Parameterselect (query) |
Typestring | Default— | DescriptionComma-separated response fields: ?select=id,name. Field list — GET /v1/calendar-resources/fields |
ParameterwithTotal (query) |
Typeboolean | Default— | DescriptionRequests the total count. Has no effect: meta.total is always returned, including with false |
Pagination. Vibecode fetches the whole resource list and returns the window [offset, offset + limit). The maximum is 5000 records per call. meta.total is the total number of resources; meta.hasMore shows whether there are resources beyond the window.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/calendar-resources?limit=3" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/calendar-resources?limit=3" \
-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/calendar-resources?limit=3', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(`Resources in the Bitrix24 account: ${meta.total}`)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/calendar-resources?limit=3', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of resources |
Fielddata[].id |
Typenumber | DescriptionResource ID |
Fielddata[].name |
Typestring | DescriptionResource name |
Fielddata[].createdBy |
Typenumber | DescriptionID of the employee who created the resource. List: GET /v1/users |
Fieldmeta.total |
Typenumber | DescriptionTotal number of resources in the Bitrix24 account |
Fieldmeta.hasMore |
Typeboolean | DescriptionWhether there are resources beyond the limit and offset window |
Fieldmeta.warnings |
Typearray | DescriptionWarnings about request parameters — objects { code, message, field }. Returned, for example, for limit=0 with code LIMIT_ZERO_IGNORED and for an unknown field in select with code UNKNOWN_SELECT_FIELD |
Response example
{
"success": true,
"data": [
{
"id": 7,
"name": "Museum hall",
"createdBy": 1
},
{
"id": 49,
"name": "resource 1",
"createdBy": 835
},
{
"id": 51,
"name": "resource 2",
"createdBy": 835
}
],
"meta": {
"total": 9,
"hasMore": true
}
}
Error response example
400 — a filter was passed:
{
"success": false,
"error": {
"code": "UNSUPPORTED_FILTER",
"message": "calendar-resources list does not support filter[]; B24 method \"calendar.resource.list\" takes no list parameters at all. Filter keys received: name. Filter it on your side."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeUNSUPPORTED_FILTER |
Descriptionfilter was passed. The list does not support filtering — filter resources on your side |
| HTTP400 | CodeINVALID_SORT_FIELD |
Descriptionorder or sort was passed. The list does not support sorting |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the calendar scope |
| HTTP403 | CodeBITRIX_ACCESS_DENIED |
DescriptionBitrix24 denied the key owner access to calendar resources |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe API key has no configured tokens |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header is missing |
| HTTP429 | CodeRATE_LIMITED |
DescriptionRequest limit exceeded |
| HTTP502 | CodeBITRIX_UNAVAILABLE |
DescriptionBitrix24 is unavailable or returned a malformed response |
| HTTP503 | CodeBITRIX_TIMEOUT |
DescriptionBitrix24 did not respond in time |
Full list of common API errors — Errors.
Known specifics
A single resource is available only through the list. There is no endpoint for reading a single resource: GET /v1/calendar-resources/:id returns 404 ROUTE_NOT_FOUND. Find the resource you need in this list by id or name.
id is returned with any select. A request with an unknown name in select is not rejected — the response still contains the id of each resource.