/v1 bertipe application/problem+json (RFC 9457) dengan kumpulan field yang tetap:
code, jangan berdasarkan detail — code merupakan kontrak mesin yang stabil; detail dapat dibaca manusia dan dapat berubah. param hadir ketika kesalahan dapat dikaitkan dengan parameter permintaan tertentu. Sertakan request_id saat menghubungi dukungan.
Kode kesalahan
Kumpulan kode ini bersifat tertutup: kode baru merupakan perubahan kontrak publik dan akan diumumkan melalui changelog API. Respons
retryable: true berarti kondisi tersebut mungkin dapat teratasi; respons ini tidak membuktikan bahwa operasi tulis tidak berdampak. Coba ulang operasi baca dengan batas jumlah percobaan dan batas waktu yang terbatas, serta gunakan exponential backoff dan jitter. Patuhi Retry-After bila ada, termasuk pada 409 atau 429 yang dapat dicoba ulang.
Untuk mutasi, ikuti kontrak idempotensi dan pemulihan yang didokumentasikan untuk operasi tersebut. Pertahankan key dan permintaan asli bila didukung. Jangan membuat key baru setelah timeout atau 5xx: tindakan tersebut dapat mengulang operasi tulis yang sebenarnya telah berhasil. Header Idempotency-Key tidak memberikan perlindungan apa pun pada operasi yang tidak mendukungnya.
