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

Update a property

PATCH /v1/catalog-product-properties/:id

Updates an existing property definition. Fields are passed flat at the root of the JSON. Pass only the fields you want to change — the rest keep their current values. The response returns the re-read property definition.

Parameters

Parameter Type Required Description
Parameterid (path) Typenumber Requiredyes DescriptionProperty identifier

Request fields (body)

Field Type Required Description
Fieldname Typestring Requiredno DescriptionProperty display name
Fieldcode Typestring Requiredno DescriptionSymbolic code. Latin letters, digits, and underscore, first character not a digit
Fieldactive Typeboolean Requiredno DescriptionWhether the property is active
Fieldsort Typenumber Requiredno DescriptionSort index
FielddefaultValue Typestring Requiredno DescriptionDefault value
FielduserTypeSettings Typeobject Requiredno DescriptionUser type settings
FieldlistType Typestring Requiredno DescriptionList appearance: L dropdown, C checkboxes
Fieldmultiple Typeboolean Requiredno DescriptionThe property accepts multiple values
FieldmultipleCnt Typenumber Requiredno DescriptionNumber of inputs for multiple values
FieldrowCount Typenumber Requiredno DescriptionNumber of input rows
FieldcolCount Typenumber Requiredno DescriptionNumber of input columns
FieldwithDescription Typeboolean Requiredno DescriptionValue description field
Fieldsearchable Typeboolean Requiredno DescriptionIncluded in search
Fieldfiltrable Typeboolean Requiredno DescriptionIncluded in the filter
FieldisRequired Typeboolean Requiredno DescriptionThe property must be filled in
FieldlinkIblockId Typenumber Requiredno DescriptionLinked catalog ID for binding types
FieldfileType Typestring Requiredno DescriptionAllowed file extensions for type F
FieldxmlId Typestring Requiredno DescriptionExternal identifier
Fieldhint Typestring Requiredno DescriptionField hint

id is passed in the path, not the body — it is read-only. The iblockId, propertyType, and userType fields are set on create only: a PATCH that includes any of them is rejected with 400 READONLY_FIELD. The timestampX field is filled by the system.

Examples

curl — personal key

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/catalog-product-properties/659" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product category"
  }'

curl — OAuth application

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/catalog-product-properties/659" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product category"
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-product-properties/659', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Product category',
  }),
})

const { success, data } = await res.json()
console.log('New name:', data.name)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/catalog-product-properties/659', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Product category',
  }),
})

const { success, data } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typeobject DescriptionThe re-read property definition. The field set is the same as GET /v1/catalog-product-properties/:id

Response example

The main fields are shown.

JSON
{
  "success": true,
  "data": {
    "id": 659,
    "iblockId": 19,
    "name": "Product category",
    "propertyType": "S",
    "code": "s12",
    "active": true,
    "sort": null,
    "defaultValue": null,
    "userType": "directory",
    "userTypeSettings": {
      "group": "N",
      "multiple": "N",
      "size": 1,
      "tableName": "b_hlbd_categories",
      "width": 0
    },
    "listType": "L",
    "multiple": false,
    "multipleCnt": null,
    "rowCount": 1,
    "colCount": 30,
    "withDescription": null,
    "searchable": false,
    "filtrable": false,
    "isRequired": false,
    "linkIblockId": null,
    "fileType": null,
    "xmlId": null,
    "hint": null,
    "timestampX": "2026-03-19T18:23:02.000Z"
  }
}

Error response example

422 — no property with the specified id exists:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "property does not exist."
  }
}

Errors

HTTP Code Description
HTTP422 CodeBITRIX_ERROR DescriptionNo property with the specified id exists (property does not exist.)
HTTP400 CodeREADONLY_FIELD DescriptionA read-only field was passed in the body, for example id
HTTP403 CodeSCOPE_DENIED DescriptionThe key lacks the catalog scope
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header was not passed

Full list of common API errors — Errors.

See also