> ## 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 abrufen

> Cascade-spezifische Nutzungsmetriken abfragen, einschließlich der Anzahl vorgeschlagener/akzeptierter Zeilen, der Nutzung von AI-Modellen, des Credit-Verbrauchs und der Tool-Nutzungsstatistiken.

<div id="overview">
  ## Überblick
</div>

Abrufen Cascade-spezifischer Analytics-Daten, einschließlich vorgeschlagener und akzeptierter Zeilen, Nutzung der AI-Modelle, Kreditverbrauch und Statistiken zur Tool-Nutzung.

<div id="request">
  ## Anfrage
</div>

<ParamField body="service_key" type="string" required>
  Ihr Service Key mit „Teams Nur-Lesen“-Berechtigungen
</ParamField>

<ParamField body="group_name" type="string">
  Ergebnisse auf Benutzer in einer bestimmten Gruppe beschränken. Kann nicht zusammen mit dem Parameter `emails` verwendet werden.
</ParamField>

<ParamField body="start_timestamp" type="string">
  Startzeit im RFC 3339-Format (z. B. `2023-01-01T00:00:00Z`)
</ParamField>

<ParamField body="end_timestamp" type="string">
  Endzeit im RFC 3339-Format (z. B. `2023-12-31T23:59:59Z`)
</ParamField>

<ParamField body="emails" type="array">
  Array von E‑Mail-Adressen zum Filtern der Ergebnisse. Kann nicht zusammen mit dem Parameter `group_name` verwendet werden.
</ParamField>

<ParamField body="ide_types" type="array">
  Nach IDE-Typ filtern. Verfügbare Optionen:

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

  Wenn weggelassen, werden Daten für beide IDEs zurückgegeben.
</ParamField>

<ParamField body="query_requests" type="array" required>
  Array von Datenquellenabfragen, die ausgeführt werden sollen. Jedes Objekt muss eine der unterstützten Datenquellen enthalten.
</ParamField>

<div id="data-sources">
  ## Datenquellen
</div>

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

Abfrage nach täglich vorgeschlagenen und angenommenen Cascade-Zeilen.

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

**Antwortfelder:**

* `day` - Datum im RFC 3339-Format
* `linesSuggested` - Anzahl der vorgeschlagenen Zeilen
* `linesAccepted` - Anzahl der akzeptierten Zeilen

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

Abfrage von AI-Modell-Nutzung, Kreditverbrauch und Modusdaten.

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

**Antwortfelder:**

* `day` - Datum im Format RFC 3339
* `model` - Name des verwendeten AI-Modells
* `mode` - Cascade-Modus (siehe Modi unten)
* `messagesSent` - Anzahl gesendeter Nachrichten
* `cascadeId` - Eindeutige Konversations-ID
* `promptsUsed` - Verbrauchte Credits (in Cent)

**Cascade-Modi:**

* `CONVERSATIONAL_PLANNER_MODE_DEFAULT` - Schreibmodus
* `CONVERSATIONAL_PLANNER_MODE_READ_ONLY` - Lesemodus
* `CONVERSATIONAL_PLANNER_MODE_NO_TOOL` - Legacy-Modus
* `UNKNOWN` - Unbekannter Modus

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

Abfrage von Tool-Nutzungsstatistiken (aggregierte Zählwerte).

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

**Antwortfelder:**

* `tool` - Tool-Bezeichner (siehe Tool-Zuordnungen unten)
* `count` - Anzahl der Tool-Nutzungen

<div id="tool-usage-mappings">
  ## Zuordnungen der Tool-Nutzung
</div>

| Tool Identifier     | Anzeigename             |
| ------------------- | ----------------------- |
| `CODE_ACTION`       | Code bearbeiten         |
| `VIEW_FILE`         | Datei anzeigen          |
| `RUN_COMMAND`       | Command ausführen       |
| `FIND`              | Such-Tool               |
| `GREP_SEARCH`       | Grep-Suche              |
| `VIEW_FILE_OUTLINE` | Dateiübersicht anzeigen |
| `MQUERY`            | Riptide                 |
| `WORKFLOWS_USED`    | Verwendete Workflows    |
| `LIST_DIRECTORY`    | Verzeichnis auflisten   |
| `MCP_TOOL`          | MCP-Tool                |
| `PROPOSE_CODE`      | Code vorschlagen        |
| `SEARCH_WEB`        | Web durchsuchen         |
| `MEMORY`            | Speicher                |
| `PROXY_WEB_SERVER`  | Browser-Vorschau        |
| `DEPLOY_WEB_APP`    | Web-App bereitstellen   |

<div id="example-request">
  ## Beispielanfrage
</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">
  ## Response
</div>

<ResponseField name="queryResults" type="array">
  Array mit Abfrageergebnissen, eines pro Abfrageanforderung

  <Expandable title="Cascade-Zeilen-Ergebnis">
    <ResponseField name="cascadeLines" type="object">
      <ResponseField name="cascadeLines" type="array">
        Array täglicher Zeilenstatistiken

        <ResponseField name="day" type="string">
          Datum im RFC 3339-Format
        </ResponseField>

        <ResponseField name="linesSuggested" type="string">
          Anzahl der an diesem Tag vorgeschlagenen Zeilen
        </ResponseField>

        <ResponseField name="linesAccepted" type="string">
          Anzahl der an diesem Tag akzeptierten Zeilen
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Cascade-Läufe-Ergebnis">
    <ResponseField name="cascadeRuns" type="object">
      <ResponseField name="cascadeRuns" type="array">
        Array von Nutzungsstatistiken für AI-Modelle

        <ResponseField name="day" type="string">
          Datum im RFC 3339-Format
        </ResponseField>

        <ResponseField name="model" type="string">
          Name des für den Lauf verwendeten AI-Modells
        </ResponseField>

        <ResponseField name="mode" type="string">
          Kennung des Cascade-Modus
        </ResponseField>

        <ResponseField name="messagesSent" type="string">
          Anzahl der gesendeten Nachrichten
        </ResponseField>

        <ResponseField name="cascadeId" type="string">
          Eindeutiger Konversationsbezeichner
        </ResponseField>

        <ResponseField name="promptsUsed" type="string">
          In Cent verbrauchte Credits (z. B. „100“ = 1 Credit)
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Cascade-Toolnutzungs-Ergebnis">
    <ResponseField name="cascadeToolUsage" type="object">
      <ResponseField name="cascadeToolUsage" type="array">
        Array von Toolnutzungsstatistiken

        <ResponseField name="tool" type="string">
          Toolbezeichner
        </ResponseField>

        <ResponseField name="count" type="string">
          Anzahl der Verwendungen des Tools
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="example-response">
  ### Beispielantwort
</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">
  ## Hinweise
</div>

* Die API gibt Rohdaten zurück, die „UNKNOWN“-Werte enthalten können
* Für die Analyse von Metriken nach spezifischen Feldern von Interesse aggregieren (z. B. `promptsUsed` aufsummieren, um Nutzungsmuster zu erkennen)
* Modus- und Prompt-Daten können auf mehrere Einträge verteilt sein
* Der Kreditverbrauch (`promptsUsed`) wird in Cent zurückgegeben (100 = 1 Credit)
