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

Terminal
curl "https://vibecode.bitrix24.com/v1/catalogs/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/catalogs/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
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

javascript
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

JSON
{
  "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:

JSON
{
  "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.

See also