# Создать котировку

Создаёт котировку по значению из поля `qrCode`. Поле принимает три
вида данных (тип определяется автоматически и возвращается в
`paymentType`):
- **QR НСПК/СБП**
 — ссылка
`qr.nspk.ru`
, диплинк банка или ссылка

`multiqr.ru`
 /
`platiqr.ru`
 →
`paymentType: nspk`
.
- **Строка ST00012**
 (
`ST00012|...`
) — ЖКХ и бюджетные платежи. Сумма

берётся из поля
`Sum`
 →
`paymentType: st00012`
.
- **`gibdd:uin:{20–25 цифр}`**
 — штраф ГИБДД по УИН. Сумма и реквизиты

подтягиваются автоматически. Штраф оплачивается либо обычным

платежом СБП (
`paymentType: nspk`
), либо, если так нельзя, по

реквизитам (
`paymentType: gibdd_uin`
,
`merchantName: ГИБДД`
).

Обрабатывайте оба варианта.

Котировка живёт 30 секунд. После подтверждения `id` котировки
становится `id` ордера. Нужно право `orders.create`.

Endpoint: POST /orders/prepare
Version: 1.0.0
Security: apiKeyAuth

## Security:

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

## Request fields (application/json):

  - `qrCode` (string, required)
    Что оплатить. Одно из:
- QR НСПК/СБП — ссылка
`qr.nspk.ru`
, диплинк банка или ссылка

`multiqr.ru`
 /
`platiqr.ru`
;
- `ST00012|...`
 — ЖКХ или бюджетный платёж, сумма из
`Sum`
;
- `gibdd:uin:{20–25 цифр}`
 — штраф ГИБДД по УИН.

  - `externalOrderId` (string)

## Response 201:

  - `201` (unknown)
    Котировка создана

## Response 201 fields (application/json):

  - `id` (string, required)

  - `amountRub` (number, required)

  - `amountUsdt` (number, required)

  - `rate` (number, required)
    Курс RUB/USDT, по которому идёт конвертация

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

  - `expiresAt` (string, required)

  - `isBalanceSufficient` (boolean, required)

  - `merchantName` (string | null)
    Название получателя или бренда, если известно. Для ST00012 —
получатель из поля `Name`, для штрафов ГИБДД — `ГИБДД`.

## Response 400:

  - `400` (unknown)
    Котировку создать не удалось: ошибка валидации запроса, не удалось
распознать QR или сумма вне допустимых границ.
Об **истёкших и отменённых QR-кодах**: НСПК не сообщает нам отдельного
состояния «истёк» — истёкший или уже оплаченный QR СБП приходит как
код отказа и возвращается как `QR код недействителен (код: …)`.

## 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 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 503:

  - `503` (unknown)
    Внешний сервис, без которого не создать котировку, временно
недоступен. Запрос можно спокойно повторить чуть позже.

## Response 503 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:

  - `Тело запроса не прошло валидацию` (unknown)

  - `Из QR не удалось получить сумму` (unknown)

  - `НСПК отклонил QR (истёк, отменён или неизвестен)` (unknown)

  - `Не удалось распознать QR (ошибка провайдера, суммы в URL нет)` (unknown)

  - `Сумма ниже минимальной для компании` (unknown)

  - `Сумма выше максимальной для компании` (unknown)

  - `В строке ST00012 нет поля Sum` (unknown)

  - `Поле Sum в строке ST00012 некорректно` (unknown)

  - `Некорректный УИН после префикса gibdd:uin:` (unknown)

  - `gibdd_uin — штраф уже оплачен` (unknown)

  - `gibdd_uin — штраф по УИН не найден` (unknown)

## Response 401 examples:

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

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

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

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

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

## Response 403 examples:

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

## Response 503 examples:

  - `Сервис проверки штрафов ГИБДД недоступен (только gibdd_uin)` (unknown)

  - `Курс ещё неизвестен` (unknown)

