メインコンテンツへスキップ
v2 API は alpha 版であり、今後いつでも変更される可能性があります。

概要

Analytics API v2 は、Devin Desktop Analytics API の次世代版です。クリーンな REST エンドポイントを通じて、消費量 分析 (クレジットと ACU) を提供します。クエリパラメータによるフィルタリング、柔軟な グループ化、カーソル方式のページネーション、レスポンスのキャッシュに対応しています。
API の仕様が確定するまでは、v2 エンドポイントは現在 /api/v2alpha プレフィックス で提供されています。ベース URL は https://server.codeium.com です。

v2 の新機能

v1 との最大の違いは、認証です。
v1 Analytics APIv2 Analytics API
通信方式JSON のリクエストボディを使う POSTクエリパラメータを使う GET
認証リクエストボディ内の service_key フィールドAuthorization: Bearer <service_key> ヘッダー
権限エンドポイントごとに異なるAnalytics Read
ページネーションなしカーソル方式 (next_page_cursor / page_cursor)
キャッシュなしETag + If-None-Match (304 Not Modified)

認証

v2 では Bearer トークン 認証を利用します。サービスキー はリクエストボディではなく、Authorization ヘッダーに渡してください:
Authorization: Bearer <your_service_key>
サービスキーには、Analytics Read 権限が必要です。

サービスキーの作成

  1. チーム設定ページを開きます
  2. 「Service Keys」セクションを開きます
  3. Analytics Read 権限を持つ新しいサービスキーを作成します
  4. キーを Authorization ヘッダーの Bearer トークンとして利用します
サービスキーは厳重に管理し、クライアントサイドのコードや公開リポジトリには絶対に公開しないでください。
グループにスコープされたサービスキーにも対応しています。キーがグループにスコープされている場合、結果は自動的に そのグループに限定されます。

利用可能なエンドポイント

エンドポイント説明
消費量を取得 (GET /api/v2alpha/analytics/consumption)フィルタリング、グループ化、粒度、ページネーションを指定して、クレジットまたは ACU の消費量を取得します
アクティブユーザーを取得 (GET /api/v2alpha/analytics/active-users)日別 / 月別、またはユーザーごとの重複しないアクティブユーザー数を集計します

課金方式

レスポンスは、metadata.billing_strategy で示されるチームの課金方式に応じて変わります:
  • CREDITS — 各行に prompt_creditsflex_credits が含まれます
  • ACU — 各行に billed_acus が含まれます
message_count フィールドは、方式にかかわらず常に返されます。 一覧のレスポンスはページ分割されています。さらにデータがある場合、レスポンスには pagination.next_page_cursor が含まれます。次のページを取得するには、これを page_cursor クエリパラメータとして渡します。カーソルの有効期限は24時間です。

キャッシュ

レスポンスには ETag ヘッダーが含まれます。以降のリクエストでは、その値を If-None-Match ヘッダーに指定して送信すると、 データが変更されていない場合は 304 Not Modified が返されます。

レート制限

これらのエンドポイントは、リアルタイムで使用量を監視する用途ではありません。データは1時間単位で集計され、 レート制限も低く設定されています (チームごとに1時間あたり10リクエスト) 。ライブ ダッシュボードやリクエスト単位の追跡ではなく、定期的なレポート作成や一括 エクスポートに利用してください。
v2 エンドポイントには、チームごとに1時間あたり10リクエストのレート制限があります。制限を超えると、 429 Too Many RequestsRetry-After ヘッダーとともに返されます。 前回のクエリをページネーションする場合 (next_page_cursor をたどる場合) は、レート 制限にはカウントされません。カウント対象となるのは、各レポートの最初のクエリだけです。この低い制限は、これらのエンドポイントが リアルタイム監視ではなく、定期的なレポート作成向けであることを反映しています。