POST
/
api
/
v1
/
CascadeAnalytics
Obtenir les Analytics Cascade
curl --request POST \
  --url https://server.codeium.com/api/v1/CascadeAnalytics \
  --header 'Content-Type: application/json' \
  --data '{
  "service_key": "<string>",
  "group_name": "<string>",
  "start_timestamp": "<string>",
  "end_timestamp": "<string>",
  "emails": [
    {}
  ],
  "ide_types": [
    {}
  ],
  "query_requests": [
    {}
  ]
}'
{
  "queryResults": [
    {
      "cascadeLines": {
        "cascadeLines": [
          {
            "day": "<string>",
            "linesSuggested": "<string>",
            "linesAccepted": "<string>"
          }
        ]
      },
      "cascadeRuns": {
        "cascadeRuns": [
          {
            "day": "<string>",
            "model": "<string>",
            "mode": "<string>",
            "messagesSent": "<string>",
            "cascadeId": "<string>",
            "promptsUsed": "<string>"
          }
        ]
      },
      "cascadeToolUsage": {
        "cascadeToolUsage": [
          {
            "tool": "<string>",
            "count": "<string>"
          }
        ]
      }
    }
  ]
}

Vue d’ensemble

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.

Requête

service_key
string
required
Votre clé de service avec les autorisations « Teams Read-only »
group_name
string
Filtrez les résultats aux utilisateurs d’un groupe spécifique. Ne peut pas être utilisé avec le paramètre emails.
start_timestamp
string
Heure de début au format RFC 3339 (p. ex. « 2023-01-01T00:00:00Z »)
end_timestamp
string
Heure de fin au format RFC 3339 (p. ex. « 2023-12-31T23:59:59Z »)
emails
array
Tableau d’adresses e‑mail pour filtrer les résultats. Ne peut pas être utilisé avec le paramètre group_name.
ide_types
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.
query_requests
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.

Sources de données

cascade_lines

Requête pour les lignes Cascade quotidiennes proposées et acceptées.
{
  "cascade_lines": {}
}
Champs de réponse :
  • day - Date au format RFC 3339
  • linesSuggested - Nombre de lignes proposées
  • linesAccepted - Nombre de lignes acceptées

cascade_runs

Interrogez l’utilisation du modèle d’IA, la consommation de crédits et les données de mode.
{
  "cascade_runs": {}
}
Champs de la réponse :
  • day - Date au format RFC 3339
  • model - Nom du modèle 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 écriture
  • CONVERSATIONAL_PLANNER_MODE_READ_ONLY - Mode lecture
  • CONVERSATIONAL_PLANNER_MODE_NO_TOOL - Mode hérité
  • UNKNOWN - Mode inconnu

cascade_tool_usage

Requête pour les statistiques d’utilisation des outils (totaux agrégés).
{
  "cascade_tool_usage": {}
}
Champs de réponse :
  • tool - Identifiant de l’outil (voir les correspondances d’outils ci-dessous)
  • count - Nombre de fois où l’outil a été utilisé

Correspondances d’utilisation des outils

Tool IdentifierDisplay Name
CODE_ACTIONModification de code
VIEW_FILEAfficher le fichier
RUN_COMMANDExécuter Command
FINDOutil de recherche
GREP_SEARCHRecherche Grep
VIEW_FILE_OUTLINEAfficher le plan du fichier
MQUERYRiptide
LIST_DIRECTORYLister le répertoire
MCP_TOOLOutil MCP
PROPOSE_CODEProposer du code
SEARCH_WEBRechercher sur le Web
MEMORYMémoire
PROXY_WEB_SERVERAperçu du navigateur
DEPLOY_WEB_APPDéployer l’application web

Exemple de demande

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

Réponse

queryResults
array
Tableau des résultats de requête, un par requête

Exemple de réponse

{
  "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"
          }
        ]
      }
    }
  ]
}

Notes

  • L’API renvoie des données brutes qui peuvent contenir des valeurs « UNKNOWN »
  • Pour l’analyse des métriques, agrégez selon les champs d’intérêt (par exemple, total de promptsUsed pour analyser les schémas d’utilisation)
  • Les données de mode et de prompt peuvent être réparties sur plusieurs entrées
  • La consommation de crédits (promptsUsed) est renvoyée en centi‑crédits (100 = 1 crédit)