Error API
API melaporkan error dengan kode status HTTP standar dan body respons yang seragam. Respons yang berhasil mengembalikan data secara langsung, tanpa pembungkus envelope.
Format error
Saat terjadi error, body respons adalah objek JSON dengan satu field error yang berisi pesan yang dapat dibaca manusia:
{"error":"reaction not found"}
Utamakan kode status HTTP, dan gunakan teks error untuk log dan petunjuk kepada pengguna.
Kode status
200 OK— permintaan berhasil, body berisi data.201 Created— resource baru berhasil dibuat (sebagian endpoint POST).204 No Content— berhasil tanpa body (sebagian penghapusan).400 Bad Request— body atau parameter permintaan tidak valid.401 Unauthorized— token tidak ada, salah, atau kedaluwarsa; atau rute tidak dapat diakses dengan token pribadi.402 Payment Required— aksi dibatasi oleh paket atau kuota (misalnya, media storage sendiri memerlukan premium).403 Forbidden— token tidak memiliki cakupan yang diperlukan untuk rute ini.404 Not Found— resource tidak ditemukan atau bukan milik Anda.409 Conflict— konflik state (misalnya, duplikasi nilai unik).422 Unprocessable Entity— body valid secara sintaksis tetapi tidak lolos validasi domain.429 Too Many Requests— batas permintaan terlampaui (lihat batas).500 Internal Server Error— error internal server; coba lagi nanti.
Cara menangani
Anggap kode 2xx sebagai sukses. Untuk 401/403, periksa token dan cakupan aksesnya. Untuk 4xx (kecuali 429), jangan ulangi permintaan tanpa perubahan — perbaiki permintaannya. Untuk 429 dan 5xx, pengulangan dengan penundaan eksponensial adalah hal yang tepat.
Selanjutnya
- Otorisasi dan token — detail tentang
401dan403. - Batas dan ukuran — tentang
429dan batasan body. - Referensi interaktif — error apa saja yang mungkin terjadi pada endpoint tertentu.