Kesalahan & batas
Setiap kode error yang dikembalikan Partner API, dan setiap batas yang ditegakkannya.
Setiap kegagalan memiliki bentuk yang sama. Lakukan percabangan pada error.error_code; catat deskripsi untuk manusia; jangan pernah cocokkan berdasarkan teksnya. error.error_attributes membawa detail yang ditentukan oleh suatu kode, dan null untuk sisanya.
{
"description": "story_document: tautan menyajikan \"text/html\", yang tidak diterima oleh input ini. Arahkan ke file itu sendiri.",
"code": "url_type_not_allowed",
"error": {
"id": null,
"error_code": "url_type_not_allowed",
"error_attributes": null,
"user_readable_message": null,
"locale": "en"
}
}kode berulang error.error_code untuk klien lama; baca error.error_code.
Kode kesalahan
| HTTP | error_code | Artinya | Apa yang harus dilakukan |
|---|---|---|---|
| 400 | invalid_request | isi body atau nilai input salah; deskripsi menyebutkan input | perbaiki lalu kirim ulang. Jangan pernah coba lagi tanpa perubahan |
| 400 | url_not_fetchable | tautan tidak dapat diambil, melanggar salah satu aturan tautan, atau menyajikan file kosong | periksa terhadap Mengirim file melalui URL |
| 400 | url_type_not_allowed | tautan menyajikan jenis konten yang tidak didukung oleh input ini, atau byte yang bukan jenis yang diklaimnya | sajikan file itu sendiri, dengan jenis aslinya |
| 400 | url_too_large | file melebihi max_bytes, atau melebihi sisa jatah byte yang dimiliki run | kirim file yang lebih kecil |
| 401 | unauthorized | kunci tidak ada, tidak valid, dicabut, atau kedaluwarsa | hentikan dan beri tahu seseorang. Mencoba lagi tidak akan membantu |
| 403 | api_key_credit_limit_reached | kunci telah mencapai salah satu batas kreditnya sendiri; error_attributes.period menunjukkan yang mana | minta admin menaikkan batas kunci di Studio, atau tunggu hingga batas harian atau bulanan diatur ulang |
| 403 | credits_exhausted | organisasi tidak memiliki kredit tersisa | isi ulang organisasi |
| 403 | access_denied | org_id bukan organisasi milik kunci, kunci tidak memiliki scope, atau mungkin tidak boleh menjalankan alur kerja ini | periksa scope kunci dan daftar izin alur kerja di Studio |
| 404 | entity_not_found | tidak ada alur kerja, proyek, run, atau endpoint webhook seperti itu di organisasi Anda — atau run alur kerja di luar daftar izin kunci | periksa id |
| 409 | idempotency_conflict | yang sama idempotency_key datang dengan body yang berbeda | gunakan kunci baru untuk pekerjaan baru |
| 429 | too_many_requests | batas baca tercapai | tunggu Retry-After, lalu kirim ulang |
| 500 | internal_error | milik kami | coba lagi dengan jeda bertahap; jika berlanjut, kirimkan kepada kami x-morphic-trace-id |
Batas
| Batas | Default | Catatan |
|---|---|---|
| Kredit | batas kunci itu sendiri | total yang dimiliki setiap kunci, dan batas harian serta bulanan opsional — lihat Batas kredit |
| Pembacaan satu run | 30 per menit, per kunci | satu pembacaan per menit per run sudah cukup; wait=45 masih lebih murah |
| Pembacaan semua run | 1.200 per menit, per kunci | ruang untuk mengikuti ratusan run sekaligus |
| Tautan per run | 10 | di seluruh input file secara keseluruhan |
| Byte per run | 500 MB | di seluruh tautan secara keseluruhan |
| Byte per file | milik input max_bytes | dokumen hingga 100 MB; batas media berlaku per input |
| Masa hidup run | 24 jam | run yang belum selesai pada expires_at menjadi kedaluwarsa |
| Endpoint webhook | 10 per organisasi | hapus satu sebelum menambahkan yang lain |
Memulai run tidak pernah dibatasi laju: batas kredit sebuah kunci membatasi apa yang dapat dihabiskan oleh loop percobaan ulang, dan sebuah idempotency_key mengubah percobaan ulang menjadi replay. Batas baca dinaikkan atas permintaan untuk volume yang telah kita bahas.
Penagihan
Kredit untuk run yang dimulai lewat API ditagihkan ke organisasi yang memiliki kunci, dan dihitung terhadap kunci yang memulainya. Admin melihat pengeluarannya di bawah Penagihan & penggunaan → Aktivitas kredit di Studio, dan batas setiap kunci pada Kunci API halaman.
Run tetap dihitung terhadap kunci yang memulainya bahkan jika seseorang masuk ke chat di Studio dan mengambil alihnya, jadi sisa anggaran kunci adalah anggaran untuk seluruh run.
Run yang ditolak sebelum dimulai — tautan yang salah, atau kunci atau organisasi tanpa kredit — tidak dikenakan biaya. Run yang gagal di tengah jalan telah mengonsumsi biaya dari langkah-langkah yang sempat selesai; credits_used pada run menunjukkan berapa banyak.