Hatalar
Her Direct API hata kodu, anlamı ve yeniden denenip denenmeyeceği; ücretli bir çağrı 5xx ile başarısız olduğunda ne yapılacağı dahil.
Her hatanın gövdesi aynıdır. HTTP durumuna ve code değerine göre dallanın; kişilere description veya error.message gösterin.
{
"description": "Human-readable explanation, safe to log.",
"code": "machine_readable_code",
"data": { "request_id": "…", "…": "…" },
"error": { "error_code": "…", "message": "…" }
}Başarılı da olsa hatalı da olsa her yanıt X-Request-Id taşır. Destekle iletişime geçtiğinizde bunu ekleyin.
Hata kodları
| HTTP | code | Anlamı | Yeniden deneme |
|---|---|---|---|
| 400 | invalid_request | hatalı JSON, bilinmeyen bir gövde alanı veya input aracın şemasını karşılamıyor (her hatalı alan belirtilir) | hayır, isteği düzeltin |
| 401 | invalid_api_key | eksik, hatalı biçimli, iptal edilmiş veya süresi dolmuş anahtar | hayır |
| 402 | insufficient_credits | kuruluş çağrının ücretini ödeyemiyor | kredi yüklendikten sonra |
| 402 | api_key_credit_limit_reached | çağrı anahtarın günlük, aylık veya toplam sınırını aşacak (hangisi olduğunu data.period söyler) | dönem sıfırlandıktan veya sınır yükseltildikten sonra |
| 402 | subscription_paused | kuruluşun aboneliği duraklatılmış | abonelik sürdürüldükten sonra |
| 402 | payment_required | kuruluşun aboneliğinin ödemesi gecikmiş | ödeme tamamlandıktan sonra |
| 403 | direct_api_disabled | Direct API bu kuruluş için etkin değil | hayır, Morphic ile iletişime geçin |
| 403 | insufficient_scope | anahtarda bu aracın gerektirdiği kapsam yok (data.required_scopes) | hayır, başka bir anahtar kullanın |
| 403 | plan_upgrade_required | model veya özellik planınızda yok | hayır |
| 403 | tool_not_available | araç kredi harcıyor ve ücretli araçlar kuruluşunuz için henüz açılmadı (data.tool aracı belirtir); bunları Morphic irtibat kişiniz açar | hayır |
| 403 | model_disabled_by_organization | bir kuruluş yöneticisi bu modeli, çözünürlüğü veya ses seçeneğini kapattı ve API için izin vermedi | hayır, yöneticinize sorun |
| 404 | not_found | bilinmeyen araç, üretim veya webhook ya da bu anahtarın erişimi dışında olan biri | hayır |
| 409 | idempotency_conflict | Idempotency-Key farklı bir gövde veya araçla yeniden kullanıldı | hayır, yeni bir anahtar kullanın |
| 409 | idempotency_in_progress | bu anahtarla yapılan orijinal istek hâlâ çalışıyor | evet, bir saniye sonra |
| 409 | idempotency_outcome_unknown | bu Idempotency-Key ile yapılan orijinal istek başarısız oldu ya da çalışmış olabileceği halde hiç yanıt vermedi, bu yüzden sonucu bilinmiyor | hayır: sonucunu kontrol edin, ardından yeni bir anahtar kullanın |
| 413 | payload_too_large | gövde 1 MB'tan büyük | hayır |
| 422 | tool_refused | girdi doğru biçimde ama çalıştırılamıyor; hiçbir ücret alınmadı | hayır, girdiyi değiştirin |
| 429 | rate_limited | bir hız sınırına ulaşıldı | evet, Retry-After sonrasında |
| 500 | internal_error | bizim hatamız | ücretsiz bir çağrıda evet; ücretli bir çağrı için aşağıya bakın |
| 503 | service_unavailable | geçici aşırı yük veya bakım | ücretsiz bir çağrıda evet, aralığı giderek uzatarak; ücretli bir çağrı için aşağıya bakın |
| 504 | tool_timed_out | araç 60 sn içinde yanıt vermedi; üretim başlatan bir çağrı yine de üretimleri başlatmış olabilir | ücretsiz bir çağrıda evet; ücretli bir çağrı için aşağıya bakın |
Bir 422 tool_refused alanı, değeri ve işe yarayacak değerleri belirtir; bkz. Araç retleri. Başladıktan sonra başarısız olan bir üretim, kendi error.error_code değerini üretim nesnesinde bildirir ve ücreti iade edilir.
5xx yanıtı veren ücretli çağrılar
500, 503 veya 504 yanıtı veren ücretli bir çağrı, başarısız olmadan önce işi başlatmış ve ücretini almış olabilir. Aynı Idempotency-Key ile yeniden denemek onu asla iki kez çalıştırmaz: yeniden deneme 409 idempotency_outcome_unknown yanıtını verir.
- Çağrının ne yaptığını kontrol edin:
list_generationsveya zamana göre filtrelenmişGET /v1/direct/usage. - Yalnızca başlamamış işler için yeni bir
Idempotency-Keygönderin.
Hiç yanıt gelmediğinde (bağlantı koptuğunda) aynı anahtarla yeniden deneyin. Saklanan yanıtı ya da istek hâlâ çalışıyorsa 409 idempotency_in_progress alırsınız. Bkz. Idempotency.
Herhangi bir sorun yaşarsanız ya da sorularınız olursa, bizimle iletişime geçmekten çekinmeyin. Yardım etmeye memnuniyet duyarız. Bize şu adresten yazın: support@morphic.com.