Data Types and Object Structure in the REST API Catalog
- Data Types
- Object Structure
- catalog_catalog
- catalog_document
- catalog_userfield_document
- catalog_document_element
- catalog_documentcontractor
- catalog_product
- catalog_product_property
- catalog_product_property_enum
- catalog_product_property_features
- catalog_product_property_section
- catalog_product_sku
- catalog_product_offer
- catalog_product_service
- catalog_product_image
- catalog_store
- catalog_measure
- catalog_ratio
- catalog_price
- catalog_price_type
- catalog_price_type_group
- catalog_enum
- catalog_price_type_lang
- catalog_language
- catalog_rounding_rule
- catalog_extra
- catalog_section
- catalog_storeproduct
- catalog_vat
- Objects Used in Responses
If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.
Basic data types are listed in a separate article.
In this article, we will explore the data types and object structure specific to the CRM Catalog.
Data Types
|
Type |
Descriptions and Values |
|
Integer identifier of the trade catalog (e.g., |
|
|
Integer identifier of the inventory document, for example |
|
|
Integer identifier of the product in the inventory document, for example |
|
|
Integer identifier of the supplier binding to the inventory document, for example |
|
|
Integer identifier of the product (e.g., |
|
|
Integer identifier of the product property or variation (e.g., |
|
|
Integer identifier of the parent product (e.g., |
|
|
Integer identifier of the product variation (e.g., |
|
|
Integer identifier of the service (e.g., |
|
|
Integer identifier of the product image (e.g., |
|
|
Integer identifier of the warehouse (e.g., |
|
|
Integer identifier of the unit of measurement (e.g., |
|
|
Integer identifier of the unit of measurement ratio (e.g., |
|
|
Integer identifier of the price, for example |
|
|
Integer identifier of the price type (e.g., |
|
|
Integer identifier of the translation of price type names (e.g., |
|
|
String identifier of the language, consisting of two characters (e.g., |
|
|
Integer identifier of the price rounding rule (e.g., |
|
|
Integer identifier of the markup (e.g., |
|
|
Integer identifier of the catalog section (e.g., |
|
|
Integer identifier of the record of product stock in the warehouse, for example |
|
|
Integer identifier of the VAT rate (e.g., |
Object Structure
catalog_catalog
|
Value |
Description |
|
id |
Identifier of the trade catalog |
|
iblockId |
Identifier of the information block of the trade catalog |
|
iblockTypeId |
Type of the information block of the trade catalog. For CRM trade catalogs, it has a constant value of |
|
lid |
Site identifier. Has a constant value of |
|
name |
Name of the trade catalog |
|
productIblockId |
Identifier of the parent information block of the trade catalog. Filled only for trade catalogs of variations. To obtain existing identifiers of information blocks, you need to use catalog.catalog.list |
|
skuPropertyId |
Identifier of the property that stores the identifier of the parent product. Filled only for trade catalogs of variations. To obtain existing identifiers of properties, you need to use catalog.productProperty.list |
|
subscription |
Is content sold? Possible values:
This parameter is used only in the on-premise version |
|
vatId |
Identifier of VAT. To obtain existing identifiers of VAT, you need to use catalog.vat.list |
catalog_document
|
Name |
Description |
|
id |
Identifier of the inventory document |
|
docType |
Type of document. Available types can be obtained using the catalog.enum.getStoreDocumentTypes method |
|
docNumber |
Internal document number. If not provided, it is generated automatically |
|
title |
Title of the document |
|
siteId |
Site code to which the document relates. Default is |
|
responsibleId |
Identifier of the responsible person |
|
createdBy |
Identifier of the user who created the document |
|
modifiedBy |
Identifier of the user who modified the document |
|
status |
Document status:
The value is automatically changed when the document is approved or canceled |
|
statusBy |
User who changed the document status |
|
dateStatus |
Date of status change |
|
dateCreate |
Date of document creation |
|
dateModify |
Date of last modification of the document |
|
dateDocument |
Date of document approval |
|
currency |
Currency of the document |
|
total |
Total amount for the products in the document. The value is calculated automatically after approval but can be set manually |
|
commentary |
Commentary for the document |
catalog_userfield_document
|
Name |
Description |
|
documentId |
Identifier of the inventory document |
|
documentType |
Type of inventory document |
|
fieldN |
Value of the custom field of the document, where |
catalog_document_element
|
Value |
Description |
|
id |
Identifier of the product in the inventory document |
|
docId |
Identifier of the inventory document |
|
elementId |
Identifier of the catalog product |
|
storeFrom |
Identifier of the source warehouse. Used for documents where write-off is required |
|
storeTo |
Identifier of the recipient warehouse. Used for incoming and transfer documents |
|
amount |
Quantity of the product |
|
purchasingPrice |
Purchasing price |
catalog_documentcontractor
|
Value |
Description |
|
id |
Identifier of the supplier binding to the inventory document |
|
documentId |
Identifier of the inventory document to which the supplier is bound |
|
entityTypeId |
Identifier of the CRM object type: |
|
entityId |
Identifier of the supplier: contact or company |
catalog_product
|
Value |
Description |
|
id |
Identifier of the product |
|
iblockId |
Identifier of the information block of the trade catalog. To obtain existing identifiers of information blocks, you need to use catalog.catalog.list |
|
name |
Name of the product |
|
active |
Activity indicator. Possible values:
|
|
available |
Availability for purchase. Read-only. Possible values:
|
|
code |
Symbolic code |
|
xmlId |
External code |
|
barcodeMulti |
Unique barcodes for each instance. Possible values:
|
|
bundle |
Availability of a set. Possible values:
|
|
canBuyZero |
Is purchase of the product allowed when it is out of stock? Possible values:
|
|
createdBy |
Created by |
|
modifiedBy |
Modified by |
|
dateActiveFrom |
Date of activity start |
|
dateActiveTo |
Date of activity end |
|
dateCreate |
Date of creation |
|
timestampX |
Date of modification. Read-only |
|
iblockSectionId |
Identifier of the information block section |
|
measure |
Unit of measurement |
|
previewText |
Description for the announcement |
|
detailText |
Detailed description |
|
previewPicture |
Picture for the announcement. Object in the format To delete the picture, use the object in the format |
|
detailPicture |
Detailed picture. Object in the format To delete the picture, use the object in the format |
|
previewTextType |
Type of description for the announcement. Possible values:
|
|
detailTextType |
Type of detailed description. Possible values:
|
|
sort |
Sorting |
|
subscribe |
Permission to subscribe to the product. Possible values:
|
|
vatId |
Identifier of VAT |
|
vatIncluded |
Is VAT included in the price? Possible values:
|
|
height |
Height of the product |
|
length |
Length of the product |
|
weight |
Weight of the product |
|
width |
Width of the product |
|
quantityTrace |
Quantity accounting mode. Possible values:
|
|
type |
Type of product. Read-only. Possible values:
|
|
purchasingCurrency |
Currency of the purchasing price. The list of currencies can be obtained using the crm.currency.list method. Not editable when inventory accounting is enabled |
|
purchasingPrice |
Purchasing price. Not editable when inventory accounting is enabled |
|
quantity |
Quantity. Not editable when inventory accounting is enabled |
|
quantityReserved |
Reserved quantity. Not editable when inventory accounting is enabled |
|
recurSchemeLength |
Length of the payment period. Used only in the on-premise version for content sales |
|
recurSchemeType |
Unit of time for the payment period. Possible values:
Used only in the on-premise version for content sales |
|
trialPriceId |
Product for trial payment. Used only in the on-premise version for content sales |
|
withoutOrder |
Renewal without placing an order. Possible values:
Used only in the on-premise version for content sales |
|
propertyN |
Value of the property of the main product, where The value is specified in the format If
|
catalog_product_property
|
Value |
Description |
|
id |
Identifier of the property |
|
timestampX |
Date and time of property modification |
|
iblockId |
Identifier of the trade catalog |
|
name |
Name of the property |
|
active |
Activity indicator. Possible values:
|
|
sort |
Sorting index |
|
code |
Symbolic code of the property |
|
defaultValue |
Default value of the property |
|
propertyType |
Basic type of the property. Allowed values:
|
|
userType |
User type of the property. The value corresponds to the specified Examples of values:
|
|
rowCount |
Number of rows in the input field |
|
colCount |
Number of columns in the input field |
|
listType |
Appearance of the list |
|
multiple |
Indicator of multiplicity. Possible values:
|
|
xmlId |
External identifier of the property |
|
fileType |
Allowed extensions for the file type property |
|
multipleCnt |
Number of input fields for multiple values |
|
linkIblockId |
Identifier of the linked information block. Available identifiers can be obtained using the catalog.catalog.list method |
|
withDescription |
Indicator of storing the description of the value |
|
searchable |
Indicator of participation in search. Possible values:
|
|
filtrable |
Indicator of participation in filtering |
|
isRequired |
Indicator of mandatory status. Possible values:
|
|
hint |
Hint for the field |
|
userTypeSettings |
Object with settings for the user type |
catalog_product_property_enum
|
Value |
Description |
|
id |
Identifier of the value of the list property |
|
propertyId |
Identifier of the product property or variation |
|
value |
Value of the list element |
|
xmlId |
External identifier of the value of the list |
|
def |
Indicator of the default value. Possible values:
|
|
sort |
Sorting index |
catalog_product_property_features
|
Value |
Description |
|
id |
Identifier of the property feature |
|
propertyId |
Identifier of the product property or variation |
|
moduleId |
Identifier of the module to which the property feature belongs |
|
featureId |
Code of the property feature |
|
isEnabled |
Indicator of the activity of the property feature. Possible values:
|
catalog_product_property_section
|
Value |
Description |
|
iblockId |
Identifier of the trade catalog |
|
propertyId |
Identifier of the product property or variation |
|
sectionId |
Identifier of the catalog section. For general section settings, the value |
|
smartFilter |
Show the property in the smart filter. Possible values:
|
|
displayType |
Appearance of the property in the smart filter. Possible values:
|
|
displayExpanded |
Show the property expanded in the filter. Possible values:
|
|
filterHint |
Hint in the smart filter for visitors |
catalog_product_sku
|
Value |
Description |
|
id |
Identifier of the parent product |
|
iblockId |
Identifier of the information block of the trade catalog. To obtain existing identifiers of information blocks, you need to use catalog.catalog.list |
|
name |
Name of the parent product |
|
active |
Activity indicator. Possible values:
|
|
available |
Availability for purchase. Read-only. Possible values:
|
|
code |
Symbolic code |
|
xmlId |
External code |
|
bundle |
Availability of a set. Possible values:
|
|
canBuyZero |
Is purchase of the parent product allowed when it is out of stock? Possible values:
For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
createdBy |
Created by |
|
modifiedBy |
Modified by |
|
dateActiveFrom |
Date of activity start |
|
dateActiveTo |
Date of activity end |
|
dateCreate |
Date of creation |
|
timestampX |
Date of modification. Read-only |
|
iblockSectionId |
Identifier of the information block section |
|
measure |
Unit of measurement. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
previewText |
Description for the announcement |
|
detailText |
Detailed description |
|
previewPicture |
Picture for the announcement. Object in the format To delete the picture, use the object in the format |
|
detailPicture |
Detailed picture. Object in the format To delete the picture, use the object in the format |
|
previewTextType |
Type of description for the announcement. Possible values:
|
|
detailTextType |
Type of detailed description. Possible values:
|
|
sort |
Sorting |
|
subscribe |
Permission to subscribe to the parent product. Possible values:
For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
vatId |
Identifier of VAT. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
vatIncluded |
Is VAT included in the price? Possible values:
For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
height |
Height of the parent product. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
length |
Length of the parent product. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
weight |
Weight of the parent product. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
width |
Width of the parent product. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
type |
Type of product. Read-only. Possible values:
|
|
purchasingCurrency |
Currency of the purchasing price. The list of currencies can be obtained using the crm.currency.list method. Not editable when inventory accounting is enabled. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
purchasingPrice |
Purchasing price. Not editable when inventory accounting is enabled. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
quantity |
Quantity. Not editable when inventory accounting is enabled. For parent products, the ability to edit this field is available only in the on-premise version when the option "Show the Trade Catalog tab for products with trade offers" is enabled |
|
propertyN |
Value of the property of the parent product, where The value is specified in the format If
|
catalog_product_offer
|
Value |
Description |
|
id |
Identifier of the product variation |
|
iblockId |
Identifier of the information block of the trade catalog. To obtain existing identifiers of information blocks, you need to use catalog.catalog.list |
|
name |
Name of the product variation |
|
active |
Activity indicator. Possible values:
|
|
available |
Availability for purchase. Read-only. Possible values:
|
|
code |
Symbolic code |
|
xmlId |
External code |
|
barcodeMulti |
Unique barcodes for each instance. Possible values:
|
|
bundle |
Availability of a set. Possible values:
|
|
canBuyZero |
Is purchase of the product variation allowed when it is out of stock? Possible values:
|
|
createdBy |
Created by |
|
modifiedBy |
Modified by |
|
dateActiveFrom |
Date of activity start |
|
dateActiveTo |
Date of activity end |
|
dateCreate |
Date of creation |
|
timestampX |
Date of modification. Read-only |
|
iblockSectionId |
Identifier of the information block section |
|
measure |
Unit of measurement |
|
previewText |
Description for the announcement |
|
detailText |
Detailed description |
|
previewPicture |
Picture for the announcement. Object in the format To delete the picture, use the object in the format |
|
detailPicture |
Detailed picture. Object in the format To delete the picture, use the object in the format |
|
previewTextType |
Type of description for the announcement. Possible values:
|
|
detailTextType |
Type of detailed description. Possible values:
|
|
sort |
Sorting |
|
subscribe |
Permission to subscribe to the product variation. Possible values:
|
|
vatId |
Identifier of VAT |
|
vatIncluded |
Is VAT included in the price? Possible values:
|
|
height |
Height of the product |
|
length |
Length of the product |
|
weight |
Weight of the product |
|
width |
Width of the product |
|
quantityTrace |
Quantity accounting mode. Possible values:
|
|
type |
Type of product. Read-only. Possible values:
|
|
purchasingCurrency |
Currency of the purchasing price. The list of currencies can be obtained using the crm.currency.list method. Not editable when inventory accounting is enabled |
|
purchasingPrice |
Purchasing price. Not editable when inventory accounting is enabled |
|
quantity |
Quantity. Not editable when inventory accounting is enabled |
|
quantityReserved |
Reserved quantity. Not editable when inventory accounting is enabled |
|
recurSchemeLength |
Length of the payment period. Used only in the on-premise version for content sales |
|
recurSchemeType |
Unit of time for the payment period. Possible values:
Used only in the on-premise version for content sales |
|
trialPriceId |
Product for trial payment. Used only in the on-premise version for content sales |
|
withoutOrder |
Renewal without placing an order. Possible values:
Used only in the on-premise version for content sales |
|
propertyN |
Value of the property of the product variation, where The value is specified in the format If
|
catalog_product_service
|
Value |
Description |
|
id |
Identifier of the service |
|
iblockId |
Identifier of the information block of the trade catalog. To obtain existing identifiers of information blocks, you need to use catalog.catalog.list |
|
name |
Name of the service |
|
active |
Activity indicator. Possible values:
|
|
available |
Availability for purchase. Read-only. Possible values:
|
|
code |
Symbolic code |
|
xmlId |
External code |
|
bundle |
Availability of a set. Possible values:
|
|
createdBy |
Created by |
|
modifiedBy |
Modified by |
|
dateActiveFrom |
Date of activity start |
|
dateActiveTo |
Date of activity end |
|
dateCreate |
Date of creation |
|
timestampX |
Date of modification. Read-only |
|
iblockSectionId |
Identifier of the information block section |
|
measure |
Unit of measurement |
|
previewText |
Description for the announcement |
|
detailText |
Detailed description |
|
previewPicture |
Picture for the announcement. Object in the format To delete the picture, use the object in the format |
|
detailPicture |
Detailed picture. Object in the format To delete the picture, use the object in the format |
|
previewTextType |
Type of description for the announcement. Possible values:
|
|
detailTextType |
Type of detailed description. Possible values:
|
|
sort |
Sorting |
|
vatId |
Identifier of VAT |
|
vatIncluded |
Is VAT included in the price? Possible values:
|
|
type |
Type of product. Read-only. Possible values:
|
|
propertyN |
Value of the property of the service, where The value is specified in the format If
|
catalog_product_image
|
Value |
Description |
|
id |
Identifier of the image |
|
name |
Name of the image |
|
productId |
Identifier of the product |
|
type |
Type of image:
|
|
createTime |
Date of image creation |
|
downloadUrl |
Download link, signed with the current access token |
|
detailUrl |
Link to the image |
catalog_store
|
Name |
Description |
|
id |
Identifier of the warehouse |
|
address |
Address of the warehouse |
|
title |
Name of the warehouse |
|
active |
Activity. Possible values:
|
|
description |
Description |
|
gpsN |
GPS latitude |
|
gpsS |
GPS longitude |
|
imageId |
Image. Object in the format
To delete the picture, use the object in the format |
|
dateModify |
Date of modification |
|
dateCreate |
Date of creation |
|
userId |
Created by |
|
modifiedBy |
Modified by |
|
phone |
Phone |
|
schedule |
Working hours |
|
xmlId |
External code. Can be used to synchronize the current warehouse with a similar position in an external system |
|
sort |
Sorting |
|
email |
|
|
issuingCenter |
Is it a pickup point? Possible values:
|
|
code |
Symbolic code |
catalog_measure
|
Value |
Description |
|
id |
Identifier of the unit of measurement |
|
code |
Code of the unit of measurement |
|
isDefault |
Is the current unit of measurement used as the default unit for new products? Possible values:
Only one unit of measurement from the entire directory can take the value |
|
measureTitle |
Title of the unit of measurement |
|
symbol |
Conditional designation |
|
symbolIntl |
International conditional designation |
|
symbolLetterIntl |
International code letter designation |
catalog_ratio
|
Value |
Description |
|
id |
Identifier of the unit of measurement ratio |
|
productId |
Identifier of the product |
|
ratio |
Ratio of the unit of measurement |
|
isDefault |
Is this unit of measurement ratio the default ratio? Possible values:
|
catalog_price
|
Value |
Description |
|
id |
Identifier of the price |
|
productId |
Identifier of the product |
|
catalogGroupId |
Identifier of the price type |
|
price |
Value of the price |
|
priceScale |
Value of the base price |
|
currency |
Currency of the price |
|
quantityFrom |
Minimum quantity for applying the price. Deprecated parameter |
|
quantityTo |
Maximum quantity for applying the price. Deprecated parameter |
|
extraId |
Identifier of the markup. Deprecated parameter |
|
timestampX |
Date of modification |
catalog_price_type
|
Value |
Description |
|
id |
Identifier of the price type |
|
name |
Code of the price type |
|
base |
Is the price type basic? Possible values:
|
|
sort |
Sorting |
|
xmlId |
External code. Can be used to synchronize the current price type with a similar position in an external system |
|
timestampX |
Date of modification |
|
createdBy |
Created by |
|
modifiedBy |
Modified by |
|
dateCreate |
Date of creation |
catalog_price_type_group
|
Value |
Description |
|
id |
Identifier of the binding of the price type to the customer group |
|
catalogGroupId |
Identifier of the price type |
|
groupId |
Identifier of the customer group |
|
access |
Type of access. Possible values:
|
catalog_enum
|
Value |
Description |
|
Identifier of the enumeration element |
|
|
name |
Name of the enumeration element |
catalog_price_type_lang
|
Value |
Description |
|
id |
Identifier of the translation of the price type name |
|
catalogGroupId |
Identifier of the price type |
|
name |
Translation of the price type name |
|
lang |
Identifier of the language |
catalog_language
|
Value |
Description |
|
lid |
Identifier of the language |
|
name |
Name of the language |
|
active |
Activity indicator. Possible values:
|
catalog_rounding_rule
|
Value |
Description |
|
id |
Identifier of the price rounding rule |
|
catalogGroupId |
Price type |
|
price |
Minimum price for rounding |
|
roundType |
Type of rounding. Possible values:
|
|
roundPrecision |
Rounding precision |
|
createdBy |
Created by |
|
modifiedBy |
Modified by |
|
dateCreate |
Date of creation |
|
dateModify |
Date of modification |
catalog_extra
|
Value |
Description |
|
id |
Identifier of the markup |
|
name |
Name of the markup |
|
percentage |
Amount of the markup |
catalog_section
|
Value |
Description |
|
id |
Identifier of the catalog section |
|
iblockId |
Identifier of the information block. To obtain existing identifiers, you need to use catalog.catalog.list |
|
iblockSectionId |
Identifier of the parent section. To obtain existing identifiers, you need to use catalog.section.list. By default, the top level is selected |
|
name |
Name of the catalog section |
|
xmlId |
External identifier. Can be used to synchronize the current catalog section with a similar position in an external system |
|
code |
Code of the catalog section |
|
sort |
Sorting |
|
active |
Indicator of the activity of the catalog section:
|
|
description |
Description |
|
descriptionType |
Type of description. Available types: |
catalog_storeproduct
|
Value |
Description |
|
id |
Identifier of the stock record |
|
productId |
Identifier of the product |
|
storeId |
Identifier of the warehouse |
|
amount |
Available quantity of the product |
|
quantityReserved |
Quantity of the product in reserve |
catalog_vat
|
Value |
Description |
|
id |
Identifier of the VAT rate |
|
name |
Name of the VAT rate |
|
active |
Indicator of the activity of the VAT rate. Possible values:
|
|
rate |
Amount of the VAT rate |
|
sort |
Sorting |
|
timestampX |
Time of the last modification |
Objects Used in Responses
rest_field_description
|
Value |
Description |
|
isImmutable |
Indicator of the ability to change the field value after creation. If this indicator is set for the field, then when creating the object, you can specify the field value, but it cannot be changed during updates |
|
isReadOnly |
Indicator of "read-only". If this indicator is set for the field, then in the operations of adding and updating the object, the field value does not need to be passed. The value is generated automatically and is intended for read-only |
|
isRequired |
Indicator of the mandatory field for add or update operations |
|
type |
Data type of the field values. Possible values:
|