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として返され、トップレベルのerrorオブジェクトには常にtypemessageの値が含まれます。例えば:

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分を超えるような長時間実行されるリクエストには、ストリーミングメッセージAPIまたはメッセージバッチAPIの使用を強くお勧めします。

ストリーミングメッセージAPIまたはメッセージバッチAPIを使用せずに大きなmax_tokens値を設定することはお勧めしません:

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

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

当社のSDKは、ストリーミングを使用しないメッセージAPIリクエストが10分のタイムアウトを超えないことを検証し、TCPキープアライブのソケットオプションも設定します。