Kesalahan
Pelajari tentang kode kesalahan HTTP API kami dan cara menanganinya.
Kesalahan HTTP
API kami mengikuti format kode kesalahan HTTP yang dapat diprediksi:
-
400 -
invalid_request_error
: Ada masalah dengan format atau konten permintaan Anda. Kami juga dapat menggunakan jenis kesalahan ini untuk kode status 4XX lainnya yang tidak tercantum di bawah ini. -
401 -
authentication_error
: Ada masalah dengan kunci API Anda. -
403 -
permission_error
: Kunci API Anda tidak memiliki izin untuk menggunakan sumber daya yang ditentukan. -
404 -
not_found_error
: Sumber daya yang diminta tidak ditemukan. -
413 -
request_too_large
: Permintaan melebihi jumlah byte maksimum yang diizinkan. -
429 -
rate_limit_error
: Akun Anda telah mencapai batas laju. -
500 -
api_error
: Terjadi kesalahan tak terduga di dalam sistem Anthropic. -
529 -
overloaded_error
: API Anthropic sementara kelebihan beban.Kesalahan 529 dapat terjadi ketika API Anthropic mengalami lalu lintas tinggi di semua pengguna. Dalam kasus yang jarang terjadi, jika organisasi Anda mengalami peningkatan tajam dalam penggunaan, Anda mungkin melihat jenis kesalahan ini. Untuk menghindari kesalahan 529, tingkatkan lalu lintas Anda secara bertahap dan pertahankan pola penggunaan yang konsisten.
Ketika menerima respons streaming melalui SSE, ada kemungkinan kesalahan dapat terjadi setelah mengembalikan respons 200, dalam hal ini penanganan kesalahan tidak akan mengikuti mekanisme standar ini.
Bentuk kesalahan
Kesalahan selalu dikembalikan sebagai JSON, dengan objek error
tingkat atas yang selalu menyertakan nilai type
dan message
. Misalnya:
Sesuai dengan kebijakan versioning kami, kami dapat memperluas nilai dalam objek ini, dan ada kemungkinan nilai type
akan bertambah seiring waktu.
ID permintaan
Setiap respons API menyertakan header request-id
yang unik. Header ini berisi nilai seperti req_018EeWyXxfu5pfWkrYcMdjWG
. Ketika menghubungi dukungan tentang permintaan tertentu, harap sertakan ID ini untuk membantu kami menyelesaikan masalah Anda dengan cepat.
SDK resmi kami menyediakan nilai ini sebagai properti pada objek respons tingkat atas, yang berisi nilai header request-id
:
Permintaan panjang
Kami sangat mendorong penggunaan streaming Messages API atau Message Batches API untuk permintaan yang berjalan lama, terutama yang lebih dari 10 menit.
Kami tidak merekomendasikan pengaturan nilai max_tokens
yang besar tanpa menggunakan streaming Messages API
atau Message Batches API kami:
- Beberapa jaringan mungkin memutuskan koneksi yang menganggur setelah periode waktu yang bervariasi, yang dapat menyebabkan permintaan gagal atau timeout tanpa menerima respons dari Anthropic.
- Jaringan berbeda dalam keandalan; Message Batches API kami dapat membantu Anda mengelola risiko masalah jaringan dengan memungkinkan Anda melakukan polling untuk hasil daripada memerlukan koneksi jaringan yang tidak terputus.
Jika Anda membangun integrasi API langsung, Anda harus menyadari bahwa pengaturan TCP socket keep-alive dapat mengurangi dampak timeout koneksi menganggur pada beberapa jaringan.
SDK kami akan memvalidasi bahwa permintaan Messages API non-streaming Anda tidak diharapkan melebihi timeout 10 menit dan juga akan mengatur opsi socket untuk TCP keep-alive.