For AI agents: markdown of this page — /docs-content-en/entities/catalog-product-property-enums/update.md documentation index — /llms.txt
Update a list-property value
PATCH /v1/catalog-product-property-enums/:id
Updates individual fields of a catalog list-property option. Send the fields at the root of the JSON, with no wrapper.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
Parameterid (path) |
Typenumber | Requiredyes | DescriptionValue identifier from the list of values |
Request fields (body)
Send at least one editable field.
| Field | Type | Required | Description |
|---|---|---|---|
FieldpropertyId |
Typenumber | Requiredno | DescriptionIdentifier of the property from the list of catalog product properties. The property must have propertyType: "L" |
Fieldvalue |
Typestring | Requiredno | DescriptionNew option text |
FieldxmlId |
Typestring | Requiredno | DescriptionExternal code for imports and integrations |
Fieldsort |
Typenumber | Requiredno | DescriptionSort order within the property |
Fielddef |
Typeboolean | Requiredno | DescriptionMake the option the default value of the property |
Fieldid |
Typenumber | Requiredno | DescriptionRO. The identifier cannot be changed |
Examples
curl — personal key
curl -X PATCH "https://vibecode.bitrix24.com/v1/catalog-product-property-enums/1769" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"Additional option 2"}'
curl — OAuth application
curl -X PATCH "https://vibecode.bitrix24.com/v1/catalog-product-property-enums/1769" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"value":"Additional option 2"}'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-product-property-enums/1769', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
value: 'Additional option 2',
}),
})
const { data } = await res.json()
console.log(data.id)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-product-property-enums/1769', {
method: 'PATCH',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
value: 'Additional option 2',
}),
})
const { data } = await res.json()
console.log(data.id)
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue on a successful request |
Fielddata |
Typeobject | DescriptionList-property value |
Fielddata.id |
Typenumber | DescriptionIdentifier of the value |
Fielddata.propertyId |
Typenumber | DescriptionIdentifier of the owning property |
Fielddata.value |
Typestring | DescriptionOption text |
Fielddata.def |
Typeboolean | DescriptionWhether the option is the default value of the property |
Fielddata.sort |
Typenumber | DescriptionSort order within the property |
Fielddata.xmlId |
Typestring | null | DescriptionExternal code. null when the code is not set |
Fieldmeta |
Typeobject | DescriptionOptional additional details |
Fieldmeta.warnings |
Typeobject[] | DescriptionWarnings about the request fields, if there are any |
Fieldmeta.warnings[].code |
Typestring | DescriptionWarning code |
Fieldmeta.warnings[].message |
Typestring | DescriptionExplanation of the warning |
Fieldmeta.warnings[].field |
Typestring | DescriptionField the warning refers to |
Response example
200 — the option is updated:
{
"success": true,
"data": {
"def": false,
"id": 1769,
"propertyId": 295,
"sort": 100,
"value": "Additional option 2",
"xmlId": "EXTRA-20261013"
}
}
Error response example
404 — the value has been deleted and the request included propertyId and xmlId:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "productPropertyEnum does not exist."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptionInvalid type or shape of a request field or of id in the path |
| HTTP400 | CodeEMPTY_UPDATE_BODY |
DescriptionThe request body is empty |
| HTTP400 | CodeREADONLY_FIELD |
DescriptionThe body carries id, which is read-only |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionThere is no value with the given identifier |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 refusal. For a deleted value sent without propertyId or xmlId, the message Required fields arrives with the list of missing fields |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the catalog scope |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionThe API key allows reading only |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header was not sent |
Full list of common API errors — Errors.
Known specifics
Field substitution. On a single update the API reads the current record and fills in propertyId and xmlId when they are not sent. Explicitly sent values take precedence.
There is no substitution in batch requests. In every update through POST /v1/batch or POST /v1/catalog-product-property-enums/batch, send propertyId and xmlId explicitly. Otherwise the operation is rejected before Bitrix24 is called.