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

Update requisite

PATCH /v1/requisites/:id

Updates fields of an existing requisite. Pass only the fields you need to change. Full list — GET /v1/requisites/fields.

Frequently updated fields

Parameter Type Description
name string Requisite name in the Bitrix24 interface
active boolean Whether the requisite is active
sort number Sort order
rqName string Full name
rqInn string INN
rqKpp string KPP
rqOgrn string OGRN
rqCompanyName string Short legal-entity name
rqDirector string Director's full name
rqAccountant string Chief accountant's full name
rqVatPayer boolean VAT payer

All fields in camelCase, including international preset fields — rqEdrpou, rqKbe, rqRegon, rqSiret, rqCnpj.

Parameters

Parameter Type Required Description
id (path) number yes Requisite ID

Examples

curl — personal key

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/requisites/42" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rqInn": "1234567890",
    "rqKpp": "123456789",
    "rqDirector": "John Smith"
  }'

curl — OAuth app

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/requisites/42" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "rqInn": "1234567890",
    "rqKpp": "123456789"
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/requisites/42', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    rqInn: '1234567890',
    rqKpp: '123456789',
    rqDirector: 'John Smith',
  }),
})

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

JavaScript — OAuth app

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/requisites/42', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    rqInn: '1234567890',
    rqKpp: '123456789',
  }),
})

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

Response fields

Field Type Description
success boolean Always true on success
data object The updated requisite with current field values
data.id number Requisite identifier
data.updatedAt datetime New modification date
data.modifyBy number ID of the user who performed the update

The object contains all preset fields in camelCase — including unchanged ones. Unfilled fields — null. Full list — Requisite fields.

Response example

JSON
{
  "success": true,
  "data": {
    "id": 42,
    "entityTypeId": 4,
    "entityId": 15,
    "presetId": 1,
    "name": "Primary requisite",
    "active": true,
    "sort": 500,
    "rqName": "Acme LLC",
    "rqInn": "1234567890",
    "rqKpp": "123456789",
    "rqOgrn": "1234567890123",
    "rqDirector": "John Smith",
    "updatedAt": "2026-04-19T15:00:00+00:00",
    "modifyBy": 1
  }
}

Error response example

404 — requisite not found:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "The Requisite with ID '999999999' is not found"
  }
}

Errors

HTTP Code Description
404 ENTITY_NOT_FOUND No requisite with that ID found
403 ACCESS_DENIED No access to the parent entity
400 INVALID_REQUEST Invalid fields
403 SCOPE_DENIED API key does not have the crm scope
401 TOKEN_MISSING API key has no configured tokens

Full list of common API errors — Errors.

Known specifics

You cannot change the preset. The presetId field is set at creation and cannot be changed by an update. If you need a different preset — create a new requisite and delete the old one.

Moving between entities is impossible. entityTypeId and entityId are also immutable: a requisite is bound to a specific contact or company for life.

Fields outside the preset are ignored. Bitrix24 silently discards values of fields that are not in the requisite's preset. No error is raised, but the data is not saved either. To check the result — GET /v1/requisites/:id.

An empty value clears the field. To clear a field, pass an empty string "". In responses Vibecode converts cleared strings to null for consistency.

See also