Get the list of resources booking.v1.resource.list
Scope:
bookingWho can execute the method: any user
The method booking.v1.resource.list returns a list of resources based on a filter. It is an implementation of the listing method for resources.
Method Parameters
|
FILTER |
Object for filtering the list of resources in the format
|
|
ORDER |
Object for sorting the list of resources in the format
The sorting direction can take the following values:
The default value is |
Filter Parameters
|
Name |
Description |
|
searchQuery |
Search query. Searches by substring in the resource name |
|
isMain |
Filter by resource display setting. Possible values:
|
|
typeId |
Identifier of the resource type. The list of available types can be obtained using the method booking.v1.resourceType.list |
|
name |
Name of the resource |
|
description |
Description of the resource |
Use either searchQuery for substring search or name for exact match search.
Order Parameters
|
Name |
Description |
|
id |
Sort by identifier |
|
name |
Sort by name |
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"searchQuery":"car","isMain":"Y","typeId":1},"order":{"id":"ASC","name":"DESC"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/booking.v1.resource.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"filter":{"searchQuery":"car","isMain":"Y","typeId":1},"order":{"id":"ASC","name":"DESC"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/booking.v1.resource.list
// callListMethod: Retrieves all data at once. Use only for small selections (< 1000 items) due to high memory usage.
try {
const response = await $b24.callListMethod(
'booking.v1.resource.list',
{
filter: {
"searchQuery": "car",
"isMain": "Y",
"typeId": 1
},
order: {
id: "ASC",
name: "DESC"
}
},
(progress) => { console.log('Progress:', progress) }
);
const items = response.getData() || [];
for (const entity of items) { console.log('Entity:', entity); }
} catch (error) {
console.error('Request failed', error);
}
// fetchListMethod: Retrieves data in parts using an iterator. Use it for large data volumes to optimize memory usage.
try {
const generator = $b24.fetchListMethod('booking.v1.resource.list', {
filter: {
"searchQuery": "car",
"isMain": "Y",
"typeId": 1
},
order: {
id: "ASC",
name: "DESC"
}
}, 'ID');
for await (const page of generator) {
for (const entity of page) { console.log('Entity:', entity); }
}
} catch (error) {
console.error('Request failed', error);
}
// callMethod: Manually controls pagination through the start parameter. Use it for precise control of request batches. For large datasets, it is less efficient than fetchListMethod.
try {
const response = await $b24.callMethod('booking.v1.resource.list', {
filter: {
"searchQuery": "car",
"isMain": "Y",
"typeId": 1
},
order: {
id: "ASC",
name: "DESC"
}
}, 0);
const result = response.getData().result || [];
for (const entity of result) { console.log('Entity:', entity); }
} catch (error) {
console.error('Request failed', error);
}
try {
$response = $b24Service
->core
->call(
'booking.v1.resource.list',
[
'filter' => [
'searchQuery' => 'car',
'isMain' => 'Y',
'typeId' => 1,
],
'order' => [
'id' => 'ASC',
'name' => 'DESC',
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error calling booking.v1.resource.list: ' . $e->getMessage();
}
BX24.callMethod(
"booking.v1.resource.list",
{
filter: {
"searchQuery": "car",
"isMain": "Y",
"typeId": 1
},
order: {
id: "ASC",
name: "DESC"
}
},
result => {
if (result.error())
console.error(result.error());
else
console.dir(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'booking.v1.resource.list',
[
'filter' => [
'searchQuery' => 'car',
'isMain' => 'Y',
'typeId' => 1
],
'order' => [
'id' => 'ASC',
'name' => 'DESC'
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP status: 200
{
"result": {
"resource": [
{
"confirmationCounterDelay": 10800,
"confirmationNotificationDelay": 86400,
"confirmationNotificationRepetitions": null,
"confirmationNotificationRepetitionsInterval": 10800,
"delayedCounterDelay": 300,
"delayedNotificationDelay": 300,
"description": null,
"id": 5,
"infoNotificationDelay": null,
"isConfirmationNotificationOn": "Y",
"isDelayedNotificationOn": "Y",
"isFeedbackNotificationOn": "N",
"isInfoNotificationOn": "Y",
"isMain": "Y",
"isReminderNotificationOn": "Y",
"name": "Sedan 1",
"reminderNotificationDelay": -1,
"templateTypeConfirmation": "inanimate",
"templateTypeDelayed": "inanimate",
"templateTypeFeedback": "inanimate",
"templateTypeInfo": "inanimate",
"templateTypeReminder": "base",
"typeId": 1
},
{
"confirmationCounterDelay": 10800,
"confirmationNotificationDelay": 86400,
"confirmationNotificationRepetitions": null,
"confirmationNotificationRepetitionsInterval": 10800,
"delayedCounterDelay": 300,
"delayedNotificationDelay": 300,
"description": null,
"id": 7,
"infoNotificationDelay": null,
"isConfirmationNotificationOn": "Y",
"isDelayedNotificationOn": "Y",
"isFeedbackNotificationOn": "N",
"isInfoNotificationOn": "Y",
"isMain": "Y",
"isReminderNotificationOn": "Y",
"name": "Sedan 2",
"reminderNotificationDelay": -1,
"templateTypeConfirmation": "inanimate",
"templateTypeDelayed": "inanimate",
"templateTypeFeedback": "inanimate",
"templateTypeInfo": "inanimate",
"templateTypeReminder": "base",
"typeId": 1
}
]
},
"time": {
"start": 1746540454.261779,
"finish": 1746540454.303483,
"duration": 0.04170393943786621,
"processing": 0.009412050247192383,
"date_start": "2025-05-06T17:07:34+02:00",
"date_finish": "2025-05-06T17:07:34+02:00",
"operating_reset_at": 1746541054,
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
Root element of the response. Contains an array of objects with information about resources. The structure is described below |
|
time |
Information about the execution time of the request |
Resource
|
confirmationCounterDelay |
Time until the record in seconds, after which the unconfirmed record counter lights up |
|
confirmationDelay |
Time until the record in seconds, when the client receives the first message for confirmation |
|
confirmationRepetitions |
Number of messages that the client receives for confirmation, excluding the first one |
|
confirmationRepetitionsInterval |
Interval between confirmation messages, in seconds |
|
delayedCounterDelay |
Time in seconds after which to turn on the counter in the calendar |
|
delayedDelay |
Time in seconds after which to send a message to the client about the delay |
|
description |
Description of the resource |
|
id |
Identifier of the resource |
|
infoDelay |
Delay in seconds after which the client receives a message about the record |
|
isConfirmationNotificationOn |
Automatic confirmation of the record. Possible values:
|
|
isDelayedNotificationOn |
Reminder when the client is late. Possible values:
|
|
isFeedbackNotificationOn |
Request for feedback. Possible values:
|
|
isInfoNotificationOn |
Message to the client about the record. Possible values:
|
|
isMain |
How to display the resource. Possible values:
|
|
isReminderNotificationOn |
Reminder about the record. Possible values:
|
|
name |
Name of the resource |
|
reminderDelay |
Time until the record in seconds, for which the client receives a reminder about the record. |
|
templateTypeConfirmation |
Type of the confirmation message template. Possible values:
|
|
templateTypeDelayed |
Type of the delay message template. Possible values:
|
|
templateTypeFeedback |
Type of the feedback request message template. Possible values:
|
|
templateTypeInfo |
Type of the record message template. Possible values:
|
|
templateTypeReminder |
Type of the reminder message template. Possible values: |
|
typeId |
Identifier of the resource type. Information about the type can be obtained using the method booking.v1.resourceType.get |
Error Handling
HTTP status: 400
{
"error": "",
"error_description": "Invalid value {ASC} to match with parameter {order}. Should be value of type array."
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
Value |
|
|
|
The parameter |
|
|
|
The parameter |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Resource Types: Overview of Methods
- Add a New Resource booking.v1.resource.add
- Update resource booking.v1.resource.update
- Delete Resource booking.v1.resource.delete