For AI agents: markdown of this page — /docs-content-en/entities/booking-resource-types/update.md documentation index — /llms.txt
Update: Booking resource types
PATCH /v1/booking-resource-types/:id
Requires booking scope. Writes require READWRITE. Body fields are flat, without an outer fields object. Setting work hours does not create a booking.
Bitrix24 enables client notifications by default. Explicitly disable all six is*NotificationOn switches to prevent SMS/WhatsApp notifications. Cards return booleans; writes accept booleans or Y/N.
Bitrix24 preserves omitted fields. Some cloud versions require a new code for type PATCH and reject the existing code as a duplicate; this returns 422. No automatic rename. The response contains the reread card. A failed reread does not undo the completed write.
Parameters
| Field | Description |
|---|---|
| id | Identifier from list. |
| name | Changed field. |
| code | Changed field. |
Other card fields: senderCode, notification delays/repetitions, templateTypeInfo|Confirmation|Reminder|Feedback|Delayed.
Response fields
success: true, data: resource/type card with id, name and notification settings; fields can be null.
{
"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
}
}
Examples
cURL — personal key
curl -X PATCH "https://vibecode.bitrix24.com/v1/booking-resource-types/7" -H "X-Api-Key: $VIBE_API_KEY" -H 'Content-Type: application/json' -d '{"name":"Updated specialists","code":"VIBE-PROBE-SPECIALIST-NEW"}'
cURL — OAuth
curl -X PATCH "https://vibecode.bitrix24.com/v1/booking-resource-types/7" -H "X-Api-Key: $VIBE_API_KEY" -H "Authorization: Bearer $SESSION_TOKEN" -H 'Content-Type: application/json' -d '{"name":"Updated specialists","code":"VIBE-PROBE-SPECIALIST-NEW"}'
JavaScript — personal key
const response = await fetch('https://vibecode.bitrix24.com/v1/booking-resource-types/7', {
method: 'PATCH',
headers: { 'X-Api-Key': apiKey, 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Updated specialists","code":"VIBE-PROBE-SPECIALIST-NEW"}),
});
console.log(await response.json());
JavaScript — OAuth
const response = await fetch('https://vibecode.bitrix24.com/v1/booking-resource-types/7', {
method: 'PATCH',
headers: { 'X-Api-Key': apiKey, Authorization: `Bearer ${sessionToken}`, 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Updated specialists","code":"VIBE-PROBE-SPECIALIST-NEW"}),
});
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 |
404 — record not found:
{"success":false,"error":{"code":"ENTITY_NOT_FOUND","message":"Booking record not found"}}