# Requisite links

Specifies which company requisite (and, if needed, which bank account) to use in an invoice, quote, or deal. Needed by companies that have several requisites. A link has no separate numeric `id`: it is defined by a pair of values — the owner type `entityTypeId` and its ID `entityId`. For a deal `entityTypeId` is `2`, for an invoice — `31`.

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

## Operations

- [Register a link](./requisite-links/register.md) — `POST /v1/requisite-links`
- [List links](./requisite-links/list.md) — `GET /v1/requisite-links`
- [Get a link](./requisite-links/get.md) — `GET /v1/requisite-links/:entityTypeId/:entityId`
- [Update a link](./requisite-links/update.md) — `PATCH /v1/requisite-links/:entityTypeId/:entityId`
- [Delete a link](./requisite-links/unregister.md) — `DELETE /v1/requisite-links/:entityTypeId/:entityId`
- [Search links](./requisite-links/search.md) — `POST /v1/requisite-links/search`
- [Link fields](./requisite-links/fields.md) — `GET /v1/requisite-links/fields`

## Key fields

| Field | Description |
|------|---------|
| `entityTypeId` | Link owner type: `2` — deal, `31` — invoice |
| `entityId` | Owner ID (deal, invoice) |
| `requisiteId` | ID of the requisite to link; `0` — do not link |
| `bankDetailId` | ID of the bank requisite to link; `0` — do not link |
| `mcRequisiteId` / `mcBankDetailId` | Requisite and bank requisite of your own company; `0` — do not link |

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

## What you need to know before working

1. **A link has no separate numeric `id`.** A link is identified by the owner value pair — `entityTypeId` and `entityId`. Get and delete use them in the path; register passes them in the body.
2. **Registration requires all six fields.** `entityTypeId`, `entityId`, `requisiteId`, `bankDetailId`, `mcRequisiteId`, `mcBankDetailId` — pass `0` for the ones you don't want to link.
3. **Responses use the original Bitrix24 names.** List, search, and get return `ENTITY_TYPE_ID`, `REQUISITE_ID`, etc.; id values arrive as strings.
4. **The requisite must belong to the deal's client.** You can link a requisite to a deal only if the deal has a contact or company selected that owns the requisite.

## Related entities

| Entity | Endpoint | Purpose |
|----------|----------|---------|
| Requisites | `GET /v1/requisites` | Source of `requisiteId` for the link. |
| Bank details | `GET /v1/bank-details` | Source of `bankDetailId` for the link. |
| Requisite presets | `GET /v1/requisite-presets` | Field-set template for a requisite. |

## Typical scenario

1. Get the requisite of the client company: [`GET /v1/requisites?filter[entityTypeId]=4&filter[entityId]=15`](./requisites/list.md).
2. Get its bank requisite: [`GET /v1/bank-details`](./bank-details/list.md).
3. Register a link on an invoice or deal: [`POST /v1/requisite-links`](./requisite-links/register.md) with `requisiteId` and `bankDetailId`.

## Limits

| Limit | Value |
|-------|----------|
| Maximum records per request | 5000 (`limit ≤ 5000`) |
| Auto-pagination | enabled at `limit > 50` |
| Batch requests | up to 50 operations in [`POST /v1/batch`](/docs/batch) |
| Rate limit | shared across the Vibe API — see [Limits and optimization](/docs/optimization) |

## See also

- [Entity API](/docs/entity-api)
- [Filtering syntax](/docs/filtering)
- [Batch](/docs/batch)
- [Entities index](/docs/entities-index)
