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
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
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 app
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
{
"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:
{
"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
- Get requisite — current values
- Requisite fields — which fields can be changed
- Delete requisite — delete a record
- Batch — bulk update
- Limits and optimization — rate limits