For AI agents: markdown of this page — /docs-content-en/catalog-extended.md documentation index — /llms.txt

Catalog and warehouse

Manage the product catalog, prices and stock levels through the Entity API. Catalog sections, price offers, warehouses — all via standard CRUD operations.

Overview

The Catalog API extends the base entity wrappers for the Bitrix24 commerce catalog:

  • Catalog sections (/v1/catalog-sections/*) — product categories and subcategories
  • Prices (/v1/catalog-prices/*) — price offers (price lists)
  • Warehouses (/v1/warehouses/*) — warehouse and stock management

Required scopes: catalog, crm

Base URL: https://vibecode.bitrix24.com/v1

Authorization: the X-Api-Key header with your API key.

Quick start

Create a catalog section

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/catalog-sections \
  -H "X-Api-Key: $VIBE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "iblockId": 14,
      "name": "Electronics",
      "iblockSectionId": null
    }
  }'

Response:

JSON
{
  "success": true,
  "data": {
    "section": {
      "id": 42
    }
  }
}

Catalog sections

Entity: catalog-sections — sections (categories) of the commerce catalog.

POST /v1/catalog-sections

Creates a new catalog section.

Request body parameters (in fields):

Parameter Type Required Description
iblockId number yes Catalog information block ID
name string yes Section name
iblockSectionId number no Parent section ID (null — root)
xmlId string no External ID for synchronization
description string no Section description
sort number no Sort order

JavaScript:

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-sections', {
  method: 'POST',
  headers: {
    'X-Api-Key': VIBE_KEY,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    fields: {
      iblockId: 14,
      name: 'Smartphones',
      iblockSectionId: 42,  // child section of "Electronics"
      sort: 100
    }
  })
})

const { data } = await res.json()
console.log('Section ID:', data.section.id)