# Подтвердить котировку и создать ордер

Превращает котировку в ордер (с тем же `id`) в статусе `created` и
замораживает `amountUsdt` (`frozenBalance`). Ордер должен завершиться
к `paymentUntil`: 60 секунд для `nspk`, 4 минуты для `st00012` и
`gibdd_uin`, от 50 000 ₽ на 10 секунд больше. Иначе он становится
`failed` с `failureReason: Order expired`. Нужно право `orders.create`.
Идемпотентность:
- Необязательный заголовок
`Idempotency-Key`
, действует в рамках

компании.
- Повторный запрос с тем же ключом возвращает сохранённый ответ

первого успешного подтверждения — ордер в том виде, в каком он был

создан.
- Без ключа повторное подтверждение отвечает
`404 QUOTE_NOT_FOUND`
:

котировку израсходовало первое подтверждение.
- Ключ не привязан к котировке: с другой котировкой тот же ключ вернёт

первый ордер. Делайте ключ уникальным для котировки, например

`accept-{quoteId}`
.

Endpoint: POST /orders/accept/{id}
Version: 1.0.0
Security: apiKeyAuth

## Security:

  - `apiKeyAuth` (unknown)
    apiKey in header X-API-Key

## Path parameters:

  - `id` (string, required)
    ID котировки

## Header parameters:

  - `Idempotency-Key` (string)

## Response 201:

  - `201` (unknown)
    Ордер создан

## Response 201 fields (application/json):

  - `id` (string, required)

  - `amountUsdt` (number, required)

  - `amountRub` (number, required)

  - `status` (string, required)
    - `created`
 — ордер принят и отправлен на оплату, средства заморожены
- `in_progress`
 — ордер взял исполнитель
- `success`
 — оплачен, сумма списана
- `failed`
 — не оплачен или истёк, заморозка снята (причина в

`failureReason`
:
`Order expired`
,
`expired_no_taker`
, исход

диспута…)
- `disputed`
 — открыт диспут; закончится
`success`
 или
`failed`

`expired_no_taker` и `expired_by_system` остались в перечислении, но
текущая версия их не выставляет: ордер, который никто не взял,
становится `failed`, просроченный — `disputed`.
    Enum: "created", "in_progress", "success", "failed", "expired_no_taker", "expired_by_system", "disputed"

  - `paymentType` (string, required)
    Определяется по полю `qrCode`:
- `nspk`
 — QR СБП/НСПК (в том числе multiqr / platiqr);
- `st00012`
 — ЖКХ или бюджетный платёж;
- `gibdd_uin`
 — штраф ГИБДД по УИН.
    Enum: "nspk", "st00012", "gibdd_uin"

  - `paymentUntil` (string, required)

  - `merchantName` (string | null)

  - `externalOrderId` (string | null)

  - `completedAt` (string | null)

  - `failureReason` (string | null)

  - `createdAt` (string, required)

## Response 400:

  - `400` (unknown)
    Котировку нельзя превратить в ордер.

## Response 400 fields (application/json):

  - `statusCode` (integer, required)
    HTTP-код ответа.
    Example: 400

  - `error` (string, required)
    Текстовое название HTTP-кода (у ошибок прав — `PERMISSION_DENIED`, как раньше).
    Example: Bad Request

  - `errorCode` (string, required)
    Стабильный машиночитаемый код, есть всегда. Со временем могут
появляться новые коды, поэтому неизвестное значение обрабатывайте
как общую ошибку для своего `statusCode`.
    Enum: "VALIDATION_ERROR", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "UNPROCESSABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "BAD_GATEWAY", "AUTH_REQUIRED", "INVALID_API_KEY", "INVALID_CREDENTIALS", "SESSION_INVALID", "COMPANY_INACTIVE", "NO_COMPANY_MEMBERSHIP", "PERMISSION_DENIED", "ACCOUNT_ALREADY_EXISTS", "QR_AMOUNT_MISSING", "QR_INVALID", "QR_RESOLVE_FAILED", "AMOUNT_BELOW_MIN", "AMOUNT_ABOVE_MAX", "ST00012_SUM_MISSING", "ST00012_SUM_INVALID", "GIBDD_UIN_INVALID", "FINE_ALREADY_PAID", "FINE_NOT_FOUND", "QUOTE_NOT_FOUND", "QUOTE_EXPIRED", "INSUFFICIENT_BALANCE", "COMPANY_NOT_FOUND", "ORDER_NOT_FOUND", "UNSUPPORTED_CALLBACK_STATUS", "RATE_UNAVAILABLE", "DRIVER_HELPER_TRANSIENT", "WALLET_BACKEND_ERROR", "DISPUTE_NOT_FOUND", "DISPUTE_NOT_ALLOWED", "IDEMPOTENCY_KEY_REQUIRED", "CARDS_NOT_ENABLED", "CARD_NOT_FOUND", "CARD_REQUEST_NOT_FOUND", "CARD_REQUEST_NOT_CANCELABLE", "CARD_NOT_ACTIVE", "CARD_NOT_OWNED", "CARD_RECHARGE_INVALID", "CARD_EXTERNAL_ID_TAKEN", "BRIDGE_ERROR", "MEMBER_NOT_FOUND", "CANNOT_CHANGE_OWN_ROLE", "ROLE_CHANGE_NOT_ALLOWED", "INVITE_NOT_FOUND", "INVITE_USED", "INVITE_EXPIRED", "INVITE_INVALID", "WEBHOOK_DELIVERY_NOT_FOUND", "WEBHOOK_URL_NOT_CONFIGURED", "INVALID_SIGNATURE", "PAYOUTS_NOT_ENABLED", "PAYOUT_NOT_FOUND", "PAYOUT_REQUISITE_INVALID", "PAYOUT_BANK_UNKNOWN", "PAYOUT_BANK_REQUIRED", "PAYOUT_ACTIVE_LIMIT", "PAYOUT_REQUISITE_COOLDOWN", "PAYOUT_OUTSIDE_WORKING_HOURS", "PAYOUT_NOT_CANCELABLE", "PAYOUT_DISPUTE_NOT_ALLOWED", "PAYOUT_SERVICE_REJECTED", "PAYOUT_SERVICE_UNAVAILABLE"

  - `message` (any, required)
    Сообщение для человека (на русском). У ошибок валидации — массив строк.

  - `details` (object)
    Необязательные подробности ошибки, например
`{ "required": "orders.create" }`, `{ "minAmountRub": 100 }`
или `{ "nspkCode": "RQ00010" }`.
    Example: {"nspkCode":"RQ00010"}

  - `required` (string)
    Только у `PERMISSION_DENIED` — право, которого не хватает API-ключу.
    Example: orders.create

  - `path` (string)
    Путь запроса, вызвавшего ошибку, вместе с query-строкой.
    Example: /orders/prepare

  - `timestamp` (string)
    Время ошибки (ISO 8601).
    Example: 2026-05-27T16:41:49.000Z

  - `requestId` (string)
    Идентификатор запроса, он же приходит в заголовке ответа
`X-Request-Id`. Указывайте его в обращениях в поддержку.
    Example: 439436bd-201c-4084-9063-58cfa2cd40ad

## Response 401:

  - `401` (unknown)
    Нет учётных данных или они неверны (API-ключ / сессионный токен).

## Response 401 fields (application/json):

  - `statusCode` (integer, required)
    HTTP-код ответа.
    Example: 400

  - `error` (string, required)
    Текстовое название HTTP-кода (у ошибок прав — `PERMISSION_DENIED`, как раньше).
    Example: Bad Request

  - `errorCode` (string, required)
    Стабильный машиночитаемый код, есть всегда. Со временем могут
появляться новые коды, поэтому неизвестное значение обрабатывайте
как общую ошибку для своего `statusCode`.
    Enum: "VALIDATION_ERROR", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "UNPROCESSABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "BAD_GATEWAY", "AUTH_REQUIRED", "INVALID_API_KEY", "INVALID_CREDENTIALS", "SESSION_INVALID", "COMPANY_INACTIVE", "NO_COMPANY_MEMBERSHIP", "PERMISSION_DENIED", "ACCOUNT_ALREADY_EXISTS", "QR_AMOUNT_MISSING", "QR_INVALID", "QR_RESOLVE_FAILED", "AMOUNT_BELOW_MIN", "AMOUNT_ABOVE_MAX", "ST00012_SUM_MISSING", "ST00012_SUM_INVALID", "GIBDD_UIN_INVALID", "FINE_ALREADY_PAID", "FINE_NOT_FOUND", "QUOTE_NOT_FOUND", "QUOTE_EXPIRED", "INSUFFICIENT_BALANCE", "COMPANY_NOT_FOUND", "ORDER_NOT_FOUND", "UNSUPPORTED_CALLBACK_STATUS", "RATE_UNAVAILABLE", "DRIVER_HELPER_TRANSIENT", "WALLET_BACKEND_ERROR", "DISPUTE_NOT_FOUND", "DISPUTE_NOT_ALLOWED", "IDEMPOTENCY_KEY_REQUIRED", "CARDS_NOT_ENABLED", "CARD_NOT_FOUND", "CARD_REQUEST_NOT_FOUND", "CARD_REQUEST_NOT_CANCELABLE", "CARD_NOT_ACTIVE", "CARD_NOT_OWNED", "CARD_RECHARGE_INVALID", "CARD_EXTERNAL_ID_TAKEN", "BRIDGE_ERROR", "MEMBER_NOT_FOUND", "CANNOT_CHANGE_OWN_ROLE", "ROLE_CHANGE_NOT_ALLOWED", "INVITE_NOT_FOUND", "INVITE_USED", "INVITE_EXPIRED", "INVITE_INVALID", "WEBHOOK_DELIVERY_NOT_FOUND", "WEBHOOK_URL_NOT_CONFIGURED", "INVALID_SIGNATURE", "PAYOUTS_NOT_ENABLED", "PAYOUT_NOT_FOUND", "PAYOUT_REQUISITE_INVALID", "PAYOUT_BANK_UNKNOWN", "PAYOUT_BANK_REQUIRED", "PAYOUT_ACTIVE_LIMIT", "PAYOUT_REQUISITE_COOLDOWN", "PAYOUT_OUTSIDE_WORKING_HOURS", "PAYOUT_NOT_CANCELABLE", "PAYOUT_DISPUTE_NOT_ALLOWED", "PAYOUT_SERVICE_REJECTED", "PAYOUT_SERVICE_UNAVAILABLE"

  - `message` (any, required)
    Сообщение для человека (на русском). У ошибок валидации — массив строк.

  - `details` (object)
    Необязательные подробности ошибки, например
`{ "required": "orders.create" }`, `{ "minAmountRub": 100 }`
или `{ "nspkCode": "RQ00010" }`.
    Example: {"nspkCode":"RQ00010"}

  - `required` (string)
    Только у `PERMISSION_DENIED` — право, которого не хватает API-ключу.
    Example: orders.create

  - `path` (string)
    Путь запроса, вызвавшего ошибку, вместе с query-строкой.
    Example: /orders/prepare

  - `timestamp` (string)
    Время ошибки (ISO 8601).
    Example: 2026-05-27T16:41:49.000Z

  - `requestId` (string)
    Идентификатор запроса, он же приходит в заголовке ответа
`X-Request-Id`. Указывайте его в обращениях в поддержку.
    Example: 439436bd-201c-4084-9063-58cfa2cd40ad

## Response 403:

  - `403` (unknown)
    У участника нет права, которое нужно этому эндпоинту (например,
`orders.create`, `orders.read`, `cards.recharge`). Недостающее право
приходит в теле, в `required` / `details`.

## Response 403 fields (application/json):

  - `statusCode` (integer, required)
    HTTP-код ответа.
    Example: 400

  - `error` (string, required)
    Текстовое название HTTP-кода (у ошибок прав — `PERMISSION_DENIED`, как раньше).
    Example: Bad Request

  - `errorCode` (string, required)
    Стабильный машиночитаемый код, есть всегда. Со временем могут
появляться новые коды, поэтому неизвестное значение обрабатывайте
как общую ошибку для своего `statusCode`.
    Enum: "VALIDATION_ERROR", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "UNPROCESSABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "BAD_GATEWAY", "AUTH_REQUIRED", "INVALID_API_KEY", "INVALID_CREDENTIALS", "SESSION_INVALID", "COMPANY_INACTIVE", "NO_COMPANY_MEMBERSHIP", "PERMISSION_DENIED", "ACCOUNT_ALREADY_EXISTS", "QR_AMOUNT_MISSING", "QR_INVALID", "QR_RESOLVE_FAILED", "AMOUNT_BELOW_MIN", "AMOUNT_ABOVE_MAX", "ST00012_SUM_MISSING", "ST00012_SUM_INVALID", "GIBDD_UIN_INVALID", "FINE_ALREADY_PAID", "FINE_NOT_FOUND", "QUOTE_NOT_FOUND", "QUOTE_EXPIRED", "INSUFFICIENT_BALANCE", "COMPANY_NOT_FOUND", "ORDER_NOT_FOUND", "UNSUPPORTED_CALLBACK_STATUS", "RATE_UNAVAILABLE", "DRIVER_HELPER_TRANSIENT", "WALLET_BACKEND_ERROR", "DISPUTE_NOT_FOUND", "DISPUTE_NOT_ALLOWED", "IDEMPOTENCY_KEY_REQUIRED", "CARDS_NOT_ENABLED", "CARD_NOT_FOUND", "CARD_REQUEST_NOT_FOUND", "CARD_REQUEST_NOT_CANCELABLE", "CARD_NOT_ACTIVE", "CARD_NOT_OWNED", "CARD_RECHARGE_INVALID", "CARD_EXTERNAL_ID_TAKEN", "BRIDGE_ERROR", "MEMBER_NOT_FOUND", "CANNOT_CHANGE_OWN_ROLE", "ROLE_CHANGE_NOT_ALLOWED", "INVITE_NOT_FOUND", "INVITE_USED", "INVITE_EXPIRED", "INVITE_INVALID", "WEBHOOK_DELIVERY_NOT_FOUND", "WEBHOOK_URL_NOT_CONFIGURED", "INVALID_SIGNATURE", "PAYOUTS_NOT_ENABLED", "PAYOUT_NOT_FOUND", "PAYOUT_REQUISITE_INVALID", "PAYOUT_BANK_UNKNOWN", "PAYOUT_BANK_REQUIRED", "PAYOUT_ACTIVE_LIMIT", "PAYOUT_REQUISITE_COOLDOWN", "PAYOUT_OUTSIDE_WORKING_HOURS", "PAYOUT_NOT_CANCELABLE", "PAYOUT_DISPUTE_NOT_ALLOWED", "PAYOUT_SERVICE_REJECTED", "PAYOUT_SERVICE_UNAVAILABLE"

  - `message` (any, required)
    Сообщение для человека (на русском). У ошибок валидации — массив строк.

  - `details` (object)
    Необязательные подробности ошибки, например
`{ "required": "orders.create" }`, `{ "minAmountRub": 100 }`
или `{ "nspkCode": "RQ00010" }`.
    Example: {"nspkCode":"RQ00010"}

  - `required` (string)
    Только у `PERMISSION_DENIED` — право, которого не хватает API-ключу.
    Example: orders.create

  - `path` (string)
    Путь запроса, вызвавшего ошибку, вместе с query-строкой.
    Example: /orders/prepare

  - `timestamp` (string)
    Время ошибки (ISO 8601).
    Example: 2026-05-27T16:41:49.000Z

  - `requestId` (string)
    Идентификатор запроса, он же приходит в заголовке ответа
`X-Request-Id`. Указывайте его в обращениях в поддержку.
    Example: 439436bd-201c-4084-9063-58cfa2cd40ad

## Response 404:

  - `404` (unknown)
    Котировки нет: id неверный, по ней уже создан ордер (котировку
израсходовало первое подтверждение) или она удалена после истечения.

## Response 404 fields (application/json):

  - `statusCode` (integer, required)
    HTTP-код ответа.
    Example: 400

  - `error` (string, required)
    Текстовое название HTTP-кода (у ошибок прав — `PERMISSION_DENIED`, как раньше).
    Example: Bad Request

  - `errorCode` (string, required)
    Стабильный машиночитаемый код, есть всегда. Со временем могут
появляться новые коды, поэтому неизвестное значение обрабатывайте
как общую ошибку для своего `statusCode`.
    Enum: "VALIDATION_ERROR", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "UNPROCESSABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "BAD_GATEWAY", "AUTH_REQUIRED", "INVALID_API_KEY", "INVALID_CREDENTIALS", "SESSION_INVALID", "COMPANY_INACTIVE", "NO_COMPANY_MEMBERSHIP", "PERMISSION_DENIED", "ACCOUNT_ALREADY_EXISTS", "QR_AMOUNT_MISSING", "QR_INVALID", "QR_RESOLVE_FAILED", "AMOUNT_BELOW_MIN", "AMOUNT_ABOVE_MAX", "ST00012_SUM_MISSING", "ST00012_SUM_INVALID", "GIBDD_UIN_INVALID", "FINE_ALREADY_PAID", "FINE_NOT_FOUND", "QUOTE_NOT_FOUND", "QUOTE_EXPIRED", "INSUFFICIENT_BALANCE", "COMPANY_NOT_FOUND", "ORDER_NOT_FOUND", "UNSUPPORTED_CALLBACK_STATUS", "RATE_UNAVAILABLE", "DRIVER_HELPER_TRANSIENT", "WALLET_BACKEND_ERROR", "DISPUTE_NOT_FOUND", "DISPUTE_NOT_ALLOWED", "IDEMPOTENCY_KEY_REQUIRED", "CARDS_NOT_ENABLED", "CARD_NOT_FOUND", "CARD_REQUEST_NOT_FOUND", "CARD_REQUEST_NOT_CANCELABLE", "CARD_NOT_ACTIVE", "CARD_NOT_OWNED", "CARD_RECHARGE_INVALID", "CARD_EXTERNAL_ID_TAKEN", "BRIDGE_ERROR", "MEMBER_NOT_FOUND", "CANNOT_CHANGE_OWN_ROLE", "ROLE_CHANGE_NOT_ALLOWED", "INVITE_NOT_FOUND", "INVITE_USED", "INVITE_EXPIRED", "INVITE_INVALID", "WEBHOOK_DELIVERY_NOT_FOUND", "WEBHOOK_URL_NOT_CONFIGURED", "INVALID_SIGNATURE", "PAYOUTS_NOT_ENABLED", "PAYOUT_NOT_FOUND", "PAYOUT_REQUISITE_INVALID", "PAYOUT_BANK_UNKNOWN", "PAYOUT_BANK_REQUIRED", "PAYOUT_ACTIVE_LIMIT", "PAYOUT_REQUISITE_COOLDOWN", "PAYOUT_OUTSIDE_WORKING_HOURS", "PAYOUT_NOT_CANCELABLE", "PAYOUT_DISPUTE_NOT_ALLOWED", "PAYOUT_SERVICE_REJECTED", "PAYOUT_SERVICE_UNAVAILABLE"

  - `message` (any, required)
    Сообщение для человека (на русском). У ошибок валидации — массив строк.

  - `details` (object)
    Необязательные подробности ошибки, например
`{ "required": "orders.create" }`, `{ "minAmountRub": 100 }`
или `{ "nspkCode": "RQ00010" }`.
    Example: {"nspkCode":"RQ00010"}

  - `required` (string)
    Только у `PERMISSION_DENIED` — право, которого не хватает API-ключу.
    Example: orders.create

  - `path` (string)
    Путь запроса, вызвавшего ошибку, вместе с query-строкой.
    Example: /orders/prepare

  - `timestamp` (string)
    Время ошибки (ISO 8601).
    Example: 2026-05-27T16:41:49.000Z

  - `requestId` (string)
    Идентификатор запроса, он же приходит в заголовке ответа
`X-Request-Id`. Указывайте его в обращениях в поддержку.
    Example: 439436bd-201c-4084-9063-58cfa2cd40ad

## Response 500:

  - `500` (unknown)
    Непредвиденная ошибка. При подтверждении котировки и открытии диспута
она означает и недоступность платёжной стороны; ничего не создано,
запрос можно повторить.

## Response 500 fields (application/json):

  - `statusCode` (integer, required)
    HTTP-код ответа.
    Example: 400

  - `error` (string, required)
    Текстовое название HTTP-кода (у ошибок прав — `PERMISSION_DENIED`, как раньше).
    Example: Bad Request

  - `errorCode` (string, required)
    Стабильный машиночитаемый код, есть всегда. Со временем могут
появляться новые коды, поэтому неизвестное значение обрабатывайте
как общую ошибку для своего `statusCode`.
    Enum: "VALIDATION_ERROR", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "UNPROCESSABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "BAD_GATEWAY", "AUTH_REQUIRED", "INVALID_API_KEY", "INVALID_CREDENTIALS", "SESSION_INVALID", "COMPANY_INACTIVE", "NO_COMPANY_MEMBERSHIP", "PERMISSION_DENIED", "ACCOUNT_ALREADY_EXISTS", "QR_AMOUNT_MISSING", "QR_INVALID", "QR_RESOLVE_FAILED", "AMOUNT_BELOW_MIN", "AMOUNT_ABOVE_MAX", "ST00012_SUM_MISSING", "ST00012_SUM_INVALID", "GIBDD_UIN_INVALID", "FINE_ALREADY_PAID", "FINE_NOT_FOUND", "QUOTE_NOT_FOUND", "QUOTE_EXPIRED", "INSUFFICIENT_BALANCE", "COMPANY_NOT_FOUND", "ORDER_NOT_FOUND", "UNSUPPORTED_CALLBACK_STATUS", "RATE_UNAVAILABLE", "DRIVER_HELPER_TRANSIENT", "WALLET_BACKEND_ERROR", "DISPUTE_NOT_FOUND", "DISPUTE_NOT_ALLOWED", "IDEMPOTENCY_KEY_REQUIRED", "CARDS_NOT_ENABLED", "CARD_NOT_FOUND", "CARD_REQUEST_NOT_FOUND", "CARD_REQUEST_NOT_CANCELABLE", "CARD_NOT_ACTIVE", "CARD_NOT_OWNED", "CARD_RECHARGE_INVALID", "CARD_EXTERNAL_ID_TAKEN", "BRIDGE_ERROR", "MEMBER_NOT_FOUND", "CANNOT_CHANGE_OWN_ROLE", "ROLE_CHANGE_NOT_ALLOWED", "INVITE_NOT_FOUND", "INVITE_USED", "INVITE_EXPIRED", "INVITE_INVALID", "WEBHOOK_DELIVERY_NOT_FOUND", "WEBHOOK_URL_NOT_CONFIGURED", "INVALID_SIGNATURE", "PAYOUTS_NOT_ENABLED", "PAYOUT_NOT_FOUND", "PAYOUT_REQUISITE_INVALID", "PAYOUT_BANK_UNKNOWN", "PAYOUT_BANK_REQUIRED", "PAYOUT_ACTIVE_LIMIT", "PAYOUT_REQUISITE_COOLDOWN", "PAYOUT_OUTSIDE_WORKING_HOURS", "PAYOUT_NOT_CANCELABLE", "PAYOUT_DISPUTE_NOT_ALLOWED", "PAYOUT_SERVICE_REJECTED", "PAYOUT_SERVICE_UNAVAILABLE"

  - `message` (any, required)
    Сообщение для человека (на русском). У ошибок валидации — массив строк.

  - `details` (object)
    Необязательные подробности ошибки, например
`{ "required": "orders.create" }`, `{ "minAmountRub": 100 }`
или `{ "nspkCode": "RQ00010" }`.
    Example: {"nspkCode":"RQ00010"}

  - `required` (string)
    Только у `PERMISSION_DENIED` — право, которого не хватает API-ключу.
    Example: orders.create

  - `path` (string)
    Путь запроса, вызвавшего ошибку, вместе с query-строкой.
    Example: /orders/prepare

  - `timestamp` (string)
    Время ошибки (ISO 8601).
    Example: 2026-05-27T16:41:49.000Z

  - `requestId` (string)
    Идентификатор запроса, он же приходит в заголовке ответа
`X-Request-Id`. Указывайте его в обращениях в поддержку.
    Example: 439436bd-201c-4084-9063-58cfa2cd40ad

## Response 502:

  - `502` (unknown)
    Платёжная сторона не приняла ордер. Средства не заморожены, котировка
не израсходована — запрос можно повторить, пока котировка действует.
Если для одной и той же котировки ошибка повторяется, платёжная
сторона не принимает этого получателя — повтор не поможет.

## Response 502 fields (application/json):

  - `statusCode` (integer, required)
    HTTP-код ответа.
    Example: 400

  - `error` (string, required)
    Текстовое название HTTP-кода (у ошибок прав — `PERMISSION_DENIED`, как раньше).
    Example: Bad Request

  - `errorCode` (string, required)
    Стабильный машиночитаемый код, есть всегда. Со временем могут
появляться новые коды, поэтому неизвестное значение обрабатывайте
как общую ошибку для своего `statusCode`.
    Enum: "VALIDATION_ERROR", "BAD_REQUEST", "UNAUTHORIZED", "FORBIDDEN", "NOT_FOUND", "CONFLICT", "UNPROCESSABLE", "INTERNAL_ERROR", "SERVICE_UNAVAILABLE", "BAD_GATEWAY", "AUTH_REQUIRED", "INVALID_API_KEY", "INVALID_CREDENTIALS", "SESSION_INVALID", "COMPANY_INACTIVE", "NO_COMPANY_MEMBERSHIP", "PERMISSION_DENIED", "ACCOUNT_ALREADY_EXISTS", "QR_AMOUNT_MISSING", "QR_INVALID", "QR_RESOLVE_FAILED", "AMOUNT_BELOW_MIN", "AMOUNT_ABOVE_MAX", "ST00012_SUM_MISSING", "ST00012_SUM_INVALID", "GIBDD_UIN_INVALID", "FINE_ALREADY_PAID", "FINE_NOT_FOUND", "QUOTE_NOT_FOUND", "QUOTE_EXPIRED", "INSUFFICIENT_BALANCE", "COMPANY_NOT_FOUND", "ORDER_NOT_FOUND", "UNSUPPORTED_CALLBACK_STATUS", "RATE_UNAVAILABLE", "DRIVER_HELPER_TRANSIENT", "WALLET_BACKEND_ERROR", "DISPUTE_NOT_FOUND", "DISPUTE_NOT_ALLOWED", "IDEMPOTENCY_KEY_REQUIRED", "CARDS_NOT_ENABLED", "CARD_NOT_FOUND", "CARD_REQUEST_NOT_FOUND", "CARD_REQUEST_NOT_CANCELABLE", "CARD_NOT_ACTIVE", "CARD_NOT_OWNED", "CARD_RECHARGE_INVALID", "CARD_EXTERNAL_ID_TAKEN", "BRIDGE_ERROR", "MEMBER_NOT_FOUND", "CANNOT_CHANGE_OWN_ROLE", "ROLE_CHANGE_NOT_ALLOWED", "INVITE_NOT_FOUND", "INVITE_USED", "INVITE_EXPIRED", "INVITE_INVALID", "WEBHOOK_DELIVERY_NOT_FOUND", "WEBHOOK_URL_NOT_CONFIGURED", "INVALID_SIGNATURE", "PAYOUTS_NOT_ENABLED", "PAYOUT_NOT_FOUND", "PAYOUT_REQUISITE_INVALID", "PAYOUT_BANK_UNKNOWN", "PAYOUT_BANK_REQUIRED", "PAYOUT_ACTIVE_LIMIT", "PAYOUT_REQUISITE_COOLDOWN", "PAYOUT_OUTSIDE_WORKING_HOURS", "PAYOUT_NOT_CANCELABLE", "PAYOUT_DISPUTE_NOT_ALLOWED", "PAYOUT_SERVICE_REJECTED", "PAYOUT_SERVICE_UNAVAILABLE"

  - `message` (any, required)
    Сообщение для человека (на русском). У ошибок валидации — массив строк.

  - `details` (object)
    Необязательные подробности ошибки, например
`{ "required": "orders.create" }`, `{ "minAmountRub": 100 }`
или `{ "nspkCode": "RQ00010" }`.
    Example: {"nspkCode":"RQ00010"}

  - `required` (string)
    Только у `PERMISSION_DENIED` — право, которого не хватает API-ключу.
    Example: orders.create

  - `path` (string)
    Путь запроса, вызвавшего ошибку, вместе с query-строкой.
    Example: /orders/prepare

  - `timestamp` (string)
    Время ошибки (ISO 8601).
    Example: 2026-05-27T16:41:49.000Z

  - `requestId` (string)
    Идентификатор запроса, он же приходит в заголовке ответа
`X-Request-Id`. Указывайте его в обращениях в поддержку.
    Example: 439436bd-201c-4084-9063-58cfa2cd40ad

## Response 400 examples:

  - `id в пути — не UUID` (unknown)

  - `Котировка истекла (живёт 30 секунд) — создайте новую` (unknown)

  - `Доступный баланс меньше суммы котировки в USDT` (unknown)

## Response 401 examples:

  - `Не передан ни API-ключ, ни сессионный токен` (unknown)

  - `Неизвестный или перевыпущенный API-ключ` (unknown)

  - `Сессионный токен истёк или повреждён` (unknown)

  - `Компания отключена (API-ключ участника)` (unknown)

  - `Участник удалён из компании` (unknown)

## Response 403 examples:

  - `Нет нужного права` (unknown)

## Response 502 examples:

  - `Платёжная сторона недоступна или отклонила ордер` (unknown)

