メインコンテンツへスキップ

エラーエンベロープ

ほとんどのエラーレスポンスはこの OpenAI 互換 JSON 形式を使います:
{
  "error": {
    "message": "Descriptive error message",
    "type": "orcarouter_api_error",
    "code": "model_not_found"
  }
}
type は広いカテゴリ、code は具体的な識別子です。一部の高速パス 障害 (特にワークスペース単位の 429) は HTTP ステータスコードと関連 ヘッダのみを返し JSON ボディはありません。

HTTP ステータスコード

ステータス意味典型的な原因
400不正リクエスト無効なパラメータ、必須フィールド欠落、スキーマ違反
401未認証API キーが欠落または無効
403禁止配額不足、またはキーがそのモデルを呼べない
404見つからないモデルまたはエンドポイントが存在しない
429リクエスト過多レート制限ヒット —— レート制限 参照。レスポンスは常に Retry-After ヘッダを含む。
500内部エラーOrcaRouter 側のバグ
502上流エラーすべての上流プロバイダが失敗 (任意のフォールバックチェーンを含む)
503サービス利用不可要求されたモデルが上流で一時的に利用不可

error.type に現れうるエラータイプ

error.type由来
orcarouter_api_errorゲートウェイ側の障害 (認証、配額、レート制限、内部)
upstream_error上流プロバイダがエラーを返したかタイムアウトした
openai_errorOpenAI 互換上流のエラーをそのまま保持
claude_errorAnthropic 上流のエラーをそのまま保持
gemini_errorGemini 上流のエラーをそのまま保持

error.code に現れうるエラーコード

これらは OrcaRouter で発生した障害向けのゲートウェイ発行コード (上流ではない) です:
error.codeHTTP意味
insufficient_user_quota403アカウントクレジット枯渇。チャージしてください。
model_not_found503このモデルはあなたのアカウントで利用できません。
model_price_error400このモデルの価格設定がされていません。サポートに連絡してください。
api_not_implemented400選択したモデルでエンドポイントまたは操作がサポートされていません。
bad_request_body400リクエストボディを解析できませんでした。
prompt_blocked400プロバイダの安全ポリシーが生成前にプロンプトをブロックしました。
sensitive_words_detected400センシティブコンテンツフィルターがプロンプトを拒否しました。
プログラム的に区別する必要があれば、まず error.code (具体) に、次に error.type (広いカテゴリ) にフォールバックしてマッチさせてください。

ストリーミング中のエラー

ストリーミング応答中のエラーは HTTP ステータスコードを使えません (ステータスはストリームが開いた時に既に送られている)。形式はエンド ポイントによります:

/v1/chat/completions/v1/responses (OpenAI 互換)

エラーはインバンドの data: {...} チャンクとして到着します:
data: {"error":{"message":"...","type":"upstream_error","code":""}}

data: [DONE]
data: チャンクを JSON としてパースし、error フィールドがあれば ストリームを失敗とみなしてください。

/v1/messages (Anthropic 互換)

Anthropic は SSE 名前付きイベントを使います。ストリーム障害は次の 形で到着します:
event: error
data: {"type":"error","error":{"type":"overloaded_error","message":"..."}}
エラーイベントの後、ストリームは event: message_stop で終了 (または 切断) します。

フォールバックエラー

extra_body.models が設定されチェーン内のすべてのモデルが失敗 した場合、最後の上流エラーの詳細を含む 502 を取得します。レスポンス ヘッダ X-Orca-Fallback-LevelX-Orca-Fallback-Model は、チェーン が尽きたときにどのフォールバックが試されていたかを示します。 レスポンスヘッダ を参照してください。