For AI agents: markdown of this page — /docs-content-en/entities/catalog-product-property-enums/fields.md documentation index — /llms.txt
Value fields
GET /v1/catalog-product-property-enums/fields
Returns the field reference of an enumeration element with types and the read-only flag, plus the operations available in a batch request.
The response is assembled from the static entity schema — Bitrix24 is not called.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/catalog-product-property-enums/fields" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/catalog-product-property-enums/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/catalog-product-property-enums/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/catalog-product-property-enums/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 carries type, readonly, and the human-readable label and description. data.batch lists the write operations available in a batch request; for this entity it is empty, because there is no write path at all. That does not rule out reads in a batch: the list and get sub-calls through POST /v1/batch and POST /v1/catalog-product-property-enums/batch work. The fields sub-call is accepted in a batch too, but for this entity it answers 200 with an empty object — Bitrix24 is not called and the field reference cannot be obtained that way. Take it from the single GET /v1/catalog-product-property-enums/fields.
| Field | Type | RO | Description |
|---|---|---|---|
id |
number | yes | Identifier of the enumeration element. This is the value a catalog product carries in propertyNNN.value |
propertyId |
number | yes | Identifier of the owning property. Required in the list and search filter |
value |
string | yes | Readable text of the option — the same text a product returns in propertyNNN.valueEnum |
def |
boolean | yes | Whether this option is the property's default value |
sort |
number | yes | Sort index within the property |
xmlId |
string | yes | External code. Comes back as null when not set |
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data.fields.<name>.type |
string | Field type: number, string, boolean |
data.fields.<name>.readonly |
boolean | true for every field of this entity |
data.fields.<name>.label |
string | Human-readable field name |
data.fields.<name>.description |
string | Explanation of the field |
data.batch |
string[] | Write operations available in a batch request. For this entity — an empty array; read sub-calls still work |
Response example
label and description are shown for the first field only and omitted for the rest for brevity.
{
"success": true,
"data": {
"fields": {
"id": {
"type": "number",
"readonly": true,
"label": "ID",
"description": "Identifier of the enumeration element. This is the value that a product's propertyNNN.value carries."
},
"propertyId": { "type": "number", "readonly": true },
"value": { "type": "string", "readonly": true },
"def": { "type": "boolean", "readonly": true },
"sort": { "type": "number", "readonly": true },
"xmlId": { "type": "string", "readonly": true, "nullable": true }
},
"batch": []
}
}
Error response example
403 — no scope:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'catalog' scope"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 403 | SCOPE_DENIED |
The API key does not carry the catalog scope |
| 401 | MISSING_API_KEY |
The X-Api-Key header was not sent |
Full list of common API errors — Errors.
Known specifics
The entity is read-only. List options are created in the Bitrix24 interface. POST, PATCH, DELETE, and POST /aggregate are not registered and answer 404, and data.batch comes back as an empty array. Read sub-calls in a batch request remain available.
Only properties of type L have an enumeration. For a property of any other type (S, N, F, E, G) the option list is empty. The property type is read from GET /v1/catalog-product-properties/:id in the propertyType field.
The link to product fields. A list-property value arrives on a catalog product in the field propertyNNN, where NNN is the property id. Inside are value (the enumeration element id, as a string), valueEnum (the ready-made text), and valueId (the value row id). Match with String(element.id) === product.propertyNNN.value.