Semua error API mengembalikan body JSON dengan field error. Response 4xx biasanya memerlukan koreksi request, akun, atau rate limit; response 5xx bersifat server-side atau sementara, tetapi keamanan retry tetap bergantung pada action.
| Kode | Nama | Arti |
|---|---|---|
| 400 | Bad Request | Validasi gagal karena nilai wajib hilang, salah bentuk, tidak didukung, atau di luar rentang. Perbaiki request sebelum retry. |
| 403 | Forbidden | Key atau akun tidak diizinkan menjalankan action ini, misalnya saat akun ditangguhkan. Retry tanpa perubahan tidak membantu. |
| 404 | Not Found | Resource API tidak ditemukan atau tidak tersedia bagi key ini. Periksa identifier dan kepemilikan akun sebelum retry. |
| 409 | Conflict | Request bertentangan dengan state yang ada, misalnya menggunakan ulang request_id add untuk order logis berbeda. Gunakan request asli atau identifier unik baru sesuai kebutuhan. |
| 413 | Content Too Large | Body request terlalu besar. Kurangi payload atau pecah request batch yang didukung sebelum retry. |
| 429 | Too Many Requests | Batas rate atau action menolak request. Periksa X-RateLimit-DeniedBy jika ada dan tunggu jumlah detik relatif dalam X-RateLimit-Reset. |
| 500 | Internal Server Error | Terjadi kegagalan server-side tak terduga. Jangan anggap setiap write aman diulang; ikuti panduan retry dan rekonsiliasi khusus action di bawah. |
| 502 | Bad Gateway | Penyedia menolak permintaan pemenuhan. Periksa ketersediaan layanan dan data permintaan sebelum mencoba lagi. |
| 503 | Service Unavailable | API atau operasi wajib sementara tidak tersedia, termasuk saat tidak ada provider yang memenuhi syarat (provider_not_found). Retry nanti dengan backoff, patuhi Retry-After jika ada, dan pertahankan identifier idempotensi yang sama jika action mendukungnya. |
{
"error": "Missing required parameter: service"
}Action membutuhkan parameter yang tidak disertakan. Tambahkan ke body request dan coba ulang.
{
"error": "Invalid API key"
}Key salah, key dicabut, atau key hilang. Periksa apakah nilainya cocok dengan yang ditampilkan di /dashboard/api. Error-nya identik untuk key hilang dan tidak valid guna mencegah serangan enumerasi.
{
"error": "Insufficient balance"
}Saldo akun Anda di bawah total charge order. Isi ulang melalui /dashboard/wallet, atau gunakan kupon.
{
"error": "Service not found"
}ID service tidak ada. Muat ulang katalog dengan action=services dan pilih ID yang berlaku; service yang dihentikan memakai error 400 terpisah.
{
"error": "Rate limit exceeded"
}Batas rate atau action menolak request. Periksa X-RateLimit-DeniedBy jika ada dan tunggu jumlah detik relatif dalam X-RateLimit-Reset.
{
"error": "language must be one of en, es, pt, ru, tr, ar, hi, id, fr, zh",
"error_code": "INVALID_LANGUAGE"
}services dan catalog hanya menerima en, es, pt, ru, tr, ar, hi, id, fr, atau zh. Perbaiki nilai bahasa sebelum mencoba lagi.
Ulangi action=add dengan request_id yang sama dan permintaan logis yang sama untuk menghindari duplikasi; gunakan nilai unik baru untuk pesanan berbeda. Tindakan baca aman diulang. Percobaan pembatalan ulang aman selama pesanan masih memenuhi syarat.