Get a list of product properties or variations catalog.productProperty.list
Scope:
catalogWho can execute the method: a user with permission to view the catalog
The method catalog.productProperty.list returns a list of product properties and variations based on the filter.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
select |
An array containing the list of fields to select (see fields of the object catalog_product_property). If the parameter is not provided, all fields will be selected |
|
filter |
An object for filtering the selected properties in the format Possible values for An additional prefix can be specified for the key to clarify the filter behavior. Possible prefix values:
If |
|
order |
An object for sorting the selected properties in the format Possible values for Possible values for
If the parameter is not provided, sorting |
|
start |
The parameter is used to control pagination. The page size of results is always static — 50 records. To select the second page of results, pass the value The formula for calculating the If the value |
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"select":["id","name","iblockId","propertyType"],"filter":{"iblockId":19},"order":{"id":"ASC"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/catalog.productProperty.list
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"select":["id","name","iblockId","propertyType"],"filter":{"iblockId":19},"order":{"id":"ASC"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/catalog.productProperty.list
try {
const response = await $b24.callMethod('catalog.productProperty.list', {
select: ['id', 'name', 'iblockId', 'propertyType'],
filter: { iblockId: 19 },
order: { id: 'ASC' }
});
console.log(response.getData().result);
} catch (error) {
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'catalog.productProperty.list',
[
'select' => ['id', 'name', 'iblockId', 'propertyType'],
'filter' => [
'iblockId' => 19,
],
'order' => ['id' => 'ASC'],
]
);
print_r($response->getResponseData()->getResult());
} catch (\Throwable $exception) {
echo $exception->getMessage();
}
BX24.callMethod(
'catalog.productProperty.list',
{
select: ['id', 'name', 'iblockId', 'propertyType'],
filter: {
iblockId: 19
},
order: { id: 'ASC' }
},
function(result) {
if (result.error()) {
console.error(result.error());
} else {
console.log(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'catalog.productProperty.list',
[
'select' => ['id', 'name', 'iblockId', 'propertyType'],
'filter' => ['iblockId' => 19],
'order' => ['id' => 'ASC'],
]
);
print_r($result);
Response Handling
HTTP Status: 200
{
"result": {
"productProperties": [
{
"iblockId": 19,
"id": 115,
"name": "Brand",
"propertyType": "L"
},
{
"iblockId": 19,
"id": 659,
"name": "Category",
"propertyType": "S"
},
... // description for each property
]
},
"next": 50,
"total": 51,
"time": {
"start": 1773933226,
"finish": 1773933226.400275,
"duration": 0.40027499198913574,
"processing": 0,
"date_start": "2026-03-19T18:13:46+02:00",
"date_finish": "2026-03-19T18:13:46+02:00",
"operating_reset_at": 1773933826,
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
The root object of the response |
|
productProperties |
An array of objects with information about the selected properties |
|
next |
Offset for the next page. The field is returned if there are more records |
|
total |
Total number of records. The field is not returned if the request is made with |
|
time |
Information about the execution time of the request |
Error Handling
HTTP Status: 400
{
"error": "0",
"error_description": "Access Denied"
}
|
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
|
Status |
Code |
Description |
Value |
|
|
|
Access Denied |
Insufficient rights to view the catalog |
|
|
|
Invalid value { |
Invalid data type for the value of the |
|
|
|
Invalid value { |
Invalid data type for the value of the |
|
|
|
Invalid value { |
Invalid data type for the value of the |
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
- Add Product Property or Variation catalog.productProperty.add
- Update Product or Variation Property catalog.productProperty.update
- Get Values of Product or Variation Property Fields catalog.productProperty.get
- Delete product property or variation catalog.productProperty.delete
- Get Product or Variation Property Fields catalog.productProperty.getFields