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

# Obter Analytics do Cascade

> Consultar métricas de uso específicas do Cascade, incluindo linhas sugeridas/aceitas, uso de modelos de IA, consumo de créditos e estatísticas de uso de ferramentas.

<div id="overview">
  ## Visão geral
</div>

Recupere dados de Analytics específicos do Cascade, incluindo linhas sugeridas/aceitas, uso de modelos de IA, consumo de créditos e estatísticas de uso de ferramentas.

<div id="request">
  ## Solicitação
</div>

<ParamField body="service_key" type="string" required>
  Sua Chave de serviço com permissões "Teams somente leitura"
</ParamField>

<ParamField body="group_name" type="string">
  Filtre os resultados para usuários de um grupo específico. Não pode ser usado com o parâmetro `emails`.
</ParamField>

<ParamField body="start_timestamp" type="string">
  Horário de início no formato RFC 3339 (por exemplo, `2023-01-01T00:00:00Z`)
</ParamField>

<ParamField body="end_timestamp" type="string">
  Horário de término no formato RFC 3339 (por exemplo, `2023-12-31T23:59:59Z`)
</ParamField>

<ParamField body="emails" type="array">
  Array de endereços de email para filtrar os resultados. Não pode ser usado com o parâmetro `group_name`.
</ParamField>

<ParamField body="ide_types" type="array">
  Filtrar por tipo de IDE. Opções disponíveis:

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

  Se omitido, retorna dados para ambos os IDEs.
</ParamField>

<ParamField body="query_requests" type="array" required>
  Array de consultas de fontes de dados a serem executadas. Cada objeto deve conter uma das fontes de dados compatíveis.
</ParamField>

<div id="data-sources">
  ## Fontes de Dados
</div>

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

Consulta por linhas diárias do Cascade sugeridas e aceitas.

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

**Campos da resposta:**

* `day` - Data no formato RFC 3339
* `linesSuggested` - Número de linhas sugeridas
* `linesAccepted` - Número de linhas aceitas

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

Consulta o uso do modelo de IA, o consumo de créditos e os dados dos modos.

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

**Campos da resposta:**

* `day` - Data no formato RFC 3339
* `model` - Nome do modelo de IA utilizado
* `mode` - Modo do Cascade (consulte os modos abaixo)
* `messagesSent` - Número de mensagens enviadas
* `cascadeId` - ID único da conversa
* `promptsUsed` - Créditos consumidos (em centavos)

**Modos do Cascade:**

* `CONVERSATIONAL_PLANNER_MODE_DEFAULT` - Modo de escrita
* `CONVERSATIONAL_PLANNER_MODE_READ_ONLY` - Modo de leitura
* `CONVERSATIONAL_PLANNER_MODE_NO_TOOL` - Modo legado
* `UNKNOWN` - Modo desconhecido

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

Consulta de estatísticas de uso de ferramentas (contagens agregadas).

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

**Campos de resposta:**

* `tool` - Identificador da ferramenta (consulte os mapeamentos de ferramentas abaixo)
* `count` - Número de vezes que a ferramenta foi utilizada

<div id="tool-usage-mappings">
  ## Mapeamentos de Uso de Ferramentas
</div>

| Tool Identifier     | Nome exibido                    |
| ------------------- | ------------------------------- |
| `CODE_ACTION`       | Edição de Código                |
| `VIEW_FILE`         | Visualizar Arquivo              |
| `RUN_COMMAND`       | Executar Command                |
| `FIND`              | Ferramenta Localizar            |
| `GREP_SEARCH`       | Busca com grep                  |
| `VIEW_FILE_OUTLINE` | Visualizar Estrutura do Arquivo |
| `MQUERY`            | Riptide                         |
| `WORKFLOWS_USED`    | Workflows usados                |
| `LIST_DIRECTORY`    | Listar Diretório                |
| `MCP_TOOL`          | Ferramenta MCP                  |
| `PROPOSE_CODE`      | Propor Código                   |
| `SEARCH_WEB`        | Buscar na Web                   |
| `MEMORY`            | Memória                         |
| `PROXY_WEB_SERVER`  | Pré-visualização no Navegador   |
| `DEPLOY_WEB_APP`    | Implantar Aplicação Web         |

<div id="example-request">
  ## Exemplo de solicitação
</div>

```bash theme={null}
curl -X POST --header "Content-Type: application/json" \
--data '{
  "service_key": "sua_chave_de_servico_aqui",
  "group_name": "equipe_engenharia",
  "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">
  ## Resposta
</div>

<ResponseField name="queryResults" type="array">
  Array de resultados de consulta, um para cada solicitação de consulta

  <Expandable title="Resultado de Cascade Lines">
    <ResponseField name="cascadeLines" type="object">
      <ResponseField name="cascadeLines" type="array">
        Array de estatísticas diárias de linhas

        <ResponseField name="day" type="string">
          Data no formato RFC 3339
        </ResponseField>

        <ResponseField name="linesSuggested" type="string">
          Número de linhas sugeridas nesse dia
        </ResponseField>

        <ResponseField name="linesAccepted" type="string">
          Número de linhas aceitas nesse dia
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Resultado de Cascade Runs">
    <ResponseField name="cascadeRuns" type="object">
      <ResponseField name="cascadeRuns" type="array">
        Array de estatísticas de uso do modelo de IA

        <ResponseField name="day" type="string">
          Data no formato RFC 3339
        </ResponseField>

        <ResponseField name="model" type="string">
          Nome do modelo de IA usado para a execução
        </ResponseField>

        <ResponseField name="mode" type="string">
          Identificador do modo Cascade
        </ResponseField>

        <ResponseField name="messagesSent" type="string">
          Número de mensagens enviadas
        </ResponseField>

        <ResponseField name="cascadeId" type="string">
          Identificador único da conversa
        </ResponseField>

        <ResponseField name="promptsUsed" type="string">
          Créditos consumidos em centavos (por exemplo, "100" = 1 crédito)
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>

  <Expandable title="Resultado de Uso de Ferramentas do Cascade">
    <ResponseField name="cascadeToolUsage" type="object">
      <ResponseField name="cascadeToolUsage" type="array">
        Array de estatísticas de uso de ferramentas

        <ResponseField name="tool" type="string">
          Identificador da ferramenta
        </ResponseField>

        <ResponseField name="count" type="string">
          Número de vezes que a ferramenta foi usada
        </ResponseField>
      </ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<div id="example-response">
  ### Exemplo de resposta
</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">
  ## Observações
</div>

* A API retorna dados brutos que podem conter valores "UNKNOWN"
* Para análise de métricas, agregue com base em campos específicos de interesse (por exemplo, some `promptsUsed` para identificar padrões de uso)
* Os dados de modo e de prompt podem estar distribuídos em várias entradas
* O consumo de créditos (`promptsUsed`) é retornado em centavos (100 = 1 crédito)
