Format Respon Kesalahan
Semua kesalahan mengembalikan format JSON yang konsisten dengan opsi petunjuk Agent-First:message, type, code, param) selalu hadir. Field petunjuk (did_you_mean, suggestions, hint, retryable, retry_after, balance_usd, estimated_cost_usd) adalah ekstensi opsional untuk koreksi mandiri agen AI. Lihat panduan Agent-First API untuk detail.
Endpoint yang kompatibel dengan OpenAI menggunakan tipe kesalahan gateway stabil LemonData. Endpoint yang kompatibel dengan Anthropic dan Gemini menggunakan keluarga kesalahan dan bentuk respons asli mereka sendiri.
Kode Status HTTP
| Code | Deskripsi |
|---|---|
| 400 | Bad Request - Parameter tidak valid |
| 401 | Unauthorized - API key tidak valid atau hilang |
| 402 | Payment Required - Saldo tidak mencukupi |
| 403 | Forbidden - Akses ditolak atau model tidak diizinkan |
| 404 | Not Found - Model atau sumber daya tidak ditemukan |
| 413 | Payload Too Large - Ukuran input atau file melebihi batas |
| 429 | Too Many Requests - Batas laju terlampaui |
| 500 | Internal Server Error |
| 502 | Bad Gateway - Kesalahan penyedia upstream |
| 503 | Service Unavailable - Layanan sementara tidak tersedia |
| 504 | Gateway Timeout - Permintaan melebihi waktu tunggu |
Jenis Kesalahan
Kesalahan Otentikasi (401)
| Tipe | Kode | Deskripsi |
|---|---|---|
invalid_api_key | invalid_api_key | API key hilang atau tidak valid |
expired_api_key | expired_api_key | API key telah dicabut |
Kesalahan Pembayaran (402)
| Tipe | Kode | Deskripsi |
|---|---|---|
insufficient_balance | insufficient_balance | Saldo akun terlalu rendah (endpoint kompatibel OpenAI) |
insufficient_balance_error | insufficient_balance | Saldo akun terlalu rendah (endpoint kompatibel Anthropic) |
quota_exceeded | quota_exceeded | Batas penggunaan API key tercapai |
Kesalahan Akses (403)
| Tipe | Kode | Deskripsi |
|---|---|---|
access_denied | access_denied | Akses ke sumber daya ditolak |
access_denied | model_not_allowed | Model tidak diizinkan untuk API key ini |
Kesalahan Validasi (400)
| Tipe | Deskripsi |
|---|---|
invalid_request_error | Parameter permintaan tidak valid |
context_length_exceeded | Input terlalu panjang untuk model |
model_not_found | Model yang diminta tidak tersedia dalam kontrak publik saat ini |
model_not_found.
Kesalahan Batas Laju (429)
Ketika Anda melewati batas laju:Retry-After dan field retry_after keduanya menunjukkan jumlah detik yang tepat untuk menunggu sebelum mencoba lagi.
Payload Terlalu Besar (413)
Ketika ukuran input atau file melebihi batas:- File gambar terlalu besar (max 20MB)
- File audio terlalu besar (max 25MB)
- Teks input melebihi panjang konteks model
Kesalahan Upstream (502, 503)
| Tipe | Deskripsi |
|---|---|
upstream_error | Penyedia mengembalikan kesalahan |
all_channels_failed | Tidak ada penyedia yang tersedia |
timeout_error | Permintaan melebihi waktu tunggu |
Menangani Kesalahan di Python
Menangani Kesalahan di JavaScript
Praktik Terbaik
Terapkan penundaan eksponensial
Terapkan penundaan eksponensial
Saat dibatasi oleh laju, tunggu semakin lama antara percobaan ulang:
Tetapkan batas waktu
Tetapkan batas waktu
Selalu tetapkan batas waktu yang wajar untuk menghindari permintaan yang menggantung:
Catat kesalahan untuk debugging
Catat kesalahan untuk debugging
Catat respons kesalahan lengkap termasuk ID permintaan untuk dukungan:
Tangani kesalahan spesifik model
Tangani kesalahan spesifik model
Beberapa model memiliki persyaratan khusus (mis. max tokens, format gambar).
Validasi input sebelum membuat permintaan.