# Kode error

> Status HTTP dan bentuk error dari API Vikey, beserta cara menanganinya.

## Bentuk error

Endpoint format OpenAI (`/v1/chat/completions`, `/v1/responses`, `/v1/models`):

```json
{
  "error": {
    "message": "Model 'nope/nope' not found (request id: req_01ba...)",
    "type": "invalid_request_error",
    "code": "model_not_found",
    "request_id": "req_01ba..."
  }
}
```

Endpoint format Anthropic (`/v1/messages`):

```json
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "Model 'nope' not found (request id: req_2062...)",
    "request_id": "req_2062..."
  }
}
```

Sertakan `request_id` kalau menghubungi support. Dengan id itu kami bisa menelusuri request kamu.

## Status HTTP

| Status | Contoh pesan | Artinya | Yang perlu dilakukan |
| --- | --- | --- | --- |
| `400` | `model is required`, `messages is required` | Request tidak lengkap atau formatnya salah | Perbaiki body request |
| `400` | `Model '...' matches several models` (`ambiguous_model`) | Nama pendek cocok dengan beberapa provider | Pakai id lengkap yang disebut di pesan |
| `401` | `API key is required`, `Invalid API key` | Key tidak dikirim atau salah | Cek header dan salin ulang key |
| `402` | `Insufficient balance` | Saldo tidak cukup untuk perkiraan biaya request ini | [Top up](/account/top-up/), atau kecilkan `max_tokens` |
| `403` | `API key is inactive` | Key sedang dinonaktifkan | Aktifkan lagi di menu **API Keys** |
| `403` | `This account has been blocked` (`account_blocked`) | Akun diblokir | Hubungi support |
| `404` | `Model '...' not found` (`model_not_found`) | Model id salah atau model tidak aktif | Ambil id dari `GET /v1/models` |
| `429` | Diteruskan dari model | Model tujuan sedang membatasi request | Tunggu sebentar lalu ulangi |
| `502`, `503` | `The model's supplier is currently unavailable` | Model sedang bermasalah di sisi penyedia | Ulangi beberapa saat lagi, atau pakai model lain. [Vikey Auto](/models/vikey-auto/) otomatis pindah ke tingkat berikutnya. |

## Saran penanganan di aplikasi

- Ulangi otomatis untuk `429`, `502`, dan `503`, dengan jeda yang makin panjang.
- Jangan ulangi otomatis untuk `400`, `401`, `402`, `403`, dan `404`. Hasilnya akan sama sampai penyebabnya diperbaiki.
- Untuk `402` di aplikasi yang dipakai banyak orang, tampilkan pesan yang jelas ke admin aplikasi supaya saldo segera diisi.

Source: https://docs.vikey.ai/api/errors/
