Kanorio

API リファレンス

レート制限とクォータ

Kanorio APIにおけるリクエストレート制限の仕組み、現在の状況を確認するためのヘッダー、および保存リソース量の上限となるプランごとのクォータについて解説します。

レート制限は、特定のインテグレーションが他のユーザーのパフォーマンスを低下させることを防ぐための仕組みです。Management APIでは認証情報ごとに、パブリックAPIではサイト、訪問者、または顧客ごとに制限がカウントされます。クォータはこれとは異なり、コレクションアイテムやWebhookエンドポイントなど、サイトが保存できるリソース量の上限を指し、契約しているプランによって異なります。

制限に達した場合

APIは 429 ステータスコードと RATE_LIMITED というコードを返し、Retry-After ヘッダーで秒数を指定します。その秒数以上待機してから、バックオフを考慮して再試行してください。

{
  "error": {
    "code": "RATE_LIMITED",
    "message": "Too many requests.",
    "details": { "retryAfter": 12 }
  }
}

バックエンドが混雑している場合、SEARCH_BUSY や ANALYTICS_BUSY など、より具体的なコードとともに 429 が返されることがあります。これらも同様の方法で処理してください。

Management API

各トークンには独自の予算が割り当てられています。ほとんどの操作はデフォルトの階層を共有します。分析クエリは負荷が高いため、トークンごとに低い階層が設定されており、さらにサイトごとに上限が設けられ、そのサイト上のすべてのトークンで共有されます。REST呼び出しとMCP呼び出しは、同じ予算枠としてカウントされます。

Management APIリファレンスの各操作には階層が示されており、OpenAPIドキュメントでは x-kanorio-rate-limit として記載されています。

Content Delivery API

エッジキャッシュから提供されるレスポンスはカウントされないため、キャッシュが有効な混雑したサイトがこれらの制限に達することはありません。キャッシュミス、フォームへの書き込み、分析ビーコン、ドラフトプレビューはトークンバケットでカウントされます。各バケットは一定の速度で補充され、短時間のバーストが可能です。カウント対象のレスポンスには以下のヘッダーが含まれます。

ヘッダー意味
X-RateLimit-Limitバケットサイズ
X-RateLimit-Remaining現在の残りリクエスト数
X-RateLimit-Resetバケットが再び満杯になるまでの秒数

可能な限りサーバーサイドやビルド時にページを構築し、エッジキャッシュで訪問者のトラフィックを吸収するようにしてください。

Customer API

サインイン後の呼び出しは、顧客トークンごとに制限されます。サインインのリクエストは、IPアドレスごとに制限されます。

現在の制限とクォータ

以下の値は、APIが適用している定数から生成されています。

Management API tiers

TierLimitApplies to
default120/minute per tokenEvery operation not listed below
heavy20/minute per token, plus 20/minute per siteAnalytics queries (analytics.*); REST and MCP share the bucket
publish30/hour per tokenPublishing and unpublishing

Content Delivery API buckets

Cache hits are not counted. Only requests that miss the edge cache, form writes and analytics beacons use these buckets.

BucketLimit
Cache misses per site20 requests/second, burst 100
Cache misses per visitor IP10 requests/second, burst 30
Draft preview per IP2 requests/second, burst 20
Gated content per customer token5 requests/second, burst 30

Customer API buckets

BucketLimit
Per customer token5 requests/second, burst 30
Sign-in (challenge and verify) per IP1 requests/second, burst 10

Plan quotas

ResourceFreeProBusiness
Collection items included501,00010,000
Storage included200 MB10 GB200 GB
Custom domains015
Webhook endpoints per site101010
Rows per import batch1001,0002,000