Jawaban sukses
Semua jawaban sukses dibungkusdata:
DELETE tidak pernah menjawab 204. Jawabannya 200 dengan "status": "deleted" bila sudah selesai, atau 202 dengan "status": "deleting" bila masih berjalan. Setelah selesai, resource hilang dari daftar dan detailnya menjawab 404.
Format data
- Nama field
snake_case. Id selalu string: UUID, kecuali id image yang berupa slug (mis.ubuntu-24-04). - Waktu dalam RFC 3339, UTC, tanpa milidetik:
2026-11-08T07:15:00Z. Tanggal saja (2026-11-08) dipakai untuk hari kalender Asia/Jakarta di billing. - Uang di billing dalam sen (1/100 Rupiah, field
*_cents). Harga paket dalam Rupiah (price_monthly,price_hourly). - Field opsional yang kosong tidak dikirim. Daftar kosong dikirim sebagai
[].
Jawaban error
code: stringsnake_caseyang stabil. Pakai ini di kode Anda, bukanmessage.message: penjelasan untuk manusia. Teksnya bisa berubah.details: opsional. Untukvalidation_error, field yang salah ada didetails.fields.
Bahasa pesan
KirimAccept-Language untuk memilih bahasa message:
Header
Content-Language di jawaban menyebut bahasa yang dipakai. Data resource (nama, status, dll.) tidak diterjemahkan.
Kode error umum
Kode spesifik: bila platform punya alasan yang lebih tepat,
code memakai nama itu dalam huruf kecil, mis. volume_has_snapshots (409) saat menghapus volume yang masih punya snapshot. Tangani kode yang tidak Anda kenal berdasarkan status HTTP-nya.
Kapan mengulang
Pelacakan request
Setiap jawaban membawa headerX-Request-Id. Anda boleh mengirim X-Request-Id sendiri (8–64 karakter: huruf, angka, ., _, -); bila valid, nilai itu dipakai dan dikembalikan. Catat id ini di log aplikasi Anda dan sertakan saat menghubungi dukungan. Jangan sertakan API key.