クォータとレート制限

プランごとの日次上限と X-RateLimit-* ヘッダー

3分で読めます
このセクションを印刷

FreeMaint API は企業ごとに 1 日の割り当てを強制し、UTC の午前 0 時にリセットされます。上限はレベルによって異なります。カウンタと残りは応答ヘッダーとして公開されます。

1日の上限

  • Core、Starter — 0(API キーには Business が必要)
  • Business — 1 日 5,000 コール(GraphQL とエネルギー取込エンドポイントで同じカウンターを共有)
  • Enterprise — 1 日 100,000 コール
  • On-Premise — 無制限(上限 = null)

応答ヘッダー

  • X-RateLimit-Limit — ご利用プランの 1 日の上限
  • X-RateLimit-Remaining — 本日の残り呼び出し回数(クォータにカウントされる呼び出しのたびに 1 ずつ減ります)
  • X-RateLimit-Reset — 次回リセット時刻(UTC 午前 0 時)の Unix タイムスタンプ

カウントされないもの

無料なのは /public-api/whoami だけです。カウンターを減らさないため、クォータを消費せずにキーとプランを確認できます。/api/v1/graphql を通るものはすべて、whoami クエリを含めてカウントされ、エネルギー取込エンドポイントも同様です。

1 回の呼び出しとして数えるもの

カウンターは HTTP リクエスト単位ではなく、操作単位で増えます。エイリアスを付けた 50 個のミューテーションを 1 リクエストにまとめても、消費は 50 単位のままです。まとめて送ることで節約できるのは往復回数であって、クォータではありません。定期同期を安く保つには、カタログ全体を読み直さず parts(updatedSince: "...") で差分だけを取得してください。

上限を超えた場合

1 日の上限に達すると、それ以降の呼び出しは「Daily API cap reached」というメッセージで拒否されます。REST 側(/public-api/ping、エネルギー取込エンドポイント)では HTTP 403 です。GraphQL では HTTP ステータスは 200 で、拒否は errors[0].extensions.code = FORBIDDEN にあり、originalError.statusCode は 403 です。カウンターは UTC 00:00 にリセットされます。ソフト上限もバースト枠も分単位のウィンドウもありません。ウィンドウは 1 日です。

ヒント

連携側のダッシュボードで X-RateLimit-Remaining を監視し、上限に達する前に気づけるようにしてください。

このページは役に立ちましたか?