API リクエストの制限

リソース / レート制限とページング

リソースとレートの制限、ページ化されたデータのデフォルト サイズと最大サイズは API の一部とは見なされず、(場合によっては動的に) 変更される可能性があります。

呼び出しの測定方法

呼び出し回数の追跡は、次のように、呼び出しが認証済みかどうかに基づいて測定されます。 

  • 未認証の呼び出し: 特定の IP アドレスについて測定

  • 認証済みの呼び出し: ユーザー ID について測定

レート制限は認証済みのリクエストと未認証のリクエストの両方について、1 時間の段階的な枠に分割されます。つまり、新しいリクエストを実行するための時間が 1 分ごとに 1 分与えられますが、1 時間を超えて連続して実行可能な合計は 1,000 分です。 

匿名リクエストの制限

匿名リクエストには、すべての API リソースで 1 時間あたり 60 リクエストという厳格なレート制限が適用されます。より大きなリクエスト プールにアクセスする必要がある場合は、ログインが必要です。

認証済みリクエストの制限

認証済みリクエストの API リクエスト制限については次の表をご参照ください。

制限タイプ

limit

Git 操作 (HTTPS と SSH の両リクエスト)

60,000 リクエスト/時間

raw ファイルへのアクセス                

raw ファイルへのリクエスト: ファイルがアクティブにダウンロードされた回数。サイトのダウンロード セクションのファイルを含む

次の操作への制限はありません

  • コミットのプッシュまたはプル

  • 最近の変更を取得するためのフェッチ コマンドの実行

  • ブランチのプッシュまたはプル (ブランチに 1,000 以上の新しいファイルがある場合を除く)

5,000 リクエスト / 時間                                        

アーカイブ ファイル: .zip、.gz、およびその他のリポジトリ内の圧縮アーカイブ。

5,000 ファイル/時間

リポジトリ データへのアクセス

スケーリングされたレート制限が適用されます

/2.0/repositories/* へのすべてのアクセス。例:

  • ユーザーまたはチームのリポジトリ一覧の取得 (/2.0/repositories/{workspace})

  • Bitbucket のすべてのリポジトリの一覧の取得 (/2.0/repositories)

  • リポジトリのコミットの一覧の取得 (/2.0/repositories/{workspace}/{slug}/commits)

1 時間当たり 1,000 - 10,000

 

Webhook データへのアクセス

ワークスペースまたはリポジトリ全体で、次のアクションに制限されます。

  • すべての Webhook をリスト

  • Webhook を追加

  • Webhook を削除

1,000/時間

アプリ プロパティへのアクセス権

次のようなアプリ プロパティへのあらゆるアクセス権

  • コミット/リポジトリ/プル リクエストのアプリ プロパティの取得

  • コミット/リポジトリ/プル リクエストのアプリ プロパティの更新

  • コミット/リポジトリ/プル リクエストのアプリ プロパティの削除

2,000/時間

招待を送る

  • グループへの招待を作成する (/1.0/users/{accountname}/invitations)

  • ユーザーをリポジトリに招待する (/1.0/invitations/{accountname}/{repo_slug})

1 分あたりリクエスト 100 件

スケーリングされたレート制限

スケーリングされたレート制限は、組織の成長に合わせて、組織が Bitbucket REST API をタイムリーかつ一貫した方法で使用し続けるのに役立ちます。

必要条件:

  • Standard または Premium プラン

  • ワークスペースに 100 人以上の有料ユーザーがいる

  • 認証にワークスペース、プロジェクト、リポジトリのアクセス トークンを使用するか、Forge アプリを介してプログラムによるアクセスでリクエストを行う必要があります。注: Forge のプログラムによるアクセスの場合、asApp アプリ ユーザーを使用する API リクエストに対してスケーリングされたレート制限を利用できます。

上記の要件を満たすユーザーの場合、有料ユーザーあたり 1 時間あたり 10 個の API リクエストを追加できます。

このレート制限の引き上げには、 1 時間あたり最大 10,000 リクエストが上限となります。 

スケーリングされたレート制限の仕組み

スケーリングされたレート制限は、API リクエストによる増加した負荷を処理できるエンドポイントのグループに適用されます。この API エンドポイントのグループは、api リソース グループと呼ばれる集合体に属しています。注: この集合内のエンドポイントは、いつでも変更される可能性があります。

スケーリングされたレート制限がアクセス トークンおよび Forge asApp アプリ ユーザーでどのように機能するかを示す例

"workspace1" にあるリポジトリ "repo1" のリポジトリ アクセス トークンによって行われたリクエストを考えます。ワークスペース (workspace1) には 500 ユーザー (シート) の有料プランがあるため、アクセス トークンには 1 時間あたり 5,000 リクエストのスケーリングされたレート制限が適用されます。

  • 既定のレート制限は 1 時間あたり 1,000 リクエストです。

  • 最初の 100 人を超えるユーザーごとに、スケーリングされたレート制限が適用されます。

  • 合計 400 ライセンスがスケーリングされたレート制限の計算に考慮されます。

  • 合計リクエスト数の全体的な計算は、1,000 + (500 - 100) * 10 = 5,000 です。

レート制限応答ヘッダー

追加の応答ヘッダーは、アクセス トークンおよび Forge asApp リクエストによって行われたリクエストのスケーリングされたレート制限に適用されるエンドポイントから返されます。これらの応答ヘッダーは、リクエスターがレート制限の使用状況を把握できるように返されます。返される追加の応答ヘッダーは次のとおりです。

  • X-RateLimit-Limit: 1 時間あたりに許可されるリクエストの総数を表します。注: これは残りの可能なリクエストの数ではありません

  • X-RateLimit-Resource: スケーリングされたレート制限を受信している API エンドポイント リソース グループを識別します

  • X-RateLimit-NearLimit: 残りのリクエストが 20% 未満かどうかを示すブール値

たとえば、500 の有料ライセンスがあり、残りのリクエストが 20% 未満のワークスペースの場合、スケーリングされたレート制限が適用されているエンドポイントに対して API リクエストが行われると、次の応答ヘッダーが返されます。

応答ヘッダー

X-RateLimit-制限

5,000

X-RateLimit-リソース

“api”

X-RateLimit-NearLimit

“true”

 

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。