For AI agents: markdown of this page — /docs-content-en/entities/booking-resource-types/list.md documentation index — /llms.txt

List: Booking resource types

GET /v1/booking-resource-types

Returns all booking resource types of the Bitrix24 account in one response, with filtering by code or name, and sorting.

Parameters

Parameter Type Required Default Description
Parameterfilter (query) Typestring Requiredno Default— DescriptionJSON filter object. Fields: code — a string or an array of strings, name — exact name, searchQuery — part of the name. Example: ?filter={"code":["equipment","expert"]}
Parameterorder (query) Typestring Requiredno Default{"id":"ASC"} DescriptionJSON object for sorting by id, name or code, with values ASC or DESC. Example: ?order={"name":"DESC"}

Pagination. There is no pagination: the list returns all matching types in one response, up to 500. The limit and offset parameters are not accepted — a request with them is rejected with 400 INVALID_PARAMS. Pass filter and order URL-encoded, as in the examples.

Examples

curl — personal key

Terminal
curl -G "https://vibecode.bitrix24.com/v1/booking-resource-types" \
  -H "X-Api-Key: YOUR_API_KEY" \
  --data-urlencode 'filter={"code":["equipment","expert"]}'

curl — OAuth application

Terminal
curl -G "https://vibecode.bitrix24.com/v1/booking-resource-types" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  --data-urlencode 'filter={"code":["equipment","expert"]}'

JavaScript — personal key

javascript
const params = new URLSearchParams({
  filter: JSON.stringify({ code: ['equipment', 'expert'] }),
})

const res = await fetch(`https://vibecode.bitrix24.com/v1/booking-resource-types?${params}`, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { data, meta } = await res.json()
console.log(meta.total, data.map((type) => type.code))

JavaScript — OAuth application

javascript
const params = new URLSearchParams({
  filter: JSON.stringify({ code: ['equipment', 'expert'] }),
})

const res = await fetch(`https://vibecode.bitrix24.com/v1/booking-resource-types?${params}`, {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { data, meta } = await res.json()
console.log(meta.total, data.map((type) => type.code))

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on success
Fielddata Typearray DescriptionArray of type cards. The card fields are listed in the "Response fields" section of the Get a booking resource type page
Fieldmeta.total Typenumber DescriptionNumber of types in the response
Fieldmeta.hasMore Typeboolean DescriptionAlways false: the list arrives whole

Response example

The main card fields are shown. The full set is on the Get a booking resource type page.

JSON
{
  "success": true,
  "data": [
    {
      "id": 3,
      "code": "equipment",
      "name": "Equipment",
      "senderCode": null,
      "isInfoNotificationOn": true,
      "isConfirmationNotificationOn": true,
      "isReminderNotificationOn": true,
      "isFeedbackNotificationOn": false,
      "isDelayedNotificationOn": true,
      "isCancellationNotificationOn": true,
      "templateTypeConfirmation": "inanimate"
    },
    {
      "id": 5,
      "code": "expert",
      "name": "Expert",
      "senderCode": null,
      "isInfoNotificationOn": true,
      "isConfirmationNotificationOn": true,
      "isReminderNotificationOn": true,
      "isFeedbackNotificationOn": false,
      "isDelayedNotificationOn": true,
      "isCancellationNotificationOn": true,
      "templateTypeConfirmation": "animate"
    }
  ],
  "meta": {
    "total": 2,
    "hasMore": false
  }
}

Error response example

400 — the filter field is not supported:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Unknown resource type filter"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionA filter field is not one of the allowed fields. Message Unknown resource type filter
HTTP400 CodeINVALID_PARAMS DescriptionA filter field value is an object. Message Filter values must be scalars or scalar arrays
HTTP400 CodeINVALID_PARAMS DescriptionSorting by a field other than id, name or code, or in a direction other than ASC / DESC. Message Invalid resource type order
HTTP400 CodeINVALID_PARAMS Descriptionfilter or order is not JSON. Message filter and order must be JSON objects
HTTP400 CodeINVALID_PARAMS Descriptionfilter or order is JSON but not an object, for example an array. Message filter and order must be objects
HTTP400 CodeINVALID_PARAMS DescriptionA parameter other than filter and order is passed. Message Only filter and order are supported
HTTP400 CodeINVALID_PARAMS DescriptionA parameter is passed twice. Message Repeated query parameters are not supported
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is not passed
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no Bitrix24 tokens
HTTP403 CodeSCOPE_DENIED DescriptionThe key does not have the booking scope
HTTP429 CodeRATE_LIMITED DescriptionRequest rate exceeded. The effective cap is in the x-ratelimit-limit header
HTTP502 CodeBITRIX_RESPONSE_INVALID DescriptionThe Bitrix24 account has more than 500 types, or Bitrix24 returned a list of an unexpected shape

Full list of common API errors — Errors.

Known specifics

A filter by id does not work. The id field and uppercase field names, for example CODE, pass validation but do not filter records: the response contains all types of the Bitrix24 account. To get a single type by its identifier, call GET /v1/booking-resource-types/:id.

Built-in types. Besides the types created through the API, the list contains types that Bitrix24 creates on its own, for example equipment — "Equipment" and room — "Property".

See also