HTTPエラー

私たちのAPIは予測可能なHTTPエラーコード形式に従います:

  • 400 - invalid_request_error: リクエストの形式または内容に問題がありました。以下にリストされていない他の4XXステータスコードについても、このエラータイプを使用する場合があります。

  • 401 - authentication_error: APIキーに問題があります。

  • 403 - permission_error: APIキーに指定されたリソースを使用する権限がありません。

  • 404 - not_found_error: 要求されたリソースが見つかりませんでした。

  • 413 - request_too_large: リクエストが許可される最大バイト数を超えています。

  • 429 - rate_limit_error: アカウントがレート制限に達しました。

  • 500 - api_error: Anthropicのシステム内部で予期しないエラーが発生しました。

  • 529 - overloaded_error: AnthropicのAPIが一時的に過負荷状態です。

    529エラーは、Anthropic APIが全ユーザーにわたって高いトラフィックを経験している際に発生する可能性があります。まれに、組織の使用量が急激に増加した場合、このタイプのエラーが表示される可能性があります。 529エラーを回避するには、トラフィックを段階的に増やし、一貫した使用パターンを維持してください。

SSE経由でストリーミングレスポンスを受信する際、200レスポンスを返した後にエラーが発生する可能性があり、その場合エラーハンドリングはこれらの標準的なメカニズムに従いません。

エラーの形状

エラーは常にJSONとして返され、常にtypemessageの値を含むトップレベルのerrorオブジェクトが含まれます。例:

JSON
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "The requested resource could not be found."
  }
}

私たちのバージョニングポリシーに従い、これらのオブジェクト内の値を拡張する場合があり、typeの値が時間の経過とともに増加する可能性があります。

リクエストID

すべてのAPIレスポンスには一意のrequest-idヘッダーが含まれます。このヘッダーにはreq_018EeWyXxfu5pfWkrYcMdjWGなどの値が含まれます。特定のリクエストについてサポートに連絡する際は、問題を迅速に解決するためにこのIDを含めてください。

私たちの公式SDKは、request-idヘッダーの値を含むトップレベルレスポンスオブジェクトのプロパティとしてこの値を提供します:

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-opus-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Claude"}
    ]
)
print(f"Request ID: {message._request_id}")

長時間のリクエスト

特に10分を超える長時間実行されるリクエストについては、ストリーミングMessages APIまたはMessage Batches APIの使用を強く推奨します。

私たちのストリーミングMessages APIまたはMessage Batches APIを使用せずに大きなmax_tokens値を設定することは推奨しません:

  • 一部のネットワークは可変期間後にアイドル接続を切断する場合があり、これによりリクエストが失敗したり、Anthropicからのレスポンスを受信せずにタイムアウトしたりする可能性があります。
  • ネットワークの信頼性は異なります。私たちのMessage Batches APIは、中断されないネットワーク接続を必要とする代わりに結果をポーリングできるようにすることで、ネットワーク問題のリスクを管理するのに役立ちます。

直接API統合を構築している場合、TCPソケットキープアライブを設定することで、一部のネットワークでのアイドル接続タイムアウトの影響を軽減できることを認識しておく必要があります。

私たちのSDKは、非ストリーミングMessages APIリクエストが10分のタイムアウトを超えることが予想されないことを検証し、TCPキープアライブのソケットオプションも設定します。