> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chattler.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Սխալներ

> Մեկ ծրար, կայուն կոդեր և հարցման նույնացուցիչ յուրաքանչյուր պատասխանում:

## Ծրարը

Յուրաքանչյուր ձախողում, անկախ կարգավիճակից, մեկ JSON օբյեկտ է.

```json theme={null}
{
  "error": {
    "code": "insufficient_balance",
    "message": "Insufficient balance",
    "request_id": "7f20a5f0-5dde-48cf-94aa-38acbbd218e0"
  }
}
```

* `code`-ը կայուն է և մեքենայընթեռնելի: Ճյուղավորվեք դրանով, ոչ թե `message`-ով:
* `message`-ը մարդու համար ընթեռնելի բացատրություն է և կարող է փոխվել:
* `request_id`-ը հարցման UUID-ն է: Այն վերադարձվում է նաև որպես `X-Request-ID` վերնագիր **յուրաքանչյուր** պատասխանում՝ հաջողված թե ձախողված: Նշեք այն, երբ հայտնում եք խնդրի մասին:

Հոսքային էնդփոինթի վրա հոսքի սկսվելուց հետո տեղի ունեցող ձախողումը գալիս է որպես `error` իրադարձություն՝ նույն երեք դաշտերով; տե՛ս [Հոսքային պատասխան](/am/guides/streaming):

## Կոդեր

| HTTP | Կոդ                          | Նշանակություն                                                                                                             |
| ---- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| 401  | `invalid_api_key`            | Բացակայող, սխալ ձևավորված, անհայտ, ջնջված կամ սխալ գաղտնիքով բանալի                                                       |
| 403  | `agent_mismatch`             | Բանալին պատկանում է մեկ այլ գործակալի                                                                                     |
| 403  | `permission_denied`          | `read-only` բանալին կանչել է չատ-էնդփոինթ                                                                                 |
| 403  | `agent_disabled`             | Գործակալն անջատված է: Միայն չատ-էնդփոինթներ                                                                               |
| 404  | `agent_not_found`            | Գործակալն այլևս գոյություն չունի: Միայն չատ-էնդփոինթներ                                                                   |
| 404  | `conversation_not_found`     | Անհայտ խոսակցություն, կամ այնպիսին, որն այս բանալունը չէ                                                                  |
| 402  | `insufficient_balance`       | Սեփականատիրոջ հաշվեկշիռը չի կարող ծածկել պատասխանը; ոչինչ չի գանձվել                                                      |
| 409  | `idempotency_conflict`       | Նույն `Idempotency-Key`-ն օգտագործվել է այլ մարմնով                                                                       |
| 409  | `idempotency_in_progress`    | Սկզբնական հարցումը դեռ ընթանում է; կրկնեք `Retry-After` վայրկյան հետո (միշտ `2`)                                          |
| 409  | `conversation_busy`          | Նույն արտաքին օգտատիրոջ մեկ այլ հաղորդագրության պատասխանվում է; կրկնեք `Retry-After`-ից հետո (միշտ `2`)                   |
| 422  | `validation_error`           | Սխալ մարմին, վերնագիր, ամսաթիվ, սահմանաչափ կամ կուրսոր                                                                    |
| 429  | `rate_limit_exceeded`        | Բանալու պատուհանը սպառված է; տե՛ս [Հարցումների սահմանաչափեր](/am/guides/rate-limits)                                      |
| 503  | `api_rate_limit_unavailable` | Սահմանափակիչն անհասանելի է; հարցումը մերժվում է՝ չհաշվառված սպասարկվելու փոխարեն: Կրկնեք `Retry-After`-ից հետո (միշտ `5`) |
| 503  | `service_unavailable`        | API-ի կախյալ backend-ներից մեկն անհասանելի է; կրկնեք `Retry-After`-ից հետո (միշտ `2`)                                     |
| 500  | `internal_error`             | Անսպասելի ձախողում; նշեք `request_id`-ը                                                                                   |

`agent_not_found`-ը և `agent_disabled`-ը ստուգվում են միայն `POST …/chat`-ի և `POST …/chat/stream`-ի կողմից: Երկու `GET` էնդփոինթները գործակալի վիճակին չեն նայում. անջատված գործակալի բանալին դեռ կարող է ստանալ նրա խոսակցությունների ցանկը և կարդալ հաղորդագրությունները:

## Ինչ կրկնել

<AccordionGroup>
  <Accordion title="Կրկնեք Retry-After-ից հետո՝ նույն Idempotency-Key-ով">
    `idempotency_in_progress`, `conversation_busy`, `rate_limit_exceeded`, `api_rate_limit_unavailable`, `service_unavailable`: Բանալու կրկնակի օգտագործումը երաշխավորում է, որ նույն հաղորդագրության համար երբեք երկու անգամ չեք վճարի:
  </Accordion>

  <Accordion title="Նախ ուղղեք հարցումը">
    `validation_error` (կարդացեք `message`-ը; այն նշում է սխալ դաշտը), `idempotency_conflict` (նոր մարմնի համար օգտագործեք նոր բանալի), `permission_denied` (օգտագործեք `full` բանալի), `agent_mismatch` (օգտագործեք այն գործակալը, որին պատկանում է բանալին):
  </Accordion>

  <Accordion title="Ինքնաբերաբար մի կրկնեք">
    `invalid_api_key` (բանալին ջնջվել է, կամ գաղտնիքը սխալ է), `agent_disabled`, `agent_not_found`, `insufficient_balance` (նախ համալրեք հաշվեկշիռը): Դրանց վրա կրկնության ցիկլը միայն սպառում է հարցումների սահմանաչափը:
  </Accordion>

  <Accordion title="Հայտնեք հարցման նույնացուցիչով">
    `internal_error`: Կրկնեք մեկ անգամ նույն `Idempotency-Key`-ով. ձախողված գրառումն ազատվում է, ուստի կրկնությունը հարցումը նորից է կատարում, այլ ոչ թե վերարտադրում պահված արդյունքը: Դա սպասելի է, բայց անվճար լինելը երաշխավորված չէ: Եթե ձախողումը տեղի է ունեցել այն բանից հետո, երբ մոդելն արդեն պատասխանել էր, կրկնությունը ստեղծում է նոր պատասխան և նոր գանձում: Եթե այն շարունակվում է, ուղարկեք մեզ `request_id`-ը:
  </Accordion>
</AccordionGroup>

## Նշում 401-ի մասին

API-ն չի տարբերում ջնջված բանալին երբեք գոյություն չունեցածից. երկուսն էլ `invalid_api_key` են: Եթե նախկինում աշխատող բանալին սկսում է վերադարձնել 401, ստուգեք «API մուտք» քարտը հավելվածում; հավանաբար այն թարմացվել կամ ջնջվել է:
