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

# Obtenir les Analytics Cascade

> Interroger les métriques et les données d'utilisation propres à Cascade, notamment les lignes suggérées/acceptées, l'utilisation des modèles d’IA, la consommation de crédits et les statistiques d'utilisation des outils.

<div id="overview">
  ## Vue d’ensemble
</div>

Récupérez des données Analytics spécifiques à Cascade, notamment les lignes suggérées/acceptées, l’utilisation du modèle d’IA, la consommation de crédits et les statistiques d’utilisation des outils.

<div id="request">
  ## Requête
</div>

<ParamField body="service_key" type="string" required>
  Votre clé de service avec les autorisations « Teams Read-only »
</ParamField>

<ParamField body="group_name" type="string">
  Filtrez les résultats aux utilisateurs d’un groupe spécifique. Ne peut pas être utilisé avec le paramètre `emails`.
</ParamField>

<ParamField body="start_timestamp" type="string">
  Heure de début au format RFC 3339 (p. ex. « 2023-01-01T00:00:00Z »)
</ParamField>

<ParamField body="end_timestamp" type="string">
  Heure de fin au format RFC 3339 (p. ex. « 2023-12-31T23:59:59Z »)
</ParamField>

<ParamField body="emails" type="array">
  Tableau d’adresses e‑mail pour filtrer les résultats. Ne peut pas être utilisé avec le paramètre `group_name`.
</ParamField>

<ParamField body="ide_types" type="array">
  Filtrez par type d’IDE. Options disponibles :

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

  S’il est omis, renvoie des données pour les deux IDE.
</ParamField>

<ParamField body="query_requests" type="array" required>
  Tableau de requêtes de sources de données à exécuter. Chaque objet doit contenir l’une des sources de données prises en charge.
</ParamField>

<div id="data-sources">
  ## Sources de données
</div>

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

Requête pour les lignes Cascade quotidiennes proposées et acceptées.

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

**Champs de réponse :**

* `day` - Date au format RFC 3339
* `linesSuggested` - Nombre de lignes proposées
* `linesAccepted` - Nombre de lignes acceptées

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

Requête pour l’utilisation des modèles d’IA, la consommation de crédits et les données sur les modes.

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

**Champs de réponse :**

* `day` - Date au format RFC 3339
* `model` - Nom du modèle d’IA utilisé
* `mode` - Mode Cascade (voir les modes ci-dessous)
* `messagesSent` - Nombre de messages envoyés
* `cascadeId` - ID de conversation unique
* `promptsUsed` - Crédits consommés (en centimes)

**Modes Cascade :**

* `CONVERSATIONAL_PLANNER_MODE_DEFAULT` - Mode d’écriture
* `CONVERSATIONAL_PLANNER_MODE_READ_ONLY` - Mode de lecture
* `CONVERSATIONAL_PLANNER_MODE_NO_TOOL` - Mode hérité
* `UNKNOWN` - Mode inconnu

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

Requête de statistiques d'utilisation des outils (comptages agrégés).

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

**Champs de réponse :**

* `tool` - Identifiant de l’outil (voir les mappages d’outils ci-dessous)
* `count` - Nombre d’utilisations de l’outil

<div id="tool-usage-mappings">
  ## Correspondances d'utilisation des outils
</div>

| Tool Identifier     | Nom affiché                     |
| ------------------- | ------------------------------- |
| `CODE_ACTION`       | Édition de code                 |
| `VIEW_FILE`         | Afficher le fichier             |
| `RUN_COMMAND`       | Exécuter une commande           |
| `FIND`              | Outil de recherche              |
| `GREP_SEARCH`       | Recherche Grep                  |
| `VIEW_FILE_OUTLINE` | Afficher le plan du fichier     |
| `MQUERY`            | Riptide                         |
| `WORKFLOWS_USED`    | Workflows utilisés              |
| `LIST_DIRECTORY`    | Lister le contenu du répertoire |
| `MCP_TOOL`          | Outil MCP                       |
| `PROPOSE_CODE`      | Proposer du code                |
| `SEARCH_WEB`        | Recherche sur le Web            |
| `MEMORY`            | Mémoire                         |
| `PROXY_WEB_SERVER`  | Aperçu dans le navigateur       |
| `DEPLOY_WEB_APP`    | Déployer l'application web      |

<div id="example-request">
  ## Exemple de demande
</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">
  ## Réponse
</div>

<ResponseField name="queryResults" type="array">
  Tableau des résultats de requête, un élément pour chaque requête

  <Expandable title="Résultat des lignes Cascade">
    <ResponseField name="cascadeLines" type="object">
      <ResponseField name="cascadeLines" type="array">
        Tableau de statistiques quotidiennes sur les lignes

        <ResponseField name="day" type="string">
          Date au format RFC 3339
        </ResponseField>

        <ResponseField name="linesSuggested" type="string">
          Nombre de lignes suggérées ce jour-là
        </ResponseField>

        <ResponseField name="linesAccepted" type="string">
          Nombre de lignes acceptées ce jour-là
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Résultat des exécutions Cascade">
    <ResponseField name="cascadeRuns" type="object">
      <ResponseField name="cascadeRuns" type="array">
        Tableau de statistiques d’utilisation du modèle d’IA

        <ResponseField name="day" type="string">
          Date au format RFC 3339
        </ResponseField>

        <ResponseField name="model" type="string">
          Nom du modèle d’IA utilisé pour l’exécution
        </ResponseField>

        <ResponseField name="mode" type="string">
          Identifiant du mode Cascade
        </ResponseField>

        <ResponseField name="messagesSent" type="string">
          Nombre de messages envoyés
        </ResponseField>

        <ResponseField name="cascadeId" type="string">
          Identifiant unique de la conversation
        </ResponseField>

        <ResponseField name="promptsUsed" type="string">
          Crédits consommés en centimes (par exemple "100" = 1 crédit)
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Résultat d’utilisation des outils Cascade">
    <ResponseField name="cascadeToolUsage" type="object">
      <ResponseField name="cascadeToolUsage" type="array">
        Tableau de statistiques d’utilisation des outils

        <ResponseField name="tool" type="string">
          Identifiant de l’outil
        </ResponseField>

        <ResponseField name="count" type="string">
          Nombre de fois où l’outil a été utilisé
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="example-response">
  ### Exemple de réponse
</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">
  ## Remarques
</div>

* L’API renvoie des données brutes susceptibles de contenir des valeurs « UNKNOWN »
* Pour analyser les métriques, agrégez par champs spécifiques pertinents (par exemple, en faisant la somme de `promptsUsed` pour les schémas d’utilisation)
* Les données relatives au mode et au prompt peuvent être réparties sur plusieurs entrées
* La consommation de crédits (`promptsUsed`) est renvoyée en centimes (100 = 1 crédit)
