エラーとレート制限
エラー形式
すべてのエラーは JSON ボディを返します:
json
{
"message": "Human-readable description",
"code": "MACHINE_READABLE_CODE"
}認証エラーには追加の authenticated フィールドが含まれます:
json
{
"message": "Invalid API key",
"code": "INVALID_API_KEY_EXCEPTION",
"authenticated": false
}HTTP ステータスコード
| ステータス | 意味 |
|---|---|
400 Bad Request | 必須フィールドの欠落、無効な値、または制約違反 |
401 Unauthorized | API キーが存在しないか無効 |
403 Forbidden | 認証済みだが、このアクションを実行する権限がない |
404 Not Found | リソースが存在しないか、現在の権限では到達できない |
429 Too Many Requests | レート制限を超過した |
500 Internal Server Error | 予期しないサーバーエラー |
レート制限
各エンドポイントにはレート制限を決定するティアが設定されています。カウンターはルートごとに管理され、同一アカウントが所有するすべての API キーで共有されます。
| ティア | 制限 | ウィンドウ | ブロック時間 |
|---|---|---|---|
| Tier 1 | 5 リクエスト | 5 分 | 30 分 |
| Tier 2 | 5 リクエスト | 1 分 | 10 分 |
| Tier 3 | 20 リクエスト | 1 分 | 10 分 |
| Tier 4 | 60 リクエスト | 1 分 | 10 分 |
すべてのレスポンスには以下のヘッダーが含まれます:
| ヘッダー | 説明 |
|---|---|
x-ratelimit-limit | 1 分あたりの最大リクエスト数 |
x-ratelimit-remaining | 現在のウィンドウで残っているリクエスト数 |
x-ratelimit-reset | ウィンドウがリセットされるタイムスタンプ |
ブロックされている間は、429 ステータスとともに x-ratelimit-reset のみが返されます。