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

Create requisite

POST /v1/requisites

Creates a new requisite and binds it to a CRM contact or company.

Required fields

Four fields are required to create a requisite:

Field Type Allowed values Description
FieldentityTypeId Typenumber Allowed values3 (contact), 4 (company) DescriptionParent entity type
FieldentityId Typenumber Allowed valuesany existing ID DescriptionParent entity ID. Lookup: GET /v1/contacts or GET /v1/companies
FieldpresetId Typenumber Allowed valuesany existing preset ID DescriptionID of the requisite preset (defines the field set). Source: GET /v1/requisite-presets
Fieldname Typestring Allowed valuesnon-empty string DescriptionRequisite name in the Bitrix24 interface

All fields use camelCase. For the full list, see GET /v1/requisites/fields.

Common

Parameter Type Default Description
Parameteractive Typeboolean Defaulttrue DescriptionWhether the requisite is active
Parametersort Typenumber Default500 DescriptionSort order (lower values come first)
Parametercode Typestring Default— DescriptionSymbolic code for external integrations
ParameterxmlId Typestring Default— DescriptionExternal identifier for synchronization
ParameteroriginatorId Typestring Default— DescriptionSource system ID
ParameteraddressOnly Typeboolean Defaultfalse Description"Address only" flag (for address directories)
Parameter Type Description
ParameterrqName Typestring DescriptionFull name
ParameterrqCompanyName Typestring DescriptionShort name
ParameterrqCompanyFullName Typestring DescriptionFull legal-entity name
ParameterrqCompanyRegDate Typedate DescriptionRegistration date
ParameterrqInn Typestring DescriptionINN
ParameterrqKpp Typestring DescriptionKPP
ParameterrqOgrn Typestring DescriptionOGRN
ParameterrqOgrnip Typestring DescriptionOGRNIP (for sole proprietors)
ParameterrqOkpo Typestring DescriptionCode in the Russian Classifier of Enterprises and Organizations (OKPO)
ParameterrqOkved Typestring DescriptionCode in the Russian Classifier of Economic Activities (OKVED)
ParameterrqOktmo Typestring DescriptionCode in the Russian Classifier of Municipal Territories (OKTMO)
ParameterrqDirector Typestring DescriptionDirector's full name
ParameterrqAccountant Typestring DescriptionChief accountant's full name
ParameterrqCeoName Typestring DescriptionCEO's full name
ParameterrqCeoWorkPos Typestring DescriptionCEO's position
ParameterrqContact Typestring DescriptionContact person
ParameterrqEmail Typestring DescriptionOrganization email
ParameterrqPhone Typestring DescriptionOrganization phone
ParameterrqFax Typestring DescriptionFax
ParameterrqVatPayer Typeboolean DescriptionVAT payer
ParameterrqVatId Typestring DescriptionVAT ID (for foreign companies)
ParameterrqBaseDoc Typestring DescriptionBasis document for the organization's activity (for example, "Charter")
ParameterrqResidenceCountry Typestring DescriptionCountry of registration

Individuals

Parameter Type Description
ParameterrqFirstName Typestring DescriptionFirst name
ParameterrqLastName Typestring DescriptionLast name
ParameterrqSecondName Typestring DescriptionMiddle name
ParameterrqIdentDocType Typestring DescriptionIdentity document name
ParameterrqIdentDocSer Typestring DescriptionDocument series
ParameterrqIdentDocNum Typestring DescriptionDocument number
ParameterrqIdentDocDate Typedate DescriptionIssue date
ParameterrqIdentDocIssuedBy Typestring DescriptionIssued by
ParameterrqIdentDocDepCode Typestring DescriptionDepartment code

International presets

Fields of other countries' presets — rqEdrpou, rqKbe, rqRegon, rqSiret, rqCnpj — are passed in camelCase, like the other schema fields. Fill them in on requisites that use the corresponding country preset.

Examples

curl — personal key

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/requisites" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "entityTypeId": 4,
    "entityId": 15,
    "presetId": 1,
    "name": "Primary",
    "rqName": "Acme LLC",
    "rqInn": "1234567890",
    "rqKpp": "123456789",
    "rqOgrn": "1234567890123",
    "rqCompanyName": "Acme",
    "rqDirector": "John Smith",
    "rqVatPayer": true
  }'

curl — OAuth application

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/requisites" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "entityTypeId": 4,
    "entityId": 15,
    "presetId": 1,
    "name": "Primary",
    "rqName": "Acme LLC",
    "rqInn": "1234567890"
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/requisites', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    entityTypeId: 4,
    entityId: 15,
    presetId: 1,
    name: 'Primary',
    rqName: 'Acme LLC',
    rqInn: '1234567890',
    rqKpp: '123456789',
    rqOgrn: '1234567890123',
    rqCompanyName: 'Acme',
    rqDirector: 'John Smith',
    rqVatPayer: true,
  }),
})

const { success, data } = await res.json()
console.log('Created requisite ID:', data.id)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/requisites', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    entityTypeId: 4,
    entityId: 15,
    presetId: 1,
    name: 'Primary',
    rqName: 'Acme LLC',
    rqInn: '1234567890',
  }),
})

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

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typeobject DescriptionThe created requisite
Fielddata.id Typenumber DescriptionNew record identifier
Fielddata.entityTypeId Typenumber DescriptionParent entity type from the request
Fielddata.entityId Typenumber DescriptionParent entity ID from the request
Fielddata.presetId Typenumber DescriptionRequisite preset ID from the request
Fielddata.name Typestring | null DescriptionRequisite name
Fielddata.active Typeboolean DescriptionWhether the requisite is active (true by default)
Fielddata.sort Typenumber DescriptionSort order (500 by default)
Fielddata.createdAt Typedatetime DescriptionCreation date
Fielddata.updatedAt Typedatetime DescriptionModification date. Equal to createdAt at creation
Fielddata.createdBy Typenumber DescriptionCreator ID
Fielddata.modifyBy Typenumber | null Descriptionnull right after creation

The response contains all requisite preset fields in camelCase. Unfilled fields are null. For the full field list, see Requisite fields.

Response example

HTTP status: 201 Created

JSON
{
  "success": true,
  "data": {
    "id": 42,
    "entityTypeId": 4,
    "entityId": 15,
    "presetId": 1,
    "name": "Primary",
    "active": true,
    "sort": 500,
    "createdAt": "2026-04-19T14:30:00+00:00",
    "updatedAt": "2026-04-19T14:30:00+00:00",
    "createdBy": 1,
    "modifyBy": null,
    "rqName": "Acme LLC",
    "rqInn": "1234567890",
    "rqKpp": "123456789",
    "rqOgrn": "1234567890123",
    "rqCompanyName": "Acme",
    "rqDirector": "John Smith",
    "rqVatPayer": true,
    "rqAccountant": null,
    "rqCeoName": null,
    "rqOkpo": null,
    "rqOkved": null
  }
}

Error response example

422 — presetId not specified:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "PRESET_ID is not defined or invalid."
  }
}

Errors

HTTP Code Description
HTTP422 CodeBITRIX_ERROR DescriptionA required field is not specified — Bitrix24 responds with text like PRESET_ID is not defined or invalid / a message that the required "Name" field is not filled in
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 rejected the value of one of the fields (for example, a nonexistent presetId)
HTTP403 CodeBITRIX_ACCESS_DENIED DescriptionNo access to the parent company/contact
HTTP403 CodeSCOPE_DENIED DescriptionAPI key does not have the crm scope
HTTP401 CodeTOKEN_MISSING DescriptionAPI key has no configured tokens

For the full list of common API errors, see Errors.

Known specifics

A field with an unknown name is ignored. A name that is not in GET /v1/requisites/fields is discarded without an error. A field from the schema is saved even when the chosen preset does not include it, for example, rqInn on a requisite with the Company preset.

See also