エラー
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エラーの発生率が上昇する可能性があります。 段階的な使用量の増加と、一貫した使用パターンの維持を推奨します。
ストリーミングレスポンスをSSE経由で受信する場合、200レスポンスを返した後にエラーが発生する可能性があり、その場合のエラー処理はこれらの標準的なメカニズムに従いません。
エラーの形式
エラーは常にJSONとして返され、トップレベルのerror
オブジェクトには必ずtype
とmessage
の値が含まれます。例:
当社のバージョニングポリシーに従い、これらのオブジェクト内の値を拡張する可能性があり、type
の値は時間とともに増える可能性があります。
リクエストID
すべてのAPIレスポンスには、一意のrequest-id
ヘッダーが含まれています。このヘッダーにはreq_018EeWyXxfu5pfWkrYcMdjWG
のような値が含まれています。特定のリクエストについてサポートにお問い合わせの際は、迅速な問題解決のためにこのIDを含めてください。
公式SDKsでは、この値はx-request-id
ヘッダーの値を含むトップレベルのレスポンスオブジェクトのプロパティとして提供されます:
長時間のリクエスト
特に10分を超えるような長時間実行されるリクエストについては、ストリーミングメッセージAPIまたはメッセージバッチAPIの使用を強く推奨します。
ストリーミングメッセージAPIまたはメッセージバッチAPIを使用せずに大きなmax_tokens
値を設定することはお勧めしません:
- 一部のネットワークでは、一定期間後にアイドル接続が切断される場合があり、Anthropicからのレスポンスを受信せずにリクエストが失敗またはタイムアウトする可能性があります。
- ネットワークの信頼性は異なります。メッセージバッチAPIを使用すると、中断のないネットワーク接続を必要とせず、結果をポーリングすることでネットワークの問題のリスクを管理できます。
直接APIを統合する場合は、TCPソケットキープアライブを設定することで、一部のネットワークでのアイドル接続タイムアウトの影響を軽減できることを認識しておく必要があります。
当社のSDKsは、ストリーミングを使用しないメッセージAPIリクエストが10分のタイムアウトを超えないことを検証し、TCPキープアライブのソケットオプションも設定します。