POST
/
api
/
v1
/
CascadeAnalytics
Obtener Analytics de 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>"
          }
        ]
      }
    }
  ]
}

Descripción general

Obtén datos de Analytics específicos de Cascade, incluidos los renglones sugeridos/aceptados, el uso del modelo de IA, el consumo de créditos y las estadísticas de uso de herramientas.

Solicitud

service_key
string
required
Tu clave de servicio con permisos “Teams Read-only”
group_name
string
Filtra los resultados a usuarios de un grupo específico. No se puede usar con el parámetro emails.
start_timestamp
string
Hora de inicio en formato RFC 3339 (p. ej., 2023-01-01T00:00:00Z)
end_timestamp
string
Hora de finalización en formato RFC 3339 (p. ej., 2023-12-31T23:59:59Z)
emails
array
Array de direcciones de correo electrónico para filtrar resultados. No se puede usar con el parámetro group_name.
ide_types
array
Filtrar por tipo de IDE. Opciones disponibles:
  • "editor" - Windsurf Editor
  • "jetbrains" - JetBrains Plugin
Si se omite, devuelve datos para ambos IDE.
query_requests
array
required
Array de consultas de fuentes de datos a ejecutar. Cada objeto debe contener una de las fuentes de datos compatibles.

Orígenes de datos

cascade_lines

Consulta por las líneas diarias de Cascade sugeridas y aceptadas.
{
  "cascade_lines": {}
}
Campos de respuesta:
  • day - Fecha en formato RFC 3339
  • linesSuggested - Número de líneas sugeridas
  • linesAccepted - Número de líneas aceptadas

cascade_runs

Consulta el uso del modelo de IA, el consumo de créditos y los datos del modo.
{
  "cascade_runs": {}
}
Campos de respuesta:
  • day - Fecha en formato RFC 3339
  • model - Nombre del modelo de IA usado
  • mode - Modo de Cascade (consulta los modos más abajo)
  • messagesSent - Número de mensajes enviados
  • cascadeId - ID único de la conversación
  • promptsUsed - Créditos consumidos (en centavos)
Modos de Cascade:
  • CONVERSATIONAL_PLANNER_MODE_DEFAULT - Modo de escritura
  • CONVERSATIONAL_PLANNER_MODE_READ_ONLY - Modo de lectura
  • CONVERSATIONAL_PLANNER_MODE_NO_TOOL - Modo heredado
  • UNKNOWN - Modo desconocido

cascade_tool_usage

Consulta las estadísticas de uso de herramientas (conteos agregados).
{
  "cascade_tool_usage": {}
}
Campos de respuesta:
  • tool - Identificador de la herramienta (ver mapeos de herramientas más abajo)
  • count - Número de veces que se usó la herramienta

Asignaciones de uso de herramientas

Identificador de herramientaNombre para mostrar
CODE_ACTIONEdición de código
VIEW_FILEVer archivo
RUN_COMMANDEjecutar Command
FINDHerramienta de búsqueda
GREP_SEARCHBúsqueda con Grep
VIEW_FILE_OUTLINEVer esquema del archivo
MQUERYRiptide
LIST_DIRECTORYListar directorio
MCP_TOOLHerramienta MCP
PROPOSE_CODEProponer código
SEARCH_WEBBuscar en la Web
MEMORYMemoria
PROXY_WEB_SERVERVista previa del navegador
DEPLOY_WEB_APPDesplegar aplicación web

Ejemplo de solicitud

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

Respuesta

queryResults
array
Arreglo de resultados de consulta, uno por cada solicitud de consulta

Ejemplo de respuesta

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

Notas

  • La API devuelve datos sin procesar que pueden contener valores “UNKNOWN”
  • Para el análisis de métricas, agrega por campos específicos de interés (p. ej., suma promptsUsed para observar patrones de uso)
  • El modo y los datos del prompt pueden estar divididos en varias entradas
  • El consumo de créditos (promptsUsed) se devuelve en centavos (100 = 1 crédito)