> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cascade Analytics の取得

> 提案/受諾された行数、AI モデルの利用状況、クレジット消費量、ツール利用統計など、Cascade 固有の利用メトリクスをクエリする

<div id="overview">
  ## 概要
</div>

提案/受け入れ行数、AI モデルの使用状況、クレジット消費量、ツール利用統計など、Cascade に特化した Analytics データを取得します。

<div id="request">
  ## リクエスト
</div>

<ParamField body="service_key" type="string" required>
  "Teams Read-only" 権限を持つサービスキー
</ParamField>

<ParamField body="group_name" type="string">
  特定のグループのユーザーに結果を絞り込みます。`emails` パラメータと同時には使用できません。
</ParamField>

<ParamField body="start_timestamp" type="string">
  RFC 3339 形式の開始時刻（例: `2023-01-01T00:00:00Z`）
</ParamField>

<ParamField body="end_timestamp" type="string">
  RFC 3339 形式の終了時刻（例: `2023-12-31T23:59:59Z`）
</ParamField>

<ParamField body="emails" type="array">
  結果を絞り込むためのメールアドレスの配列。`group_name` パラメータと同時には使用できません。
</ParamField>

<ParamField body="ide_types" type="array">
  IDE の種類でフィルタリングします。選択可能なオプション:

  * `"editor"` - Windsurf Editor
  * `"jetbrains"` - JetBrains Plugin

  省略した場合は両方の IDE のデータを返します。
</ParamField>

<ParamField body="query_requests" type="array" required>
  実行するデータソースクエリの配列。各オブジェクトにはサポート対象のいずれかのデータソースを含めてください。
</ParamField>

<div id="data-sources">
  ## データソース
</div>

<div id="cascade_lines">
  ### cascade\_lines
</div>

1 日ごとの Cascade による提案行数と受け入れ行数をクエリします。

```json theme={null}
{
  "cascade_lines": {}
}
```

**レスポンスフィールド:**

* `day` - RFC 3339 形式の日付
* `linesSuggested` - 提案行数
* `linesAccepted` - 受け入れられた行数

<div id="cascade_runs">
  ### cascade\_runs
</div>

AI モデルの使用状況、クレジット消費量、およびモードに関するデータをクエリします。

```json theme={null}
{
  "cascade_runs": {}
}
```

**レスポンスフィールド:**

* `day` - RFC 3339 形式の日付
* `model` - 使用された AI モデル名
* `mode` - Cascade モード（下記のモードを参照）
* `messagesSent` - 送信されたメッセージ数
* `cascadeId` - 一意の会話 ID
* `promptsUsed` - 消費されたクレジット（セント単位）

**Cascade モード:**

* `CONVERSATIONAL_PLANNER_MODE_DEFAULT` - 書き込みモード
* `CONVERSATIONAL_PLANNER_MODE_READ_ONLY` - 読み取り専用モード
* `CONVERSATIONAL_PLANNER_MODE_NO_TOOL` - レガシーモード
* `UNKNOWN` - 不明なモード

<div id="cascade_tool_usage">
  ### cascade\_tool\_usage
</div>

ツール利用統計（集計カウント）をクエリします。

```json theme={null}
{
  "cascade_tool_usage": {}
}
```

**レスポンスフィールド:**

* `tool` - ツール識別子（以下のツールマッピングを参照）
* `count` - ツールが使用された回数

<div id="tool-usage-mappings">
  ## ツール利用マッピング
</div>

| Tool Identifier     | 表示名            |
| ------------------- | -------------- |
| `CODE_ACTION`       | コード編集          |
| `VIEW_FILE`         | ファイル表示         |
| `RUN_COMMAND`       | Command 実行     |
| `FIND`              | 検索ツール          |
| `GREP_SEARCH`       | Grep 検索        |
| `VIEW_FILE_OUTLINE` | ファイルアウトライン表示   |
| `MQUERY`            | Riptide        |
| `WORKFLOWS_USED`    | 使用された Workflow |
| `LIST_DIRECTORY`    | ディレクトリ一覧表示     |
| `MCP_TOOL`          | MCP ツール        |
| `PROPOSE_CODE`      | コード提案          |
| `SEARCH_WEB`        | Web 検索         |
| `MEMORY`            | メモリ            |
| `PROXY_WEB_SERVER`  | ブラウザプレビュー      |
| `DEPLOY_WEB_APP`    | Web アプリをデプロイ   |

<div id="example-request">
  ## リクエストの例
</div>

```bash theme={null}
curl -X POST --header "Content-Type: application/json" \
--data '{
  "service_key": "your_service_key_here",
  "group_name": "engineering_team",
  "start_timestamp": "2025-01-01T00:00:00Z",
  "end_timestamp": "2025-01-02T00:00:00Z",
  "emails": ["user1@windsurf.com", "user2@windsurf.com"],
  "ide_types": ["editor"],
  "query_requests": [
    {
      "cascade_lines": {}
    },
    {
      "cascade_runs": {}
    },
    {
      "cascade_tool_usage": {}
    }
  ]
}' \
https://server.codeium.com/api/v1/CascadeAnalytics
```

<div id="response">
  ## レスポンス
</div>

<ResponseField name="queryResults" type="array">
  各クエリリクエストに対応するクエリ結果の配列

  <Expandable title="Cascade 行数統計結果">
    <ResponseField name="cascadeLines" type="object">
      <ResponseField name="cascadeLines" type="array">
        日別行数統計の配列

        <ResponseField name="day" type="string">
          RFC 3339 形式の日付
        </ResponseField>

        <ResponseField name="linesSuggested" type="string">
          この日に提案された行数
        </ResponseField>

        <ResponseField name="linesAccepted" type="string">
          この日に受け入れられた行数
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Cascade 実行結果">
    <ResponseField name="cascadeRuns" type="object">
      <ResponseField name="cascadeRuns" type="array">
        AI モデルの利用統計の配列

        <ResponseField name="day" type="string">
          RFC 3339 形式の日付
        </ResponseField>

        <ResponseField name="model" type="string">
          実行に使用された AI モデル名
        </ResponseField>

        <ResponseField name="mode" type="string">
          Cascade モード識別子
        </ResponseField>

        <ResponseField name="messagesSent" type="string">
          送信されたメッセージ数
        </ResponseField>

        <ResponseField name="cascadeId" type="string">
          一意の会話識別子
        </ResponseField>

        <ResponseField name="promptsUsed" type="string">
          セント単位での消費クレジット数（例: "100" = 1 クレジット）
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Cascade ツール利用結果">
    <ResponseField name="cascadeToolUsage" type="object">
      <ResponseField name="cascadeToolUsage" type="array">
        ツール利用統計の配列

        <ResponseField name="tool" type="string">
          ツール識別子
        </ResponseField>

        <ResponseField name="count" type="string">
          ツールが使用された回数
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="example-response">
  ### 応答例
</div>

```json theme={null}
{
  "queryResults": [
    {
      "cascadeLines": {
        "cascadeLines": [
          {
            "day": "2025-05-01T00:00:00Z",
            "linesSuggested": "206",
            "linesAccepted": "157"
          },
          {
            "day": "2025-05-02T00:00:00Z",
            "linesSuggested": "16"
          }
        ]
      }
    },
    {
      "cascadeRuns": {
        "cascadeRuns": [
          {
            "day": "2025-05-01T00:00:00Z",
            "model": "Claude 3.7 Sonnet (Thinking)",
            "mode": "CONVERSATIONAL_PLANNER_MODE_DEFAULT",
            "messagesSent": "1",
            "cascadeId": "0d35c1f7-0a85-41d0-ac96-a04cd2d64444"
          }
        ]
      }
    },
    {
      "cascadeToolUsage": {
        "cascadeToolUsage": [
          {
            "tool": "CODE_ACTION",
            "count": "15"
          },
          {
            "tool": "LIST_DIRECTORY",
            "count": "20"
          }
        ]
      }
    }
  ]
}
```

<div id="notes">
  ## 注意事項
</div>

* API は "UNKNOWN" の値を含む生データを返す場合があります
* メトリクス分析では、関心のある特定のフィールドごとに集計してください（例：利用パターンを見るために `promptsUsed` を合計）
* Mode と prompt のデータが複数のエントリに分割されて返される場合があります
* クレジット消費量（`promptsUsed`）はセント単位で返されます（100 = 1 クレジット）
