# List: Booking resource types

`GET /v1/booking-resource-types`

Requires `booking` scope. Writes require READWRITE. Body fields are flat, without an outer fields object. Setting work hours does not create a booking.

Complete list up to 500 types. The Bitrix24 total is ignored; page length determines exhaustion, traversal uses id order. `filter` is a JSON object of native Bitrix24 filters. `order` is a JSON object of id/name/code with ASC/DESC, applied after traversal. No public pagination. Concurrent changes do not form a snapshot.

## Parameters

| Field | Description |
|---|---|

## Response fields

`success: true`, `data`: resource/type card with id, name and notification settings; fields can be null.

```json
{
  "success": true,
  "data": [
    {
      "id": 7,
      "name": "VIBE-PROBE Specialists",
      "code": "VIBE-PROBE-SPECIALIST",
      "isInfoNotificationOn": false,
      "isConfirmationNotificationOn": false,
      "isReminderNotificationOn": false,
      "isFeedbackNotificationOn": false,
      "isDelayedNotificationOn": false,
      "isCancellationNotificationOn": false
    }
  ],
  "meta": {
    "total": 1,
    "hasMore": false
  }
}
```

## Examples

### cURL — personal key

```bash
curl -X GET "https://vibecode.bitrix24.com/v1/booking-resource-types" -H "X-Api-Key: $VIBE_API_KEY"
```

### cURL — OAuth

```bash
curl -X GET "https://vibecode.bitrix24.com/v1/booking-resource-types" -H "X-Api-Key: $VIBE_API_KEY" -H "Authorization: Bearer $SESSION_TOKEN"
```

### JavaScript — personal key

```javascript
const response = await fetch('https://vibecode.bitrix24.com/v1/booking-resource-types', {
  method: 'GET',
  headers: { 'X-Api-Key': apiKey },
});
console.log(await response.json());
```

### JavaScript — OAuth

```javascript
const response = await fetch('https://vibecode.bitrix24.com/v1/booking-resource-types', {
  method: 'GET',
  headers: { 'X-Api-Key': apiKey, Authorization: `Bearer ${sessionToken}` },
});
console.log(await response.json());
```

## Errors

| HTTP | Code | Condition |
|---|---|---|
| 400 | INVALID_PARAMS | Malformed path/body/query |
| 400 | MISSING_REQUIRED_FIELDS | Missing name for resource create or code for type create |
| 400 | READONLY_FIELD | id in write body |
| 401 | TOKEN_MISSING | No Bitrix24 credentials |
| 403 | SCOPE_DENIED | Missing booking scope |
| 403 | WRITE_BLOCKED_READONLY_KEY | Write with read-only key |
| 404 | ENTITY_NOT_FOUND | Missing record |
| 422 | BITRIX_ERROR | Bitrix24 business refusal |
| 429 | RATE_LIMITED | Rate limit |
| 502 | BITRIX_RESPONSE_INVALID | Invalid upstream payload |
| 503 | BITRIX_TIMEOUT | Upstream timeout |

[Errors](/docs/errors).

404 — record not found:

```json
{"success":false,"error":{"code":"ENTITY_NOT_FOUND","message":"Booking record not found"}}
```
