# Requisite presets

Presets for requisite field sets. The built-in presets depend on the account country — an international Bitrix24 account has `Company` and `Person`. A preset defines which fields are available on a requisite and serves as the source of `presetId` for creating a requisite via `POST /v1/requisites`.

Bitrix24 API: `crm.requisite.preset.*`
Scope: `crm`

## Operations

- [Create preset](./requisite-presets/create.md) — `POST /v1/requisite-presets`
- [List presets](./requisite-presets/list.md) — `GET /v1/requisite-presets`
- [Get preset](./requisite-presets/get.md) — `GET /v1/requisite-presets/:id`
- [Update preset](./requisite-presets/update.md) — `PATCH /v1/requisite-presets/:id`
- [Delete preset](./requisite-presets/delete.md) — `DELETE /v1/requisite-presets/:id`
- [Search presets](./requisite-presets/search.md) — `POST /v1/requisite-presets/search`
- [Preset fields](./requisite-presets/fields.md) — `GET /v1/requisite-presets/fields`
- [List preset fields](./requisite-presets/preset-fields/list.md) — `GET /v1/requisite-presets/:presetId/fields`
- [Get preset field](./requisite-presets/preset-fields/get.md) — `GET /v1/requisite-presets/:presetId/fields/:id`
- [Add field to preset](./requisite-presets/preset-fields/create.md) — `POST /v1/requisite-presets/:presetId/fields`
- [Update preset field](./requisite-presets/preset-fields/update.md) — `PATCH /v1/requisite-presets/:presetId/fields/:id`
- [Delete preset field](./requisite-presets/preset-fields/delete.md) — `DELETE /v1/requisite-presets/:presetId/fields/:id`
- [Fields available to add](./requisite-presets/preset-fields/available.md) — `GET /v1/requisite-presets/:presetId/fields/available`
- [Preset field schema](./requisite-presets/preset-fields/schema.md) — `GET /v1/requisite-presets/:presetId/fields/schema`

## Key fields

| Field | Description |
|------|---------|
| `name` | Preset name (`Company`, `Person`) |
| `entityTypeId` | Entity type of the set — always `8`, a requisite |
| `countryId` | Country the field set belongs to. Depends on the account country (`122` on an international account) |
| `active` | Whether the preset is active |
| `sort` | Sort order in the list |

Full field list — [`GET /v1/requisite-presets/fields`](./requisite-presets/fields.md).

## What to know before you start

1. **A preset is a field-set template.** The `Company` preset has one field set, and the `Person` preset has another. The exact composition depends on the account country and is returned by the preset fields list at `/v1/requisite-presets/:presetId/fields`. A preset itself does not store values — it defines the structure.
2. **`presetId` is required to create a requisite.** On `POST /v1/requisites` the `presetId` field is required and immutable after creation. The list of available presets is returned by `GET /v1/requisite-presets`.
3. **A preset's field composition is configured separately.** The "preset fields" operations under the `/v1/requisite-presets/:presetId/fields` path add and remove a preset's fields. The `available` endpoint shows which fields can still be added, and `schema` shows the field-row structure.
4. **The response format is uniform.** Both the preset itself (`name`, `entityTypeId`) and its field rows (`id`, `fieldName`, `fieldTitle`, `inShortList`, `sort`) are returned in camelCase. The `inShortList` flag is returned as `true`/`false`. The values of `fieldName` are either uppercase Bitrix24 system requisite field names (`RQ_INN`, `RQ_COMPANY_NAME`) or custom fields (`UF_CRM_*`).

## Related entities

| Entity | Endpoint | Purpose |
|----------|----------|-----------|
| Requisites | `POST /v1/requisites` | Use the preset's `presetId` on creation — the preset defines the requisite's set of available fields. |
| Bank details | `GET /v1/bank-details?filter[entityId]=:requisiteId` | The requisite's bank accounts: current account, BIC, correspondent account, SWIFT, IBAN. |
| Addresses | `GET /v1/addresses?filter[entityTypeId]=8&filter[entityId]=:requisiteId` | The requisite's addresses: legal, actual, postal, delivery. |
| Requisite links | `POST /v1/requisite-links` | Link a requisite (and optionally a bank detail) to an invoice or a quote. |

## Typical scenario

1. Get the list of presets: [`GET /v1/requisite-presets`](./requisite-presets/list.md) — pick a suitable `id`.
2. Create a requisite with that preset: [`POST /v1/requisites`](./requisites/create.md) with `presetId`.
3. If needed, configure the preset's field composition: [`POST /v1/requisite-presets/:presetId/fields`](./requisite-presets/preset-fields/create.md) — add one of the [available fields](./requisite-presets/preset-fields/available.md).

## Limits

| Limit | Value |
|-------|----------|
| Maximum records per request | 5000 (`limit ≤ 5000`) |
| Auto-pagination | enabled when `limit > 50` |
| Preset field list | `limit`/`offset` applied on the Vibecode side |
| Batch requests | up to 50 operations in [`POST /v1/batch`](/docs/batch) |
| Rate limit | shared across the Vibecode API — see [Limits and optimization](/docs/optimization) |

## See also

- [Company requisites for document generation](/docs/recipes/document-requisites)
- [Entity API](/docs/entity-api)
- [Filtering syntax](/docs/filtering)
- [Batch](/docs/batch)
- [API reference](/docs/api-reference)

## Preset countries

Discover valid `countryId` values using [preset countries](./requisite-presets/countries.md): `GET /v1/requisite-presets/countries`.
