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 fields at the root of the request body, without a fields wrapper.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
Parameterid (path) |
Typenumber | Requiredyes | DescriptionRequisite ID. List: GET /v1/requisites |
Request fields (body)
Pass only the fields you want to change (at least one). All fields are optional. Below are the common fields and a selection of rq* fields. The fields a preset uses are listed by GET /v1/requisite-presets/:presetId/fields. Full list, including fields of all countries and UF_CRM_* user fields — GET /v1/requisites/fields.
| Field | Type | Description |
|---|---|---|
Fieldname |
Typestring | DescriptionRequisite name in the Bitrix24 interface |
Fieldactive |
Typeboolean | DescriptionWhether the requisite is active |
Fieldsort |
Typenumber | DescriptionSort order. Lower values come first |
Fieldcode |
Typestring | DescriptionSymbolic code for external integrations |
FieldxmlId |
Typestring | DescriptionExternal identifier for synchronization |
FieldoriginatorId |
Typestring | DescriptionSource system ID |
FieldaddressOnly |
Typeboolean | Description"Address only" flag |
FieldrqName |
Typestring | DescriptionFull name |
FieldrqCompanyName |
Typestring | DescriptionShort legal-entity name |
FieldrqCompanyFullName |
Typestring | DescriptionFull legal-entity name |
FieldrqInn |
Typestring | DescriptionINN |
FieldrqKpp |
Typestring | DescriptionKPP |
FieldrqOgrn |
Typestring | DescriptionOGRN |
FieldrqDirector |
Typestring | DescriptionDirector's full name |
FieldrqAccountant |
Typestring | DescriptionChief accountant's full name |
FieldrqVatPayer |
Typeboolean | DescriptionVAT payer |
FieldUF_CRM_* |
Typedepends on the field | DescriptionRequisite user field. Names and types are listed in GET /v1/requisites/fields |
Fieldid, createdAt, updatedAt, createdBy, modifyBy |
TypeRO | DescriptionSet by the system. Passing them is rejected with 400 READONLY_FIELD |
Examples
curl — personal key
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 application
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
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 application
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 |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue on success |
Fielddata |
Typeobject | DescriptionThe updated requisite. Contains all requisite fields, including unchanged ones and UF_CRM_* user fields. Empty fields are null. Field reference — Requisite fields |
Fielddata.id |
Typenumber | DescriptionRequisite ID |
Fielddata.updatedAt |
Typedatetime | DescriptionModification date after the update |
Fielddata.modifyBy |
Typenumber | DescriptionID of the user who performed the update |
Response example
The main fields are shown. Full list: Requisite fields.
{
"success": true,
"data": {
"id": 527,
"entityTypeId": 4,
"entityId": 3157,
"presetId": 1,
"name": "Primary requisite",
"active": true,
"sort": 500,
"rqInn": "1234567890",
"rqKpp": "123456789",
"rqDirector": "John Smith",
"createdAt": "2026-10-22T08:51:53.000Z",
"updatedAt": "2026-10-22T08:53:26.000Z",
"modifyBy": 1
}
}
Error response example
404 — requisite not found:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "The Requisite with ID '999999999' is not found"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionNo requisite with this id |
| HTTP400 | CodeEMPTY_UPDATE_BODY |
DescriptionThe request body is empty |
| HTTP400 | CodeREADONLY_FIELD |
DescriptionA read-only field was passed: id, createdAt, updatedAt, createdBy, modifyBy |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionThe value does not match the field type, for example the string "abc" in sort or an empty string in active |
| HTTP400 | CodeNESTED_FIELDS_ENVELOPE |
DescriptionFields were passed inside a fields object instead of at the root of the body |
| HTTP403 | CodeBITRIX_ACCESS_DENIED |
DescriptionNo access to the parent entity |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the crm scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe key has no Bitrix24 connection |
Full list of common API errors — Errors.
Known specifics
The preset and owner cannot be changed. presetId, entityTypeId and entityId in the update body are silently ignored: the response is 200 and the values stay the same. To change the preset or move the requisite to another contact or company, create a new requisite and delete the old one.
A field with an unknown name is ignored. A name that is not in GET /v1/requisites/fields is dropped without an error. A field from the schema is saved even if it is not in the requisite preset, for example rqInn on a requisite with the Company preset.
An empty value clears the field. To clear a string requisite field — name, code, xmlId, originatorId or an rq* field — pass an empty string "" or null. For numeric fields (sort) and boolean fields (active, addressOnly, rqVatPayer, rqStampPresent), an empty string is rejected with 400 INVALID_PARAMS as a type mismatch: send null or omit the field. For date fields (rqCompanyRegDate, rqVatCertDate, rqBaseDocDate, rqRegCertDate, rqIdentDocDate), an empty string clears the field. Cleared fields are returned as null in responses.