> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics API v2

> API de analítica de última generación para consultar datos de consumo con autenticación con token Bearer, agrupación flexible y paginación basada en cursores.

<Warning>
  Las API v2 están en **alfa** y pueden cambiar en cualquier momento.
</Warning>

<div id="overview">
  ## Descripción general
</div>

Analytics API v2 es la siguiente generación de la Analytics API de Devin Desktop. Expone métricas de consumo
(créditos y ACU) a través de endpoints REST claros, con filtrado por parámetros de consulta, agrupación
flexible, paginación basada en cursores y almacenamiento en caché de respuestas.

<Note>
  Los endpoints de v2 están disponibles actualmente bajo el prefijo **`/api/v2alpha`** mientras se termina de definir
  la API. La URL base es `https://server.codeium.com`.
</Note>

<div id="whats-new-in-v2">
  ## Novedades de v2
</div>

El cambio más importante respecto de [v1](/es/desktop/accounts/api-reference/analytics-api-introduction) es la **autenticación**.

|                         | v1 Analytics API                                     | v2 Analytics API                                        |
| ----------------------- | ---------------------------------------------------- | ------------------------------------------------------- |
| Transporte              | `POST` con un cuerpo de solicitud JSON               | `GET` con parámetros de consulta                        |
| Autenticación           | Campo `service_key` **en el cuerpo de la solicitud** | **encabezado `Authorization: Bearer <service_key>`**    |
| Permiso                 | Varía según el endpoint                              | **Analytics Read**                                      |
| Paginación              | Ninguna                                              | Basada en cursores (`next_page_cursor` / `page_cursor`) |
| Almacenamiento en caché | Ninguno                                              | `ETag` + `If-None-Match` (`304 Not Modified`)           |

<div id="authentication">
  ## Autenticación
</div>

v2 usa autenticación mediante **Bearer token**. Pasa tu clave de servicio en el encabezado `Authorization` en lugar de incluirla en el cuerpo de la solicitud:

```
Authorization: Bearer <your_service_key>
```

La clave de servicio debe tener el permiso **Analytics Read**.

<div id="creating-a-service-key">
  ### Crear una clave de servicio
</div>

1. Ve a la [página de configuración de tu equipo](https://windsurf.com/team/settings)
2. Ve a la sección "Service Keys"
3. Crea una nueva clave de servicio con el permiso **Analytics Read**
4. Usa la clave como token Bearer en el encabezado `Authorization`

<Warning>Mantén seguras tus claves de servicio y nunca las expongas en código del cliente ni en repositorios públicos.</Warning>

Se admiten claves de servicio con ámbito de grupo: cuando una clave está restringida a un grupo, los resultados se
limitan automáticamente a ese grupo.

<div id="available-endpoints">
  ## Endpoints disponibles
</div>

| Endpoint                                                                                                                    | Descripción                                                                              |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [Obtener consumo](/es/desktop/accounts/api-reference/get-consumption) (`GET /api/v2alpha/analytics/consumption`)            | Consulta el consumo de créditos o ACU con filtros, agrupación, granularidad y paginación |
| [Obtener usuarios activos](/es/desktop/accounts/api-reference/get-active-users) (`GET /api/v2alpha/analytics/active-users`) | Cuenta los usuarios activos únicos, opcionalmente por día/mes o por usuario              |

<div id="billing-strategy">
  ## Estrategia de facturación
</div>

Las respuestas se adaptan a la estrategia de facturación de tu equipo, indicada en `metadata.billing_strategy`:

* **`CREDITS`** — las filas incluyen `prompt_credits` y `flex_credits`
* **`ACU`** — las filas incluyen `billed_acus`

El campo `message_count` siempre se devuelve, independientemente de la estrategia.

<div id="pagination">
  ## Paginación
</div>

Las respuestas de listar están paginadas. Cuando hay más datos disponibles, la respuesta incluye un
`pagination.next_page_cursor`; vuelve a enviarlo como parámetro de consulta `page_cursor` para obtener la siguiente
página. Los cursores caducan después de 24 horas.

<div id="caching">
  ## Almacenamiento en caché
</div>

Las respuestas incluyen una cabecera `ETag`. Vuélvela a enviar en la cabecera `If-None-Match` en las solicitudes posteriores
para recibir un `304 Not Modified` cuando los datos no hayan cambiado.

<div id="rate-limits">
  ## Límites de tasa
</div>

<Warning>
  Estos endpoints **no** están pensados para supervisar el uso en tiempo real. Los datos se agregan por hora y
  el límite de tasa es bajo (10 solicitudes por hora por equipo). Úsalos para informes periódicos y exportaciones
  masivas, no para dashboards en tiempo real ni para el seguimiento de cada solicitud.
</Warning>

Los endpoints v2 tienen un límite de tasa de **10 solicitudes por hora por equipo**. Si se supera el límite, se devuelve
`429 Too Many Requests` con un header `Retry-After`.

Paginar una consulta anterior (siguiendo un `next_page_cursor`) **no** cuenta para el límite de tasa:
solo cuenta la consulta inicial de cada informe. El límite bajo refleja que estos endpoints están pensados
para informes periódicos, no para supervisión en tiempo real.
