Format error
Kode status dan kode error yang konsisten.
{
"error": {
"code": "INVALID_INPUT",
"message": "Input tidak valid.",
"requestId": "b4f0…",
"details": [{ "field": "city", "message": "Parameter wajib diisi" }]
}
}Sertakan requestId (juga ada di header X-Request-Id) saat melapor masalah.
| Status | Kode | Arti |
|---|---|---|
| 400 | INVALID_INPUT | Parameter hilang, tipe salah, atau di luar batas. |
| 401 | INVALID_API_KEY | Key tidak ada, tidak valid, dicabut, atau kedaluwarsa. |
| 403 | PREMIUM_REQUIRED | Endpoint butuh Premium aktif untuk layanan itu. |
| 403 | KEY_RESTRICTED | Key dibatasi dan tidak boleh mengakses layanan ini. |
| 404 | NOT_FOUND | Endpoint atau data tidak ditemukan. |
| 405 | METHOD_NOT_ALLOWED | Metode HTTP tidak didukung. |
| 413 | PAYLOAD_TOO_LARGE | Body melebihi batas. |
| 429 | RATE_LIMITED | Batas per menit terlampaui (lihat Retry-After). |
| 429 | QUOTA_EXCEEDED | Kuota harian habis; reset 00:00 UTC. |
| 502 | UPSTREAM_ERROR / UPSTREAM_TIMEOUT | Sumber data gagal atau lambat. Kuota dikembalikan. |
| 503 | SERVICE_UNAVAILABLE | Pemeliharaan, provider dinonaktifkan, atau belum dikonfigurasi. |
| 500 | INTERNAL_ERROR | Kesalahan internal server. |