エラー
Direct API のすべてのエラーコードとその意味、再試行すべきかどうか、有料の呼び出しが 5xx で失敗した後の対処を説明します。
すべてのエラーは同じボディを持ちます。処理の分岐には HTTP ステータスと code を使い、人に見せるには description または error.message を使ってください。
{
"description": "Human-readable explanation, safe to log.",
"code": "machine_readable_code",
"data": { "request_id": "…", "…": "…" },
"error": { "error_code": "…", "message": "…" }
}成功かエラーかにかかわらず、すべてのレスポンスには X-Request-Id が含まれます。サポートにお問い合わせの際は、この値をお伝えください。
エラーコード
| HTTP | code | 意味 | 再試行 |
|---|---|---|---|
| 400 | invalid_request | JSON の形式が不正、ボディに未知のフィールドがある、または input がツールのスキーマに合わない(不正なフィールドはすべて示されます) | しない。リクエストを修正してください |
| 401 | invalid_api_key | キーがない、形式が不正、無効化済み、または期限切れ | しない |
| 402 | insufficient_credits | 組織が呼び出しの費用を支払えない | クレジットの追加後 |
| 402 | api_key_credit_limit_reached | 呼び出しがキーの日次、月次、または累計の上限を超える(どれかは data.period に示されます) | 期間がリセットされた後、または上限が引き上げられた後 |
| 402 | subscription_paused | 組織のサブスクリプションが一時停止中 | 再開された後 |
| 402 | payment_required | 組織のサブスクリプションの支払いが期限切れ | 支払いが完了した後 |
| 403 | direct_api_disabled | この組織では Direct API が有効になっていない | しない。Morphic にお問い合わせください |
| 403 | insufficient_scope | キーにこのツールが必要とするスコープがない(data.required_scopes) | しない。別のキーを使ってください |
| 403 | plan_upgrade_required | モデルまたは機能がプランに含まれていない | しない |
| 403 | tool_not_available | ツールがクレジットを消費し、組織で有料ツールがまだ有効になっていない(data.tool にツール名が示されます)。Morphic の担当者が有効にします | しない |
| 403 | model_disabled_by_organization | 組織の管理者がこのモデル、解像度、または音声オプションを無効にしており、API での利用を許可していない | しない。管理者にご相談ください |
| 404 | not_found | 未知のツール、生成、Webhook、またはこのキーの範囲外のもの | しない |
| 409 | idempotency_conflict | Idempotency-Key が異なるボディまたはツールで再利用された | しない。新しいキーを使ってください |
| 409 | idempotency_in_progress | このキーでの元のリクエストがまだ実行中 | する。1 秒後に |
| 409 | idempotency_outcome_unknown | この Idempotency-Key での元のリクエストが失敗したか、実行された可能性がある状態で応答しなかったため、結果が不明 | しない。結果を確認してから新しいキーを使ってください |
| 413 | payload_too_large | ボディが 1 MB を超えている | しない |
| 422 | tool_refused | 入力の形式は正しいが実行できない。請求は発生していない | しない。入力を変更してください |
| 429 | rate_limited | レート制限 に達した | する。Retry-After の後に |
| 500 | internal_error | Morphic 側の問題 | 無料の呼び出しはする。有料の呼び出しは下記を参照 |
| 503 | service_unavailable | 一時的な過負荷またはメンテナンス | 無料の呼び出しはバックオフしてする。有料の呼び出しは下記を参照 |
| 504 | tool_timed_out | ツールが 60 秒以内に応答しなかった。生成を開始する呼び出しは、すでに生成を開始している可能性がある | 無料の呼び出しはする。有料の呼び出しは下記を参照 |
422 tool_refused は、フィールド、値、受け付けられる値を示します。ツールの拒否 をご覧ください。開始後に失敗した生成は、生成オブジェクト に独自の error.error_code を示し、請求額は返金されます。
5xx を返した有料の呼び出し
500、503、504 を返した有料の呼び出しは、失敗する前に作業を開始し、請求している可能性があります。同じ Idempotency-Key で再試行しても二重に実行されることはなく、再試行には 409 idempotency_outcome_unknown が返ります。
- 呼び出しが何をしたかを、
list_generationsまたは時間で絞り込んだGET /v1/direct/usageで確認します。 - 開始されなかった作業についてのみ、新しい
Idempotency-Keyで送信します。
応答がまったく届かなかった場合(接続の切断)は、同じキーで再試行してください。保存された応答が返るか、まだ実行中であれば 409 idempotency_in_progress が返ります。冪等性 をご覧ください。
何かお困りのことやご質問がありましたら、お気軽にご連絡ください。喜んでお手伝いします。こちらまでご連絡ください support@morphic.com.