ドキュメントAPI リファレンスエラーコード

エラーコード

3 種類のエラーエンベロープ、カテゴリと HTTP ステータスの対応、よくあるエラー一覧。

ゲートウェイは 3 社の API 形式を提供しており、エラーレスポンスも呼び出した API の形式に一致します。判定はパスによります:/v1/messages* は Anthropic 形式、/v1beta/* は Google 形式、それ以外は OpenAI 形式です。これにより各 SDK のエラー解析がそのまま機能します。

3 種類のエラーエンベロープ

OpenAI
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_request_error",
    "param": null,
    "code": null
  }
}
Anthropic
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key"
  }
}
Google
{
  "error": {
    "code": 401,
    "message": "Invalid API key",
    "status": "UNAUTHENTICATED"
  }
}

カテゴリとステータスコードの対応

カテゴリHTTPOpenAI typeAnthropic typeGoogle status
認証失敗401invalid_request_errorauthentication_errorUNAUTHENTICATED
権限不足403invalid_request_errorpermission_errorPERMISSION_DENIED
リソースなし404invalid_request_errornot_found_errorNOT_FOUND
未対応エンドポイント404invalid_request_errornot_found_errorINVALID_ARGUMENT
不正なリクエスト400invalid_request_errorinvalid_request_errorINVALID_ARGUMENT
レート制限429rate_limit_errorrate_limit_errorRESOURCE_EXHAUSTED
クォータ/残高不足402insufficient_quotabilling_errorRESOURCE_EXHAUSTED
ペイロード過大413invalid_request_errorinvalid_request_errorINVALID_ARGUMENT
上流障害502api_errorapi_errorUNAVAILABLE
過負荷503server_erroroverloaded_errorUNAVAILABLE
内部エラー500api_errorapi_errorINTERNAL

よくあるエラー

メッセージ idHTTP意味と対処
key_missing / key_invalid401API キー未指定または無効。認証ヘッダーを確認してください。
key_disabled / key_expired / key_ip_denied403キーが無効化/期限切れ、または送信元 IP が許可リスト外です。
key_quota_exhausted402キーの利用上限に達しました。リセットを待つか上限を変更してください。
balance_exhausted402アカウント残高が不足しています。チャージ後に再試行してください。
rpm_exceeded / concurrent_exceeded429RPM または同時実行数の上限超過。バックオフして再試行してください。
model_missing400リクエストに model フィールドがありません。
model_not_found / model_disabled404モデルが存在しないか提供終了です。モデル一覧で id を確認してください。
no_upstream_for_model404このモデルを提供できる供給元が現在ありません。後で再試行するか管理者に連絡してください。
moderation_blocked403コンテンツ審査で拒否されました。内容を修正して再試行してください。
body_too_large413リクエストボディがこのエンドポイントの上限を超えています。インラインメディアを圧縮するか別のエンドポイントを使ってください。
upstream_timeout / upstream_unreachable / all_upstreams_down502上流のタイムアウト/接続不可/全遮断です。バックオフして再試行してください。
server_busy503ゲートウェイの同時処理容量が満杯です。しばらくして再試行してください。

エラーメッセージはアカウントの言語設定(認証前は Accept-Language、既定は英語)にローカライズされます。プログラムでは HTTP ステータスと type/status フィールドで分岐し、message テキストを照合しないでください。

リトライとバックオフの具体的な方法はエラー処理とリトライを参照してください。