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

Property fields

GET /v1/catalog-product-properties/fields

Returns the product property field reference with types and the "read-only" flag, plus the operations available in a batch request.

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/catalog-product-properties/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-product-properties/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-product-properties/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) and readonly (true — the field cannot be passed on create or update). data.batch lists the operations available in a batch request.

Field Type RO Description
Fieldid Typenumber ROyes DescriptionProperty identifier. This is the NNN in the propertyNNN key of a catalog product
FieldiblockId Typenumber ROno¹ DescriptionCatalog ID. List: GET /v1/catalogs. Required on create
Fieldname Typestring ROno DescriptionProperty display name. Required on create
FieldpropertyType Typestring ROno² DescriptionBase type: N number, S string, L list, F file, E element binding, G section binding. Required on create
Fieldcode Typestring ROno DescriptionSymbolic code: Latin letters, digits, underscore, first character not a digit
Fieldactive Typeboolean ROno DescriptionWhether the property is active
Fieldsort Typenumber ROno DescriptionSort index
FielddefaultValue Typestring ROno DescriptionDefault value
FielduserType Typestring ROno² DescriptionUser type, for example directory, DateTime, Money, HTML
FielduserTypeSettings Typeobject ROno DescriptionUser type settings
FieldlistType Typestring ROno DescriptionList appearance: L dropdown, C checkboxes
Fieldmultiple Typeboolean ROno DescriptionThe property accepts multiple values
FieldmultipleCnt Typenumber ROno DescriptionNumber of inputs for multiple values
FieldrowCount Typenumber ROno DescriptionNumber of input rows
FieldcolCount Typenumber ROno DescriptionNumber of input columns
FieldwithDescription Typeboolean ROno DescriptionField with a value description
Fieldsearchable Typeboolean ROno DescriptionParticipates in search
Fieldfiltrable Typeboolean ROno DescriptionAvailable for filtering
FieldisRequired Typeboolean ROno DescriptionThe property must be filled in
FieldlinkIblockId Typenumber ROno DescriptionLinked catalog ID for binding types
FieldfileType Typestring ROno DescriptionAllowed file extensions for type F
FieldxmlId Typestring ROno DescriptionExternal identifier
Fieldhint Typestring ROno DescriptionField hint
FieldtimestampX Typedatetime ROyes DescriptionLast modification date

¹ iblockId is writable on create only (createOnly) — in the reference it comes back with readonly: false and createOnly: true.

² propertyType and userType are writable on create only (createOnly) — in the reference they come back with readonly: false and createOnly: true, and on PATCH they are rejected with READONLY_FIELD.

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.fields.<name>.type Typestring DescriptionField type: number, string, boolean, object, datetime
Fielddata.fields.<name>.readonly Typeboolean Descriptiontrue — the field is filled by the system and is not accepted on create or update
Fielddata.fields.<name>.createOnly Typeboolean Descriptiontrue — the field is accepted on create only. On PATCH it is rejected with READONLY_FIELD (present on iblockId, propertyType, userType)
Fielddata.batch Typestring[] DescriptionProperty operations available in a batch request: create, update, delete

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true },
      "iblockId": { "type": "number", "readonly": false, "createOnly": true },
      "name": { "type": "string", "readonly": false },
      "propertyType": { "type": "string", "readonly": false, "createOnly": true },
      "code": { "type": "string", "readonly": false },
      "active": { "type": "boolean", "readonly": false },
      "sort": { "type": "number", "readonly": false },
      "defaultValue": { "type": "string", "readonly": false },
      "userType": { "type": "string", "readonly": false, "createOnly": true },
      "userTypeSettings": { "type": "object", "readonly": false },
      "listType": { "type": "string", "readonly": false },
      "multiple": { "type": "boolean", "readonly": false },
      "multipleCnt": { "type": "number", "readonly": false },
      "rowCount": { "type": "number", "readonly": false },
      "colCount": { "type": "number", "readonly": false },
      "withDescription": { "type": "boolean", "readonly": false },
      "searchable": { "type": "boolean", "readonly": false },
      "filtrable": { "type": "boolean", "readonly": false },
      "isRequired": { "type": "boolean", "readonly": false },
      "linkIblockId": { "type": "number", "readonly": false },
      "fileType": { "type": "string", "readonly": false },
      "xmlId": { "type": "string", "readonly": false },
      "hint": { "type": "string", "readonly": false },
      "timestampX": { "type": "datetime", "readonly": true }
    },
    "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 passed
HTTP429 CodeRATE_LIMITED DescriptionRate limit exceeded: 300 requests per minute per portal, all API keys of the portal share one limit. The exact value arrives in the x-ratelimit-limit header (the cap is divided across replicas). Retry after the delay in the Retry-After header

Full list of common API errors — Errors.

Known specifics

The property type is immutable. propertyType and userType are chosen on create. A PATCH that includes either is rejected with 400 READONLY_FIELD — the base type of an existing property cannot be changed.

A property is bound to a catalog (iblockId). The catalog is chosen on create. Changing it via update is not supported. A PATCH that changes iblockId is rejected with 400 READONLY_FIELD.

Relation to product fields. List-type properties (L) come back on a catalog product in fields of the form propertyNNN, where NNN is the property id. This reference turns the id into a name and type so you can build an id → name map and label propertyNNN values.

User type settings. The userTypeSettings field is an object whose contents depend on the userType value. It is passed in full on create and update.

See also