Memulai
Error
Format error, kode status, dan kapan perlu mencoba lagi.
Error memakai kode status HTTP standar dan selalu mengembalikan struktur JSON yang sama, dengan kode stabil yang bisa dibaca mesin.
Format error#
{
"error": {
"code": "rateLimited",
"message": "Rate limit exceeded",
"retryAfter": 12
}
}error.code bersifat stabil dan aman dijadikan dasar percabangan logika. error.message adalah petunjuk yang mudah dibaca manusia dan bisa berubah. Beberapa error menambahkan field lain: retryAfter untuk batas permintaan, reason untuk kuota dan pembatasan paket, serta issues untuk error validasi.
Kode error#
| Status | Kode | Arti | Coba lagi? |
|---|---|---|---|
| 400 | validation | Ada parameter atau body yang tidak valid; lihat error.issues. | Tidak |
| 401 | unauthorized | Kunci API tidak disertakan, salah format, atau sudah dicabut. | Tidak |
| 402 | planRequired | Paketmu tidak menyertakan akses API atau fitur ini. | Tidak |
| 403 | forbidden | Permintaan ini tidak diizinkan. | Tidak |
| 404 | notFound | Token belum dipindai atau dompet belum dibuatkan profil. | Nanti |
| 409 | conflict | Permintaan bertentangan dengan status saat ini. | Tidak |
| 429 | rateLimited | Terlalu banyak permintaan per menit, atau kuota bulanan sudah habis. | Ya |
| 500 | generic | Terjadi kesalahan di sisi kami. | Ya |
| 503 | unavailable | Sedang dalam pemeliharaan atau penyedia data kehabisan kapasitas. | Nanti |
Error validasi#
Parameter yang tidak valid mengembalikan 400 beserta daftar issues yang menunjukkan field mana yang bermasalah.
400
{
"error": {
"code": "validation",
"message": "Invalid input",
"issues": [
{
"path": "pageSize",
"message": "Invalid input"
}
]
}
}