エラー
HTTPエラー
私たちのAPIは予測可能なHTTPエラーコード形式に従います:
-
400 -
invalid_request_error
: リクエストの形式または内容に問題がありました。以下にリストされていない他の4XXステータスコードにもこのエラータイプを使用する場合があります。 -
401 -
authentication_error
: APIキーに問題があります。 -
403 -
permission_error
: APIキーに指定されたリソースを使用する権限がありません。 -
404 -
not_found_error
: 要求されたリソースが見つかりませんでした。 -
413 -
request_too_large
: リクエストが許可される最大バイト数を超えています。標準APIエンドポイントの最大リクエストサイズは32MBです。 -
429 -
rate_limit_error
: アカウントがレート制限に達しました。 -
500 -
api_error
: Anthropicのシステム内部で予期しないエラーが発生しました。 -
529 -
overloaded_error
: AnthropicのAPIが一時的に過負荷状態です。529エラーは、Anthropic APIがすべてのユーザーにわたって高いトラフィックを経験している場合に発生する可能性があります。
まれに、組織の使用量が急激に増加した場合、429エラーが表示される場合があります。これらの429エラーを回避するには、トラフィックを徐々に増やし、一貫した使用パターンを維持してください。
SSE経由でストリーミングレスポンスを受信する場合、200レスポンスを返した後にエラーが発生する可能性があり、その場合エラー処理はこれらの標準メカニズムに従いません。
リクエストサイズ制限
APIは最適なパフォーマンスを確保するためにリクエストサイズ制限を適用します:
エンドポイントタイプ | 最大リクエストサイズ |
---|---|
Messages API | 32 MB |
Token Counting API | 32 MB |
Batch API | 256 MB |
Files API | 500 MB |
これらの制限を超えると、413 request_too_large
エラーが返されます。エラーは、リクエストがAnthropicのAPIサーバーに到達する前にCloudflareから返されます。
エラーの形状
エラーは常にJSONとして返され、常にtype
とmessage
の値を含むトップレベルのerror
オブジェクトがあります。レスポンスには、追跡とデバッグを容易にするためのrequest_id
フィールドも含まれます。例えば:
私たちのバージョニングポリシーに従って、これらのオブジェクト内の値を拡張する場合があり、type
の値が時間の経過とともに増加する可能性があります。
リクエストID
すべてのAPIレスポンスには一意のrequest-id
ヘッダーが含まれます。このヘッダーにはreq_018EeWyXxfu5pfWkrYcMdjWG
などの値が含まれます。特定のリクエストについてサポートに連絡する際は、問題を迅速に解決するためにこのIDを含めてください。
私たちの公式SDKは、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キープアライブのソケットオプションも設定します。