Solved Docs

insufficient_credits

Недостаточно кредитов для выполнения операции.

Демонстрация шаблона (I1) — не полный реестр

Это демо страницы кода ошибки из макета I1-UX (SOL-6627, экран 03-error-page.png), подтверждающее механику портала. Реальный реестр всех кодов генерируется из registry.yaml — задача I2 (§2.2, §12.3).

HTTP-статус402 Payment Required
retryablefalse
suggested_action (MCP)top_up_credits

Пример ответа

application/problem+json
{
  "type": "https://docs.solved.group/errors/insufficient_credits",
  "title": "Not enough credits",
  "status": 402,
  "detail": "This operation costs 43 credits; balance is 12.",
  "instance": "/v1/links",
  "code": "insufficient_credits",
  "request_id": "req_01J9Z4A7R3V5W2XN4V6B0RTC5H",
  "retryable": false,
  "errors": [],
  "meta": { "required_credits": 43, "balance": 12, "top_up_url": "https://account.solved.group/credits" }
}

Поля

ПолеОбязательноСмысл
typeдаURI страницы ошибки в портале
titleдаКороткое человеческое описание класса ошибки на EN
statusдаСовпадает с HTTP-статусом
detailдаОписание случая
codeдаСтабильный машинный код — клиенты ветвятся только по нему
request_idдаТо же значение, что в заголовке X-Request-ID
retryableдаМожно ли повторить тот же запрос с тем же Idempotency-Key
instanceнетПуть запроса
errors[]при validation_failedСписок деталей по полям
metaнетМашиночитаемые подробности по схеме реестра

Маппинг в MCP

Ошибка исполнения инструмента — результат с isError: true:

{
  "isError": true,
  "content": [{ "type": "text", "text": "[insufficient_credits] This operation costs 43 credits; balance is 12. Top up: https://account.solved.group/credits" }],
  "structuredContent": {
    "error_code": "insufficient_credits",
    "retry_eligible": false,
    "suggested_action": "top_up_credits",
    "message": "This operation costs 43 credits; balance is 12.",
    "request_id": "req_01J9Z4A7R3V5W2XN4V6B0RTC5H",
    "retry_after_seconds": null,
    "details": { "required_credits": 43, "balance": 12 }
  }
}

Источник: ADR-0117 §2.1–§2.3.

Содержание