For AI agents: markdown of this page — /docs-content-en/entities/catalogs/fields.md documentation index — /llms.txt
Catalog fields
GET /v1/catalogs/fields
Returns a reference of commercial catalog fields with their types. All fields are read-only.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/catalogs/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/catalogs/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/catalogs/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Fields:', Object.keys(data.fields).length)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/catalogs/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Response fields
data.fields is an object whose key matches the field name, and whose value contains type (the field type), readonly (true — the field cannot be passed on create or update), label (the display name), and description (a short description). The label/description values are returned in English. Request headers do not switch the language.
| Field | Type | RO | Description |
|---|---|---|---|
Fieldid |
Typenumber | ROyes | DescriptionCatalog record identifier |
FieldiblockId |
Typenumber | ROyes | DescriptionID of the information block backing the catalog. Use this field for the iblockId parameter of SKU and offer field references, and to filter GET /v1/catalog-products, GET /v1/catalog-sections, GET /v1/catalog-prices |
FieldiblockTypeId |
Typestring | ROyes | DescriptionInformation block type, for example CRM_PRODUCT_CATALOG |
Fieldlid |
Typestring | ROyes | DescriptionID of the site the catalog is bound to |
Fieldname |
Typestring | ROyes | DescriptionCatalog name |
FieldproductIblockId |
Typenumber | ROyes | DescriptionFor an offers catalog — the iblockId of the linked product catalog. For a base product catalog — null |
FieldskuPropertyId |
Typenumber | ROyes | DescriptionFor an offers catalog — ID of the property linking the offer to the product. For a base catalog — null |
Fieldsubscription |
Typestring | ROyes | DescriptionSubscription catalog flag: Y or N |
FieldvatId |
Typenumber | ROyes | DescriptionID of the default VAT rate for the catalog's products |
FieldyandexExport |
Typeboolean | ROyes | DescriptionWhether the catalog is exported to an external marketplace feed (true / false) |
Response example
{
"success": true,
"data": {
"fields": {
"id": { "type": "number", "readonly": true, "label": "ID", "description": "Unique identifier of the commercial catalog." },
"iblockId": { "type": "number", "readonly": true, "label": "Information block", "description": "ID of the information block backing the catalog; needed for /v1/catalog-products and /v1/catalog-sections." },
"iblockTypeId": { "type": "string", "readonly": true, "label": "Information block type", "description": "Symbolic code of the information block type." },
"lid": { "type": "string", "readonly": true, "label": "Site", "description": "Symbolic code of the site the catalog belongs to." },
"name": { "type": "string", "readonly": true, "label": "Name", "description": "Catalog name as displayed to the user." },
"productIblockId": { "type": "number", "readonly": true, "label": "Products information block", "description": "ID of the products information block for a catalog with SKUs (offers)." },
"skuPropertyId": { "type": "number", "readonly": true, "label": "SKU property", "description": "ID of the property that links SKUs (offers) to their parent product." },
"subscription": { "type": "string", "readonly": true, "label": "Subscription", "description": "Whether the catalog is a subscription catalog (Y/N)." },
"vatId": { "type": "number", "readonly": true, "label": "VAT rate", "description": "ID of the VAT rate applied to the catalog by default." },
"yandexExport": { "type": "boolean", "readonly": true, "label": "Marketplace export", "description": "Whether the catalog is exported to an external marketplace feed." }
}
}
}
All fields are marked readonly: true — a catalog cannot be changed through the API.
Error response example
403 — no scope:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'catalog' scope"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the catalog scope |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header was not provided |
| HTTP429 | CodeRATE_LIMITED |
DescriptionRate limit exceeded: 300 requests per minute per portal. All API keys of the portal share one limit. The current limit is returned in the x-ratelimit-limit header. Retry after the delay in the Retry-After header |
For the full list of common API errors, see Errors.