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

Section fields

GET /v1/catalog-sections/fields

Returns the catalog section field schema: types, read-only and nullable flags, and the list of operations available in a batch request.

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/catalog-sections/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/catalog-sections/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/catalog-sections/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 keyed by field name, where each value describes one field: its type, whether it is writable, whether it can come back as null, a label and a description. The set of keys is broken down in the table after the field list. data.batch is the list of operations accepted by a batch request.

Field Type RO Description
Fieldid Typenumber ROyes DescriptionSection identifier
FieldiblockId Typenumber ROno DescriptionID of the catalog the section belongs to. List: GET /v1/catalogs
FieldiblockSectionId Typenumber | null ROno DescriptionID of the parent section. null for a top-level section. List: GET /v1/catalog-sections
Fieldname Typestring ROno DescriptionSection name
FieldxmlId Typestring | null ROno DescriptionExternal identifier. null when not set
Fieldcode Typestring | null ROno DescriptionSymbolic code of the section. null when not set
Fieldsort Typenumber ROno DescriptionSort index
Fieldactive Typeboolean ROno DescriptionWhether the section is active
Fielddescription Typestring | null ROno DescriptionSection description. null when not set
FielddescriptionType Typestring ROno DescriptionDescription format: text or html
Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.fields.<name>.type Typestring DescriptionField type: number, string, boolean
Fielddata.fields.<name>.readonly Typeboolean Descriptiontrue — the field is set by the system and is not accepted on create or update
Fielddata.fields.<name>.nullable Typeboolean Descriptiontrue — the field can come back as null. The key is present only on such fields
Fielddata.fields.<name>.label Typestring DescriptionShort display name of the field
Fielddata.fields.<name>.description Typestring DescriptionField explanation
Fielddata.batch Typestring[] DescriptionSection operations available in a batch request: create, update, delete

Response example

The label and description keys in data.fields.<name> are returned in English. Request headers do not switch the language. These keys are omitted from the example below for brevity.

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true },
      "iblockId": { "type": "number", "readonly": false },
      "iblockSectionId": { "type": "number", "readonly": false, "nullable": true },
      "name": { "type": "string", "readonly": false },
      "xmlId": { "type": "string", "readonly": false, "nullable": true },
      "code": { "type": "string", "readonly": false, "nullable": true },
      "sort": { "type": "number", "readonly": false },
      "active": { "type": "boolean", "readonly": false },
      "description": { "type": "string", "readonly": false, "nullable": true },
      "descriptionType": { "type": "string", "readonly": false }
    },
    "batch": ["create", "update", "delete"]
  }
}

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