メインコンテンツへスキップ
分析APIは、Factoryの組織レベルの使用量データへプログラムからアクセスする手段を提供します。組織全体のFactory Standard Credits消費量、ツール呼び出し、ユーザーアクティビティ、生産性メトリクスをクエリできます。

クイックスタート


認証

すべてのリクエストには Authorization ヘッダーに Factory API キーが必要です:
API キーは app.factory.ai/settings/api-keys で生成してください。

権限

Manager または Owner ロールを持つユーザーのみが分析APIにアクセスできます。メンバーとゲストは 403 エラーを受け取ります。

ベース URL


レスポンス形式

すべてのレスポンスは一貫したエンベロープ構造に従います:
フィールド説明
dataarray結果オブジェクトの配列(1日あたり1つ、または group_by 使用時はグループごと)
metaobjectリクエストメタデータ:org_idstart_dateend_date、および /users のページネーション情報

エンドポイント

分析APIは、それぞれ特定のメトリクスカテゴリに焦点を当てた5つのエンドポイントを提供します:
エンドポイント説明
/tokensモデルとユーザー別のFactory Standard Credits消費量
/toolsツール呼び出しと自律性メトリクス
/activity日次、週次、月次アクティブユーザー
/productivityファイル操作とgitアクティビティ
/usersページネーション付きユーザー別メトリクス

group_by の理解

複数のエンドポイントが group_by パラメーターをサポートしています。動作は以下の通りです:
  • group_by なし: ネストされた内訳(例:by_modelby_tooldaily_active_users_by_client)を含む1日あたり1行を返します。すべての次元を単一のレスポンスで取得したい場合に使用します。
  • group_by あり: それらのネストされた配列の1つを別々の行に平坦化します。各行には次元値を識別する group_key フィールドがあります。データを平坦な行を期待するツール(スプレッドシート、BIツール、時系列データベース)にパイプしたい場合に使用します。
例えば、/activitygroup_by なしで使用すると、daily_active_users_by_client がオブジェクトとして返されます。group_by=client を使用すると、terminal-uiwebnon-interactive-cli の別々の行が得られます - これはチャート上で各クライアントタイプを独自の線として描画する際に便利です。

Factory Standard Credits使用量

組織全体の日次Factory Standard Credits消費量を返します。

クエリパラメーター

パラメーター必須説明
startDatestringはいYYYY-MM-DD 形式の開始日
endDatestringはいYYYY-MM-DD 形式の終了日
group_bystringいいえmodel に設定すると結果をモデル別にグループ化

レスポンス

レスポンスフィールド

フィールド説明
datestringYYYY-MM-DD 形式の日付
billable_tokensnumber消費されたFactory Standard Credits(生の入力・出力トークンにキャッシュ割引を適用して算出)
input_tokensnumberモデルに送信された生の入力トークン
output_tokensnumberモデルによって生成されたトークン
cache_read_tokensnumberプロンプトキャッシュから読み取られたトークン
cache_write_tokensnumberプロンプトキャッシュに書き込まれたトークン
by_modelarrayモデル別の内訳
by_userarrayユーザー別の内訳

グループ化されたレスポンス

group_by=model の場合、data 内で1日1モデルあたり1行を返します:


ツール使用量

日次ツール呼び出し、MCP使用量、スキル、スラッシュコマンド、自律性メトリクスを返します。

クエリパラメーター

パラメーター必須説明
startDatestringはいYYYY-MM-DD 形式の開始日
endDatestringはいYYYY-MM-DD 形式の終了日
group_bystringいいえtool_name に設定すると結果をツール別にグループ化

レスポンス

レスポンスフィールド

フィールド説明
datestringYYYY-MM-DD 形式の日付
tool_callsnumber総ツール呼び出し数
by_toolarrayツール名別の内訳
mcp_users_with_mcpnumberMCPサーバーを使用したユーザー数
mcp_by_serverarrayMCPサーバー別の呼び出し数
skills_invocationsnumber総スキルアクティベーション数
skills_by_namearrayスキル別の内訳
slash_commands_invocationsnumber総スラッシュコマンド使用数
slash_commands_by_namearrayコマンド別の内訳
hooks_invocationsnumber総フック実行数
hooks_by_eventarrayイベントタイプ別の内訳
web_usersnumberウェブ/ワークスペースインターフェースを使用したユーザー数
autonomy_ratio_avgnumberユーザーターンあたりの平均ツール呼び出し数
autonomy_ratio_p50number自律性比率の中央値
autonomy_ratio_p90number自律性比率の90パーセンタイル
tool_calls_per_session_avgnumberセッションあたりの平均ツール呼び出し数
user_turns_per_session_avgnumberセッションあたりの平均ユーザーメッセージ数
tool_autonomy_level_ratioobject自律性レベルの分布

グループ化されたレスポンス

group_by=tool_name の場合、data 内で1日1ツールあたり1行を返します:

ユーザーアクティビティ

セッション数と併せて、日次、週次、月次のアクティブユーザーを返します。

クエリパラメーター

パラメーター必須説明
startDatestringはいYYYY-MM-DD 形式の開始日
endDatestringはいYYYY-MM-DD 形式の終了日
group_bystringいいえclient に設定するとクライアントタイプ別にグループ化

レスポンス

レスポンスフィールド

フィールド説明
datestringYYYY-MM-DD 形式の日付
daily_active_usersnumberこの日のユニークユーザー数
weekly_active_usersnumber過去7日間のユニークユーザー数
monthly_active_usersnumber過去30日間のユニークユーザー数
daily_active_users_by_clientobjectクライアントタイプ別のDAU内訳
sessionsnumber開始されたセッション総数
messagesnumber総メッセージ数(ユーザー+アシスタント)
user_messagesnumberユーザーのみのメッセージ数

クライアントタイプ

クライアント説明
terminal-uiインタラクティブCLIセッション
webFactory App
non-interactive-cliヘッドレス/自動化CLI(droid exec

グループ化されたレスポンス

group_by=client の場合、data 内で1日1クライアントタイプあたり1行を返します:

生産性

日次ファイル操作とgitアクティビティを返します。

クエリパラメーター

パラメーター必須説明
startDatestringはいYYYY-MM-DD 形式の開始日
endDatestringはいYYYY-MM-DD 形式の終了日

レスポンス

レスポンスフィールド

フィールド説明
datestringYYYY-MM-DD 形式の日付
files_creatednumberエージェントによって作成された新規ファイル数
files_editednumberエージェントによって変更された既存ファイル数
by_extensionarrayファイル拡張子別の操作数
by_languagearrayプログラミング言語別の操作数
git_commitsnumberエージェント経由で行われたコミット数
git_prs_creatednumberエージェント経由で作成されたプルリクエスト数

ユーザー別メトリクス

カーソルベースページネーション付きのユーザー別詳細メトリクスを返します。

クエリパラメーター

パラメーター必須説明
startDatestringはいYYYY-MM-DD 形式の開始日
endDatestringはいYYYY-MM-DD 形式の終了日
limitnumberいいえページあたりのユーザー数、1-100(デフォルト:20)
cursorstringいいえページネーション用のユーザーID(next_cursor から)

レスポンス

レスポンスフィールド

フィールド説明
user_idstringユニークユーザー識別子
user_emailstring | nullユーザーメールアドレス
datestringYYYY-MM-DD 形式の日付
tool_callsnumberこのユーザーによるツール呼び出し数
billable_tokensnumberこのユーザーによって消費されたFactory Standard Credits数
primary_modelstring最も使用されたモデル
primary_model_tierstringモデルティア(standard または thinking
files_creatednumber作成されたファイル数
files_editednumber編集されたファイル数
git_commitsnumber行われたコミット数
git_prs_creatednumber作成されたプルリクエスト数
mcp_callsnumberMCPツール呼び出し数
skill_callsnumberスキルアクティベーション数
slash_commandsnumberスラッシュコマンド使用数
hooksnumberフック実行数
sessionsnumber開始されたセッション数
messagesnumber総メッセージ数
user_messagesnumberユーザーメッセージのみ
assistant_messagesnumberアシスタントメッセージ数
autonomy_rationumberユーザーターンあたりのツール呼び出し数
delegation_levelstringプライマリ自律性モード
languagesarray作業したプログラミング言語

委譲レベル

レベル説明
auto-high最大自律性、最小確認
auto-mediumバランス型自律性、一部確認
auto-low制限された自律性、頻繁な確認
spec仕様モード、実行前の計画
manual完全手動制御、各アクションを確認

ページネーション

カーソルベースページネーションを使用してユーザーを反復処理します:

重要な制約

日付要件

  • 形式: すべての日付は YYYY-MM-DD である必要があります
  • タイムゾーン: UTCのみ(タイムゾーンパラメーターなし)
  • データ可用性: データは昨日まで(UTC)利用可能です。今日の日付をリクエストすると 400 エラーが返されます。
  • 履歴データ: 2026年1月14日から利用可能

レート制限

レート制限はプランによって異なります。詳細については お問い合わせ するか、ダッシュボードや自動化のユースケースでより高い制限が必要な場合はお問い合わせください。

エラーハンドリング

API は標準的なHTTPステータスコードを返します:
ステータス説明
400無効な日付形式、今日の日付のリクエスト、または制限値が範囲外
401APIキーが見つからないか無効
403不十分な権限(ManagerまたはOwnerロールが必要)
500内部エラー

エラーレスポンス形式


データパイプライン

分析データは以下のパイプラインを通って流れます:
  • ソース: CLIとデーモンからのOpenTelemetryスパン
  • 処理: dbt経由の日次バッチ集約
  • 可用性: データは生成された翌日に利用可能

データ品質に関する注記

既知のデータ品質に関する考慮事項:
  • MCPサーバー名: 大文字/小文字の違いにより一部の重複があります(例: axiom vs Axiom
  • ツール名: エントリの約0.006%に解析アーティファクトが含まれています
  • ユーザー数: 複数クライアントでアクティブなユーザーはDAUでは1回だけカウントされますが、各クライアントの内訳には表示されます

ユースケース

コスト監視ダッシュボード

使用量の傾向を追跡し、コスト要因を特定します:

採用追跡

DAU/WAU/MAUを監視し、採用パターンを特定します:

チーム生産性レポート

出力と効率を測定します:

個人パフォーマンス

チームリーダー向けにユーザー別メトリクスをエクスポートします: