メインコンテンツへ移動
ドキュメントAPIオープンプラットフォーム認証とレート制限

認証とレート制限

Bearer / X-API-Key / query 3 つの記述方法、パッケージ レート制限、HTTP ステータス コード セマンティクス。

オープン プラットフォームのすべてのエンドポイントは、API キーを通じて均一に認証されます。このページでは、トークンを記述する 3 つの方法、パッケージのレート制限、エラー応答のセマンティクスについて明確に説明します。

3つの認証書き込み方式

1.権限:Bearer(推奨)

bash
curl https://braidrun.com/api/v1/workflows \
  -H "Authorization: Bearer dyk_<id>_<secret>"

最も標準的な書き込み方法で、すべての SDK でデフォルトでサポートされています。実稼働環境が優先されます。

2.X-API-Key ヘッダー

bash
curl https://braidrun.com/api/v1/workflows \
  -H "X-API-Key: dyk_<id>_<secret>"

一部の閉じたネットワークのプロキシが認証ヘッダーを転送できないシナリオに適しています。機能的には Bearer と同等です。

3. クエリパラメータ ?api_key= (ヘッダーを書き込めないシナリオのみ)

text
https://braidrun.com/api/webhook-trigger/approval/appr-123/approve?api_key=dyk_<id>_<secret>
クエリパラメータは注意して使用してください

クエリ パラメータは、ブラウザ履歴、リファラー ヘッダー、HTTP サーバー アクセス ログ、CDN ログに記録されます。これは、GET リンク (電子メール/Slack/Telegram のワンクリック承認リンクなど) の形式でトリガーする必要があるシナリオでのみ使用され、短い TTL キーとともに使用されます。クエリパラメータに対するベアラーの優先順位を決して放棄しないでください。

優先順位

  1. Authorization: Bearer dyk_…
  2. X-API-Key: dyk_…
  3. ?api_key=dyk_…

上から下に試して、空でないものが見つかったら解析を停止します。

レート制限

各 API キーには「1 分あたり」と「1 日あたり」の 2 つの上限があり、キー所有者のパッケージに応じて自動的に適用されます。 各キーには独立したクォータがあり、同じアカウント内の他のキーと共有されません。

パッケージ比較表

パッケージ毎分毎日
Free602,000
Pro30050,000
Team1,200500,000
Enterprise6,000指定なし

ウィンドウセマンティクス

  • 分窓 · エポック分をキーとして使用し、境界は 1 分ごとに自動的にリセットされます (最初の通話から始まるスライディング ウィンドウではありません)。
  • 毎日(日枠) · UTC 日付をキーとして使用し、毎日 00:00 UTC に自動的にリセットされます

限界に達したとき

http
HTTP/1.1 429 Too Many Requests
Retry-After: 38
X-RateLimit-Limit: 60
X-RateLimit-Window: minute
Content-Type: application/json

{
  "error": "Rate limit exceeded",
  "window": "minute",
  "limit": 60,
  "retryAfterSeconds": 38
}

クライアントは次のことを行う必要があります。

  • Retry-After ヘッダー (秒数) を読み取り、対応する時間だけ遅延してから再試行します。
  • X-RateLimit-Window どのウィンドウがヒットしたかを示します (分/日)
  • 指数関数的バックオフ + ジッター。 429 を受信した直後に再試行しないでください
トラフィックを分割するための複数のキー

より高いスループットが必要ですか?異なる環境/異なる統合に対して独立したキーが発行され、各キーには完全なクォータが割り当てられます。 Pro ユーザーが 3 つのキーを開くと、合計 900 RPM の容量に相当します。これは、事故の場所を特定するためのベスト プラクティスでもあります。問題が発生した場合、どのキーが異常な使用法を持っているかを確認するだけで済みます。

HTTPレスポンスコード

ステータスコード意味対処戦略
200成功
202承諾(実行開始時)返された実行IDを使用してステータスをポーリングします。
400無効なリクエストボディ (JSON/フィールドエラー)修正リクエスト;再試行しないでください
401トークンが見つからない/間違った形式/失効/期限切れ/スコープが不十分ですトークンとスコープを再確認します。再試行しないでください
403トークン所有者のアカウントが非アクティブ化/ロックされていますアカウント管理者に連絡してください。再試行しないでください
404リソースが存在しないか、可視性がありませんID/スコープを確認してください。再試行しないでください
409ステータスの矛盾(例:承認が決定された)現在のステータスを再度問い合わせる
429レート制限Retry-Afterに従ってから再試行してください
500/502/503サーバーエラー指数関数的バックオフ + ジッター、3 ~ 5 回の再試行
401 が理由を区別しない理由

トークンの欠落、期限切れ、取り消し、およびスコープの不足はすべて、特定の失敗理由を明らかにすることなく、一律に 401 を返します。これにより、攻撃者がどのキーが存在するか、どのスコープが有効になっているかを検出するために試行錯誤することが回避されます。完全な失敗理由 (理由フィールド) は監査ログに保持され、管理者が確認できます。