Error Codes

Semua error mengikuti format: { "error": { "code": "...", "message": "..." } }.

CodeHTTPDeskripsi
unauthorized401Missing/invalid API key
forbidden403Key lacks required scope
not_found404Resource tidak ditemukan
validation_error400Request body / params tidak valid
rate_limited429Rate limit per-key atau per-user tercapai
negative_balance_locked402Balance pro negatif — top up untuk resume
insufficient_pro_credits402Pro credits tidak cukup untuk reservasi
idempotency_conflict409Idempotency key sama, body berbeda
idempotency_key_in_use409Idempotency key sama, body sama, tapi request pertama masih diproses — ulangi nanti untuk menerima respons aslinya
use_async409Gunakan mode=async (sync tidak tersedia untuk request ini)
unprocessable_document422Dokumen tidak bisa diproses (format tidak didukung, belum selesai ekstraksi)
quota_exceeded429Max in-flight async runs (10/user) tercapai
output_not_ready422Run belum selesai atau output bukan file
payload_too_large413File melebihi batas ukuran — 50MB untuk presigned upload (/documents, /reference-documents), 4MB total untuk multipart files[] inline pada /runs
upstream_unavailable502Model evaluasi tidak mengembalikan hasil yang bisa dipakai, bahkan setelah retry otomatis. Sementara (transient) — ulangi request yang sama (aman memakai Idempotency-Key yang sama); ada header Retry-After dan field retryable: true. Kredit yang direservasi direfund
output_truncated422Output model terpotong karena anggaran token output habis. Mengulang request yang sama tidak membantu — sederhanakan output schema/prompt workflow atau hubungi support. Kredit direfund
internal_error500Server error — kami yang salah (direfund jika ada charge)