正時で区切った指定期間内のアクティブな Session 数、アクティブな Identity 数、累積アクティブ時間、Credit を Template 別に集計します。
GET /api/v1/forward/usage/templates
正時で区切った指定期間内のアクティブな Session 数、アクティブな Identity 数、累積アクティブ時間、Credit を Template 別に集計します。
旧パラメータのサポート終了について 新版の API が利用可能になりました。start_atとend_atを使用し、正時で区切った期間の使用量を照会してください。旧タイムスタンプパラメータstart_time、end_time(Unix ミリ秒タイムスタンプ)と、Session の作成時刻に基づく旧集計ロジックは、2026 年 10 月 18 日(北京時間)にサポートを終了します。それまでの期間は互換期間です。サポート終了までに移行を完了してください。 互換期間中、旧タイムスタンプパラメータのみを使用するリクエストは従来の動作を維持し、時間フィールドもduration_seconds(整数の秒数)のままです。正時で区切った期間を指定する新しいリクエストでは、代わりにactive_seconds(秒単位の数値、小数点以下の桁数は固定されません)を使用し、duration_secondsは返されません。新旧のパラメータを混在させると HTTP 400 が返されます。サポート終了後、旧タイムスタンプを使用するリクエストはサポートされず、新しいパラメータを使用するリクエストに自動変換されることもありません。エンドポイント URL は変更されません。
ヘッダー
| Header | 必須 | 説明 |
|---|---|---|
Authorization | はい | Bearer <PAT または管理者 SAT>。Identity に紐付けられた SAT はサポートされません。 |
クエリパラメータ
中国版とグローバル版のどちらも北京時間(Asia/Shanghai、UTC+08:00)を使用します。開始時刻と終了時刻には正時(毎時 00 分 00 秒)のみ指定でき、形式は YYYY-MM-DDTHH:00:00 です。
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
start_at | string | はい | — | クエリ開始時刻。この時刻を含みます。指定できるのは 1 回のみです。 |
end_at | string | はい | — | クエリ終了時刻。この時刻を含みません。開始時刻より後で、期間は最大 744 時間です。指定できるのは 1 回のみです。北京時間でリクエストした日付の翌日 00:00:00 を超えることはできません。計算が完了していない時間帯は結果に含まれません。 |
limit | integer | いいえ | 20 | 1 ページあたりのグループ数。範囲は 1~100 です。各ページネーションパラメータは 1 回のみ指定できます。 |
after_id | string | いいえ | — | 次のページに進むためのカーソル。前のページの last_id を指定します。before_id と同時には指定できません。 |
before_id | string | いいえ | — | 現在のページの first_id を指定して前のページに戻ります。after_id と同時には指定できません。 |
identity_id | string | いいえ | — | 1 つの Identity でフィルタリングします。 |
identity_ids | string/string[] | いいえ | — | 複数の Identity でフィルタリングします。カンマ区切り、または同じクエリパラメータの繰り返し指定をサポートします。 |
template_id | string | いいえ | — | 1 つの Template でフィルタリングします。 |
template_ids | string/string[] | いいえ | — | 複数の Template でフィルタリングします。カンマ区切り、または同じクエリパラメータの繰り返し指定をサポートします。 |
[start_at, end_at) で、開始時刻を含み、終了時刻を含みません。例えば、2026-09-14T09:00:00 → 2026-09-14T12:00:00 は、09:00–10:00、10:00–11:00、11:00–12:00 の 3 時間を対象とします。期間は日付をまたぐことができますが、開始時刻と終了時刻はどちらも正時で、異なる時刻である必要があります。API は期間全体をグループ別に集計して返し、1 時間ごとには分割して返しません。
リクエスト例
2026 年 9 月 14 日の 09:00 から 12:00(北京時間、計 3 時間)の使用量を、2 つの Template と 2 つの Identity でフィルタリングし、Template 別に集計します。例の ID は実際のリソース ID に置き換えてください。
tmpl_123 または tmpl_456 のいずれかであり、かつ Identity が idn_abc または idn_efg のいずれかであるレコードのみを集計します。
レスポンス例
HTTP 200 OK
以下の値はレスポンス構造を示すための例です。2 つの Template の両方に一致するレコードがあると仮定しています。
template_id は文字列で返されます。例えば、tmpl_123 の行は、上記 2 つの Identity の一致するレコードのみを集計します。active_identities も、これらの Identity のうち実際に一致するレコードがあるものを重複排除した数です。Template と Identity の 4 通りの組み合わせごとに結果が返されるわけではありません。グループは返される credits の降順で並び、Credit が同じ場合は ID の昇順で並びます。その後、limit に従ってページ分割されます。
一致するレコードがない Template のグループは返されず、ゼロで埋められることもありません。一致するレコードがまったくない場合は、data: []、has_more: false が返され、first_id と last_id はどちらも null になります。既存のグループで未収集の Credit は 0 として扱われます。
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
type | string | 固定値 template_usage.list。 |
start_at | string | リクエストされた開始時刻。形式は YYYY-MM-DDTHH:00:00 で、この時刻を含み、北京時間として解釈されます。 |
end_at | string | リクエストされた終了時刻。形式は YYYY-MM-DDTHH:00:00 で、この時刻を含まず、北京時間として解釈されます。 |
has_more | boolean | 現在のページネーション方向に、さらに結果があるかどうか。初回クエリでは次のページに進む方向で判定します。 |
first_id | string/null | このページの最初のグループの公開 ID。before_id に指定して前のページに戻れます。空のページでは null。 |
last_id | string/null | このページの最後のグループの公開 ID。after_id に指定して次のページに進めます。空のページでは null。 |
data | array | Template の使用量リスト。1 ページには最大 limit 個の一致するグループが返され、各グループはクエリ期間全体を集計します。 |
data[].type | string | 固定値 template_usage。 |
data[].template_id | string | この行の Template ID。 |
data[].active_identities | integer | クエリ期間全体で、この Template 内にアクティビティがあった、空でない Identity ID の重複を除いた数。 |
data[].session_count | integer | クエリ期間内にアクティビティがあった、このグループの Session の重複を除いた数。 |
data[].active_seconds | number | クエリ期間内の、このグループに属するすべてのセッションの累積アクティブ時間(秒)。ミリ秒を先に合計し、1000 で割って秒に換算します。小数点以下の桁数は固定されず、追加の四捨五入や切り捨ては行いません。時間がゼロの場合は 0 を返します。 |
data[].credits | number | グループ内のモデル Credit と実行 Credit の合計。集計後に小数点以下 2 桁まで切り下げます。未収集の Credit は 0 として扱われます。 |
データ更新について
北京時間の毎時 05 分を過ぎてから、直前の 1 時間の使用量の計算を開始し、計算完了後に照会できるようになります。例えば、10:05 を過ぎてから [09:00, 10:00) の使用量の計算を開始します。結果には、指定期間内で計算が完了した時間帯のみが集計されます。計算が完了していない時間帯は含まれないため、後のクエリでは結果が更新される場合があります。データは 北京時間 2026-09-07 22:00:00 以降について完全に揃っています。
エラーコード
| HTTP | Type | Code | トリガー条件 |
|---|---|---|---|
| 400 | invalid_request_error | — | 必須の時刻が未指定、空、または重複している、形式が不正、正時でない、開始時刻が終了時刻より前でない、期間が 744 時間を超える、終了時刻が北京時間でリクエストした日付の翌日午前 0 時を超える、または timezone、start_date、end_date が指定されている。 |
| 400 | invalid_request_error | — | 旧タイムスタンプパラメータと、新しい正時区間パラメータが混在している。値が空でも、そのパラメータが指定されたとみなされます。 |
| 400 | invalid_request_error | — | 新しい正時区間パラメータを使用するリクエストで、limit が不正または 1~100 の範囲外、ページネーションパラメータが重複、after_id と before_id の両方が指定されている、またはカーソルが 64 バイトを超える、有効な UTF-8 でない、制御文字を含む。 |
| 400 | invalid_request_error | — | 互換期間中、旧タイムスタンプパラメータが従来の検証ルールを満たしていない。 |
| 401 | authentication_error | — | 有効な認証情報がない、または有効期限が切れている。 |
| 403 | permission_error | — | 現在の認証情報に API が要求する権限がない。 |
| 500 | api_error | — | サーバー側のクエリに失敗した。 |

