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 を監視し、上限に達する前に気づけるようにしてください。
関連記事
このページは役に立ちましたか?