# Bank details

Bank accounts attached to a requisite: current account, BIC, correspondent account, SWIFT, IBAN. Without a bank detail, you cannot issue an invoice.

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

## Operations

- [Create bank detail](./bank-details/create.md) — `POST /v1/bank-details`
- [List bank details](./bank-details/list.md) — `GET /v1/bank-details`
- [Get bank detail](./bank-details/get.md) — `GET /v1/bank-details/:id`
- [Update bank detail](./bank-details/update.md) — `PATCH /v1/bank-details/:id`
- [Delete bank detail](./bank-details/delete.md) — `DELETE /v1/bank-details/:id`
- [Search bank details](./bank-details/search.md) — `POST /v1/bank-details/search`
- [Bank detail fields](./bank-details/fields.md) — `GET /v1/bank-details/fields`

## Key fields

| Field | Description |
|------|---------|
| `entityId` | ID of the requisite that owns the bank detail (from `GET /v1/requisites`) |
| `name` | Name of the bank detail |
| `rqBik` | Bank BIC |
| `rqAccNum` | Current account |
| `rqCorAccNum` | Correspondent account |
| `rqSwift` / `rqIban` | International account details |

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

## What to know before you start

1. **A bank detail is attached to a requisite.** On creation, `entityId` (the requisite ID from `GET /v1/requisites`) and `name` are required.
2. **`entityTypeId` is optional, but is not returned on read.** This is the owner-type field. Pass `8` (requisite) on creation to attach the record to a requisite. It is absent from the `GET` response.
3. **Fields are returned in camelCase.** The Russian account fields are `rqBik`, `rqAccNum`, `rqCorAccNum` and `rqAccCurrency`. The international ones are `rqSwift` and `rqIban`. For records without a country specified, `countryId` comes back as `0`.

## Related entities

| Entity | Endpoint | Purpose |
|----------|----------|-----------|
| Requisites | `GET /v1/requisites` | Owner of the bank detail. The bank detail's `entityId` is the requisite's `id`. |
| Requisite presets | `GET /v1/requisite-presets` | Field-set template of the owner requisite. |
| Requisite links | `POST /v1/requisite-links` | Attaches a requisite and a bank detail to an invoice or a quote. |

## Typical scenario

1. Find the company requisite: [`GET /v1/requisites?filter[entityTypeId]=4&filter[entityId]=15`](./requisites/list.md).
2. Create a bank detail for it: [`POST /v1/bank-details`](./bank-details/create.md) with `entityTypeId: 8` and the requisite's `id` in `entityId`.
3. Use the bank detail's `id` when issuing an invoice or in a [requisite link](./requisite-links.md).

## Limits

| Limit | Value |
|-------|----------|
| Maximum records per request | 5000 (`limit ≤ 5000`) |
| Auto-pagination | enabled when `limit > 50` |
| `offset` on large result sets | `limit ≤ 500` recommended when `offset ≥ 2500` |
| 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)
