Biaya & batas
Error
Tabel error untuk format OpenAI dan Anthropic.
Error
Error selalu memakai format endpoint yang dipanggil klien. Pesan error tidak pernah memuat API key, base URL upstream, nama env, atau stack trace.
Error server tool (web search, web fetch, X search) tidak memakai tabel di bawah: respons tetap HTTP 200 dan kodenya ada di blok hasil tool. Daftarnya: Kode error di dalam respons 200.
Format OpenAI (Chat & Responses)
{"error": {"message": "…", "type": "…", "param": null, "code": "…"}}
| Kondisi | HTTP | type / code |
|---|---|---|
| Body/parameter salah | 400 | invalid_request_error / invalid_request (atau kode spesifik) |
| Tool / parameter tidak didukung | 400 | invalid_request_error / unsupported_tool, unsupported_parameter |
| Kunci tidak ada / salah | 401 | invalid_request_error / invalid_api_key |
| Saldo habis | 402 | insufficient_quota / insufficient_quota |
| Model tidak ada | 404 | invalid_request_error / model_not_found |
| Body terlalu besar | 413 | invalid_request_error / request_too_large |
| Rate limit / konkurensi | 429 | rate_limit_error / rate_limit_exceeded |
| Upstream 400/422 | 400 | pesan upstream (≤ 500 karakter, nama model upstream → id publik) |
| Upstream 401/403 | 502 | api_error / upstream_error, pesan generik |
| Upstream 429 | 429 | rate_limit_error / upstream_capacity — kapasitas upstream penuh, coba lagi sebentar |
| Upstream 5xx / timeout / koneksi | 502 / 504 | api_error / upstream_error |
| Upstream 529 (Anthropic overloaded) | 529 | api_error / upstream_overloaded |
| Model nonaktif / key upstream kosong | 503 | api_error / model_unavailable |
| Internal | 500 | api_error / internal_error |
Format Anthropic
{"type": "error", "error": {"type": "…", "message": "…"}} — di tengah stream: event: error.
| Kondisi | HTTP | type |
|---|---|---|
| Body/parameter salah | 400 | invalid_request_error |
| Kunci tidak ada / salah | 401 | authentication_error |
| Saldo habis | 402 | billing_error |
| Model tidak ada | 404 | not_found_error |
| Body terlalu besar | 413 | request_too_large |
| Rate limit / konkurensi | 429 | rate_limit_error |
| Upstream 4xx/5xx/timeout | 400 / 502 / 504 / 529 | pesan upstream yang disanitasi, atau api_error / timeout_error / overloaded_error |
| Model nonaktif / internal | 503 / 500 | api_error |