Справочник кодов ошибок
Каждая ошибка API Pert возвращается в едином JSON-формате:
{
"error": "Описание ошибки для пользователя",
"code": "MACHINE_READABLE_CODE",
"details": {
"field": "name",
"reason": "required"
}
}
error— человекочитаемое сообщение.code— стабильный машиночитаемый код. Имеет смысл использовать его для условной логики обработки ошибки в клиенте.details(опционально) — структурированные данные о причине ошибки (например,fieldиreasonдля валидационных ошибок).
HTTP-статус выводится из поля Kind ошибки:
| Kind | HTTP |
|---|---|
validation |
400 Bad Request |
malformed |
400 Bad Request |
unauthorized |
401 Unauthorized |
forbidden |
403 Forbidden |
not_found |
404 Not Found |
conflict |
409 Conflict |
unavailable |
503 Service Unavailable |
internal |
500 Internal Server Error |
Общие
FORBIDDEN
Клиенту запрещён доступ к ресурсу.
- HTTP: 403 Forbidden
- Kind:
forbidden
Подробности
Клиент аутентифицирован, но у него нет нужных прав для операции. Не выдаётся при отсутствии ресурса — для этого используется *_NOT_FOUND.
INTERNAL_ERROR
Внутренняя ошибка сервиса.
- HTTP: 500 Internal Server Error
- Kind:
internal
Подробности
Непредвиденная ошибка на стороне сервера; клиент не должен пытаться автоматически восстановиться по этому коду — нужно повторить операцию позже или обратиться в поддержку.
MALFORMED_JSON
Некорректное тело запроса (не парсится как JSON).
- HTTP: 400 Bad Request
- Kind:
malformed
Подробности
Тело запроса невалидное (битый JSON, неверная структура).
UNAUTHORIZED
Клиент не аутентифицирован.
- HTTP: 401 Unauthorized
- Kind:
unauthorized
Подробности
Отсутствует или невалиден bearer-токен / сессионная кука. Клиенту нужно повторить аутентификацию.
VALIDATION_ERROR
Ошибка валидации входных данных.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Значение хотя бы одного поля запроса не соответствует требованиям. Дополнительные данные (имя поля, причина) приходят в Details.
Workspace
WORKSPACE_ALREADY_ASSOCIATED
Workspace уже связан с MPC-конфигурацией.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Попытка повторно ассоциировать workspace с конфигами после того, как ассоциация уже произведена.
WORKSPACE_ALREADY_EXISTS
Конфликт уникальности при создании workspace.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Workspace с таким же уникальным набором атрибутов уже существует.
WORKSPACE_ALREADY_FROZEN
Workspace уже заморожен.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Попытка заморозить workspace, который уже находится в замороженном состоянии.
WORKSPACE_FROZEN
Workspace заморожен, доступны только операции чтения.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Попытка выполнить изменяющую операцию в замороженном workspace. Пока workspace заморожен, разрешены только операции чтения.
WORKSPACE_NOT_FOUND
Workspace не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный workspace отсутствует в БД или недоступен текущему пользователю.
WORKSPACE_NOT_FROZEN
Workspace не заморожен.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Попытка разморозить workspace, который не находится в замороженном состоянии.
WORKSPACE_STATUS_INCOMPATIBLE
Статус workspace не позволяет операцию.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Операция требует определённого статуса workspace (например, активации нужен статус new), но текущий статус другой.
WORKSPACE_UNFREEZE_FORBIDDEN
Недостаточно прав для разморозки workspace.
- HTTP: 403 Forbidden
- Kind:
forbidden
Подробности
Workspace был заморожен администратором платформы и может быть разморожен только администратором платформы.
Vault
VAULT_ALREADY_EXISTS
Vault с таким именем уже существует в workspace.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Имя vault должно быть уникальным в рамках workspace.
VAULT_FROZEN
Операция недопустима над замороженным vault.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Vault находится в статусе frozen — действие требует предварительной разморозки.
VAULT_NOT_FOUND
Vault не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный vault отсутствует, удалён или принадлежит другому workspace.
VAULT_UNFREEZE_BLOCKED_BY_AML
Admin не может разморозить AML-замороженный vault.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
AML-провайдер запретил админам снимать заморозку. Для разморозки нужны более широкие полномочия или изменение настроек провайдера.
Wallet
WALLET_ALREADY_EXISTS
Wallet с такой комбинацией параметров уже существует.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Попытка создать wallet/asset для существующей пары vault+currency.
WALLET_ASSET_NOT_FOUND
Asset кошелька не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный asset отсутствует или принадлежит другому workspace.
WALLET_CURRENCY_UNKNOWN
Клиент указал неизвестный currency_id.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Currency_id из запроса не зарегистрирован в системе. Поле currency_id приходит в WebError.Details.
WALLET_NETWORK_MISMATCH
Валюта не соответствует сети воркспейса.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Попытка создать кошелёк для mainnet-валюты в testnet-воркспейсе или testnet-валюты в mainnet-воркспейсе.
WALLET_NOT_FOUND
Кошелёк не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный wallet/asset отсутствует или принадлежит другому workspace.
Whitelisted Address
WHITELISTED_ADDRESS_ALREADY_EXISTS
Whitelisted address уже существует.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Указанный адрес уже добавлен в этот whitelisted-кошелёк.
WHITELISTED_ADDRESS_DUPLICATE_IN_WORKSPACE
Адрес уже добавлен в другой кошелёк этого workspace.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Указанный адрес уже зарегистрирован в рамках данного workspace. Поле address приходит в WebError.Details.
WHITELISTED_ADDRESS_NOT_FOUND
Whitelisted address не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный whitelisted-адрес отсутствует или принадлежит другому кошельку.
WHITELISTED_CURRENCY_UNKNOWN
Клиент указал неизвестный currency_id.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Currency_id из запроса не зарегистрирован в системе. Поле currency_id приходит в WebError.Details.
WHITELISTED_WALLET_ALREADY_EXISTS
Whitelisted wallet с таким именем уже существует.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Имя whitelisted-кошелька должно быть уникальным в рамках workspace.
WHITELISTED_WALLET_NOT_FOUND
Whitelisted wallet не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный whitelisted-кошелёк отсутствует или принадлежит неактивному workspace.
AML
AML_PROVIDER_ALREADY_EXISTS
AML-провайдер уже используется.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
В workspace уже подключен AML-провайдер. Необходимо сначала удалить подключенного AML-провайдера, а затем подключить нового.
AML_PROVIDER_INVALID_API_KEY
Некорректный API-ключ AML-провайдера.
- HTTP: 400 Bad Request
- Kind:
malformed
Подробности
Предоставленный API-ключ был отклонён провайдером при попытке подключения. Нужно перепроверить ключ и повторить запрос.
AML_PROVIDER_NOT_FOUND
AML-провайдер не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Workspace ссылается на AML-провайдера, которого нет среди зарегистрированных в системе. Клиенту следует выбрать другого провайдера из списка доступных.
AML_SCREENING_UNAVAILABLE
Сервис AML-скрининга временно недоступен.
- HTTP: 503 Service Unavailable
- Kind:
unavailable
Подробности
Система скрининга не ответила или ответила временной ошибкой. Запрос можно повторить позже; транзакция, уже принятая в обработку, будет допроверена автоматически.
Backup
BACKUP_NOT_FOUND
Backup не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Backup отсутствует, ещё не подготовлен или больше не доступен для запрошенной операции.
BACKUP_STATUS_INCOMPATIBLE
Статус backup не позволяет операцию.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Ожидался один статус, найден другой (например, для подтверждения нужен received).
BACKUP_WORKSPACE_INACTIVE
Workspace неактивен для backup-операции.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для активного workspace разрешено создавать/проверять backup; в неактивном статусе операция отклонена.
Co-signer
COSIGNER_PART_NOT_FOUND
Co-signer part не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный part отсутствует, уже закоммичен (его конфиг очищен) или связанный pending-intent недоступен.
COSIGNER_PART_STATUS_INVALID
Некорректный статус part для операции.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Part находится в состоянии, при котором запрошенная операция недопустима (например, попытка commit без предварительного receive).
Gas station
GAS_STATION_CANNOT_ASSIGN_SELF
Попытка активировать auto-fuel на вольте, который сам является gas station.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Gas station vault не может быть источником пополнения для самого себя — выберите другой vault.
GAS_STATION_NOT_FOUND
Gas station или связанная конфигурация не найдены.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Для workspace/vault не назначена gas station, либо отсутствует asset-конфигурация в назначенной gas station.
Intent
INTENT_BATCH_ACQUIRE_WRONG_ENDPOINT
Batch-sign intent acquire через неверный эндпоинт.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Batch-sign intent должен acquire-ться через /pending-intent/{id}/acquire-sign, а не через /acquire.
INTENT_NOT_ACQUIRABLE
Intent нельзя acquire текущим пользователем.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Пользователь не подходит на роль acquire-er (нет прав либо intent адресован другому target).
INTENT_NOT_FOUND
Pending intent не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный pending intent отсутствует, отозван или принадлежит другому workspace.
INTENT_NOT_REJECTABLE
Sign intent нельзя отклонить.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Отклонить запрос на подпись можно, только пока подпись собирается. Приходит, если intent не типа sign, уже исполнен или отозван, его подпись уже ушла в исполнение, либо транзакция уже в терминальном статусе. Текущие статусы приходят в WebError.Details (intent_status, transaction_status).
INTENT_NOT_SIGNABLE
Intent нельзя подписать.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для операции AcquireSign intent должен быть типа sign.
INTENT_PAYLOAD_MISSING
Payload intent отсутствует или null.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Тело pending intent не содержит обязательной секции intent.
INTENT_STATUS_INVALID
Некорректный статус intent для операции.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Операция требует определённого статуса (active/acquired); текущий статус другой и приходит в WebError.Details.
Transaction
TRANSACTION_ALREADY_EXISTS
Идемпотентный ключ уже использован.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
По этому X-Idempotency-Key транзакция уже создана. Повторный запрос не создаёт новую и не выполняет балансовую проверку заново. ID уже существующей транзакции кладётся в WebError.Details под ключом transaction_id, чтобы клиент мог её получить.
TRANSACTION_APPROVAL_ALREADY_RECORDED
Попытка изменить уже принятое решение по транзакции.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Решение этого пользователя по запросу на подтверждение уже учтено и не может быть изменено. Ранее записанное решение приходит в WebError.Details под ключом approval_status. Повтор того же самого решения ошибкой не считается и возвращает успех — ретрай после потери ответа безопасен.
TRANSACTION_APPROVAL_INVALID
Попытка апрува невалидным пользователем или для неактуального запроса на подтверждение.
- HTTP: 403 Forbidden
- Kind:
forbidden
Подробности
Пользователь не входит в список approvers, запрос на подтверждение уже завершён / отозван, либо указанная транзакция не относится к этому запросу на подтверждение.
TRANSACTION_APPROVERS_UNAVAILABLE
Ни у одного апрувера нет привязанного устройства.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Policy-engine потребовал аппрувал, но у выбранных апруверов нет ни одного зарегистрированного устройства, через которое можно подтвердить транзакцию. Транзакция помечается failed. Клиенту нужно сначала зарегистрировать устройства апруверов и создать транзакцию заново.
TRANSACTION_ASSET_MISMATCH
Source и target asset не совпадают.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Для перевода между внутренними кошельками источник и приёмник должны относиться к одной и той же валюте.
TRANSACTION_BLOCKED_BY_POLICY
Транзакция заблокирована policy-engine.
- HTTP: 403 Forbidden
- Kind:
forbidden
Подробности
Правила politики не разрешают эту операцию. Причина и метаданные решения едут в WebError.Details.
TRANSACTION_BROADCAST_REJECTED
Сеть отклонила транзакцию при отправке.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Внешняя система обработки транзакций отклонила транзакцию при попытке отправить её в сеть (общий случай, без более специфичной причины).
TRANSACTION_DROPPED_BY_PLATFORM
Платформа отменила транзакцию до отправки в сеть.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Платформа приняла решение не отправлять транзакцию в сеть (например, после ручного вмешательства оператора).
TRANSACTION_EXPIRED_BEFORE_BROADCAST
Транзакция истекла до отправки в сеть.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Срок действия транзакции истёк раньше, чем её успели отправить в сеть (например, устарел использованный blockhash/nonce-контекст).
TRANSACTION_FEE_LIMIT_TOO_LOW
fee_limit не покрывает комиссию уже на этапе создания транзакции.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Сеть подорожала между котировкой и созданием транзакции. В отличие от CodeTransactionFeeStale (устарела после подписания), тут транзакция ещё не создана — нужна свежая котировка и повтор с новым fee_limit.
TRANSACTION_FEE_STALE
Комиссия успела устареть до отправки в сеть.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Между расчётом комиссии и отправкой транзакции сеть успела подорожать настолько, что рассчитанная комиссия больше не актуальна. Нужно пересоздать транзакцию со свежей котировкой комиссии.
TRANSACTION_INSUFFICIENT_BALANCE
На источнике недостаточно available-баланса.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Available-баланс источника меньше суммы перевода (плюс комиссия, если она списывается из того же актива). В WebError.Details кладутся available и required в атомарных единицах.
TRANSACTION_INSUFFICIENT_FEE_BALANCE
У источника не хватает базового актива на комиссию сети.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Переводится токен, а комиссия сети списывается в базовом активе сети (нативной монете), а не в самом токене. Available-баланса этого базового актива меньше комиссии. В WebError.Details кладутся available, required (в атомарных единицах базового актива) и asset (идентификатор базового актива). Если для вольта включена авто-заправка, она запускается в фоне — повтор перевода может пройти позже, когда заправка дойдёт.
TRANSACTION_NOT_CANCELABLE
Транзакцию уже нельзя отменить.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Отмена возможна, только пока транзакция не передана в сеть. Как только подпись собрана и транзакция ушла на рассылку, отменить её средствами платформы нельзя — исход определяет блокчейн. Также возвращается, если транзакция уже в терминальном статусе (в том числе отменена ранее). Текущий статус кладётся в WebError.Details под ключом status.
TRANSACTION_NOT_FOUND
Транзакция не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенная транзакция отсутствует или принадлежит другому workspace.
TRANSACTION_ONCHAIN_FAILED
Транзакция реально исполнилась в сети и завершилась неудачей.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Транзакция дошла до сети и была включена в блок, но её исполнение завершилось ошибкой (например, revert). Это финальный результат: в отличие от CodeTransactionProviderUnavailable, повторная попытка с теми же параметрами не поможет.
TRANSACTION_PROVIDER_UNAVAILABLE
Внешняя система обработки транзакций временно недоступна.
- HTTP: 503 Service Unavailable
- Kind:
unavailable
Подробности
Не удалось получить статус транзакции из-за таймаута или сбоя на стороне внешней системы обработки транзакций. Можно повторить запрос позже.
TRANSACTION_STATUS_INCOMPATIBLE
Статус транзакции не позволяет операцию.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Операция требует определённого статуса (например, разморозка нужна только для frozen). Текущий статус кладётся в WebError.Details.
TRANSACTION_TARGET_MISSING
Не задан адрес/кошелёк назначения.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
В запросе нужно указать либо target_address, либо target_wallet_id.
TRANSACTION_UNFREEZE_BLOCKED_BY_AML
Admin не может разморозить AML-замороженную транзакцию.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
AML-провайдер запретил админам снимать заморозку транзакций.
TRANSACTION_UPSTREAM_ERROR
Ошибка от внешней системы обработки транзакций.
- HTTP: статус наследуется от Kind, который выводится из status_code в Details
- Kind:
validation | not_found | conflict | unauthorized | forbidden | unavailable | internal
Подробности
Внешняя система обработки транзакций вернула не-2xx ответ. Все полезные поля upstream-ответа (status_code, error_code, error_details, transaction_id, status, expired_at) доступны через WebError.Details. Если в upstream-ответе был error_code, именно он позволяет клиенту реагировать на конкретный сценарий.
Company
COMPANY_NOT_FOUND
Компания не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенная компания отсутствует в системе.
Webhook
WEBHOOK_LIMIT_EXCEEDED
Превышен лимит webhooks для workspace.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для workspace настроено максимально допустимое количество webhooks. Удалите неактуальные перед созданием новых.
WEBHOOK_NOT_FOUND
Webhook не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный webhook отсутствует или принадлежит другому workspace.
WEBHOOK_SIGNING_KEY_UNAVAILABLE
KMS-подписант не сконфигурирован.
- HTTP: 503 Service Unavailable
- Kind:
unavailable
Подробности
Попытка получить публичный ключ для проверки подписи, но trust-сервис не настроен. Скорее всего ошибка конфигурации сервиса.
WEBHOOK_URL_INVALID
URL вебхука не прошёл проверку.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
URL не парсится, использует недопустимую схему, указывает на loopback/приватную сеть или хост не резолвится. Конкретная причина едет в WebError.Details.
User
TOTP_INVALID
Переданный TOTP-код не подошёл.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
Код не совпал ни с основным TOTP, ни с backup-кодом. Неудачные попытки учитываются брутфорс-защитой (см. CodeTOTPTooManyAttempts).
TOTP_REQUIRED
Для операции требуется TOTP-код, но он не передан.
- HTTP: 400 Bad Request
- Kind:
validation
Подробности
У пользователя включена 2FA — повторить запрос с totp_code. Если доступ к TOTP утерян (сценарий забытого пароля), обратиться в поддержку.
TOTP_RESET_TOO_MANY_ATTEMPTS
Превышен лимит неверных паролей при сбросе 2FA.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
По этой ссылке сброса накоплено слишком много неверных паролей за окно. Проверка временно заблокирована во избежание подбора пароля; если срок ссылки истёк или попытки исчерпаны, запросить новый сброс у поддержки.
TOTP_TOO_MANY_ATTEMPTS
Превышен лимит неудачных попыток ввода TOTP-кода.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
По пользователю накоплено слишком много неверных попыток 2FA за окно. Проверка временно заблокирована во избежание брутфорса; повторить позже.
USER_CANNOT_PERFORM_OPERATION_ON_HIMSELF
Действие над собственной учётной записью не разрешено.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Пользователь-инициатор не может выполнить действие, где объектом является он сам. Например, изменить свою роль, удалить или заблокировать себя и тд.
USER_NOT_FOUND
Пользователь не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Пользователь не существует в системе (в обычном или платформенном тенантах)
USER_STATE_INCOMPATIBLE
Состояние, в котором находится аккаунт пользователя не позволяет выполнить операцию.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для выполнения операции требуется определенное состояние аккаунта пользователя. Это может быть конкретный статус, роль, факт регистрации в системе, наличие/отсутствие TOTP и тд.
Role
ROLE_NOT_FOUND
Роль не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Роль не существует в системе.
Permission
PERMISSION_NOT_FOUND
Пермишен не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Пермишен не существует в системе.
Tenant
TENANT_INACTIVE
Тенант не активирован.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для выполнения операции требуется, чтобы тенант был активирован
TENANT_NOT_FOUND
Тенант не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Тенант не существует в системе.
TENANT_TYPE_INACTIVE
Тип тенанта не активирован.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для выполнения операции требуется, чтобы тип тенант был активирован
TENANT_TYPE_NOT_FOUND
Тип тенанта не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Тип тенанта не существует в системе.
Session
SESSION_ALREADY_LOGGED_OUT
Сессия уже завершена.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Невозможно выйти из сессии, которая уже завершена (logout уже выполнен).
SESSION_EXPIRED
Время действия сессии истекло.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Время действия сессии истекло
SESSION_NOT_FOUND
Сессия не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Сессия не существует в системе.
Device
DEVICE_ALREADY_EXISTS
Конфликт уникальности при привязке устройства пользователя.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Девайс с таким же уникальным набором атрибутов уже существует.
DEVICE_INACTIVE
Устройство не активировано.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для выполнения операции требуется, чтобы устройство было активировано
DEVICE_NOT_FOUND
Устройство не найдено.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Устройство пользователя не существует в системе.
DEVICE_UNPAIR_FORBIDDEN
Отвязка устройства запрещена ролью пользователя.
- HTTP: 403 Forbidden
- Kind:
forbidden
Подробности
Роль пользователя в тенанте помечена unpairable_device: true в roles.yml — отвязка/отзыв устройства запрещены для всех, включая самого пользователя и платформенного администратора.
API Key
API_KEY_ALREADY_REVOKED
API ключ уже был отозван.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Невозможно отозвать API ключ, который уже отозван.
API_KEY_EXPIRED
Время действия API ключа истекло.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Невозможно использовать API ключ, время действия которого истекло
API_KEY_NOT_FOUND
API ключ не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
API ключ не существует в системе.
API_KEY_RATE_LIMIT_REACHED
Превышен или достигнут лимит запросов.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Невозможно использовать API ключ, у которого достигнуто ограничение на количество запросов
Service Account
SERVICE_ACCOUNT_ALREADY_EXISTS
Конфликт уникальности при создании сервис аккаунта.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Сервис аккаунт с таким же уникальным набором атрибутов уже существует.
SERVICE_ACCOUNT_INACTIVE
Сервисный аккаунт не активирован.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Для выполнения операции требуется, чтобы сервисный аккаунт был активирован
SERVICE_ACCOUNT_NOT_FOUND
Сервисный аккаунт не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Сервисный аккаунт не существует в системе.
Policy
POLICY_NOT_FOUND
Политика не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Политика не существует в воркспейсе.
POLICY_VERSION_NOT_FOUND
Версия политика не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Версия политики не существует в воркспейсе.
Group
GROUP_MEMBERS_LIMIT_REACHED
Достигнут лимит числа членов группы.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
User_groups.max_members_per_group (roles.yml, дефолт 100, 0 = без лимита). Проверка на уровне приложения при добавлении членов.
GROUP_NAME_TAKEN
Имя группы занято.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
В тенанте уже существует группа с таким именем.
GROUP_NOT_FOUND
Группа не найдена.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Группа пользователей не существует в системе.
ROLE_FORBIDDEN_FOR_GROUP
Роль пользователя запрещает членство в группах.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Роль пользователя в тенанте группы входит в список user_groups.membership_forbidden_roles (roles.yml), по умолчанию VIEWER. Проверка выполняется только в момент добавления: смена роли уже состоящего в группе пользователя членство не пересматривает.
USER_ALREADY_IN_GROUP
Пользователь уже состоит в группе.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Повторное добавление пользователя в группу.
USER_NOT_IN_GROUP
Пользователь не состоит в группе.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Попытка удалить из группы пользователя, который в ней не состоит.
Tags
TAG_ALREADY_EXISTS
Конфликт уникальности при создании tag.
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Tag с таким же уникальным набором атрибутов уже существует.
TAG_ATTACHED_TO_VAULT
Tag привязан к vault
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Невозможно выполнить операцию (обычно удаление) тк tag привязан к vault. Сначала необходимо отвязать tag от vault
TAG_IS_USED_IN_POLICY_RULE
Tag используется в правилах политик
- HTTP: 409 Conflict
- Kind:
conflict
Подробности
Невозможно выполнить операцию (обычно удаление), тк tag используется в одном или нескольких правилах политик
TAG_NOT_FOUND
Tag не найден.
- HTTP: 404 Not Found
- Kind:
not_found
Подробности
Запрошенный tag отсутствует, удалён или принадлежит другому workspace.