Skip to main content
GET
Obtener analítica de resultados del agente (líneas de código)
Este es un endpoint v2 que usa autenticación con Bearer token y parámetros de consulta, a diferencia de la Analytics API v1, que usa claves de servicio en el cuerpo de la solicitud. Consulta la sección Autenticación más abajo.
Este endpoint no está pensado para monitorizar el uso en tiempo real. Los datos se agregan por horas y el límite de tasa es bajo (10 solicitudes por hora y por equipo). Úsalo para generar informes periódicos y exportaciones masivas.

Autenticación

Este endpoint utiliza autenticación mediante Bearer token. Incluye tu token en el encabezado Authorization:
Usa una clave de API de usuario de servicio de Devin con el permiso Use Local Analytics API o una clave de servicio de Windsurf con el permiso Analytics Read. Consulta Autenticación para ver cómo crear cada una.

Métricas

El parámetro de consulta metric es obligatorio y admite una lista separada por comas de las métricas que se deben devolver. Cada métrica solicitada aparece como un campo de tipo entero en cada fila: Por ejemplo, ?metric=loc_inserted,loc_deleted devuelve ambas; ?metric=loc_inserted devuelve solo loc_inserted. Las solicitudes que no incluyan metric o que indiquen una métrica desconocida fallan con un error 400. Las líneas se contabilizan cuando un usuario acepta una edición del agente en Devin Desktop o en Devin CLI, sea cual sea el modelo. El parámetro product también es obligatorio y, por ahora, solo acepta agent.

Agrupación y granularidad

Usa granularity y group_by para controlar la estructura de los datos devueltos:
  • Sin granularidad ni agrupación: devuelve una única fila agregada para todo el rango de fechas
  • granularity=daily: cada fila incluye un timestamp en formato YYYY-MM-DD
  • granularity=monthly: cada fila incluye un timestamp en formato YYYY-MM
  • group_by=user: cada fila incluye un user_id y un user_email
  • group_by=session: cada fila incluye un session_id (la conversación de Devin Desktop o la sesión de la CLI en la que se aceptaron las líneas)
  • group_by=model_uid: cada fila incluye un model_uid
  • group_by=ide: cada fila incluye un ide
  • group_by=ide,ide_version: cada fila incluye ide e ide_version (para agrupar por ide_version también hay que incluir ide)
  • group_by=os: cada fila incluye un os, como darwin (macOS), windows o linux
  • group_by=source: cada fila incluye un source: CASCADE_CLIENT para las líneas aceptadas en Devin Desktop y CHISEL para las líneas aceptadas en la Devin CLI (incluida la CLI que se ejecuta como agente dentro de otros editores)
Las dimensiones se pueden combinar; por ejemplo, group_by=user,source,model_uid. Se aplican los mismos filtros models, group_id y user_id que en Get Consumption.

Paginación

Los resultados se paginan con un tamaño de página predeterminado de 1.000 filas (máximo 10.000). Cuando hay más resultados disponibles, la respuesta incluye un next_page_cursor en el objeto pagination. Pásalo como parámetro de consulta page_cursor para obtener la siguiente página, junto con la misma lista de metric de la solicitud original. Los cursores están vinculados al endpoint y a las métricas que los generaron; un cursor de /consumption, o uno generado para una lista de metric distinta, se rechaza con un error 400. Los cursores de página caducan a las 24 horas. Las solicitudes de páginas sucesivas no cuentan como consultas nuevas a efectos de tu límite de tasa.

Límites de tasa

Este endpoint tiene un límite de tasa de 10 solicitudes por hora por equipo. Si superas este límite, el servidor devuelve 429 Too Many Requests con un encabezado Retry-After. Paginar una consulta anterior (siguiendo un next_page_cursor) no cuenta para este límite; solo cuenta la consulta inicial de cada informe. Este límite es bajo porque el endpoint está pensado para generar informes periódicos, no para supervisar el uso en tiempo real.

Autorizaciones

Authorization
string
header
requerido

Una clave de servicio con el permiso Analytics Read, pasada como token Bearer en el encabezado Authorization.

Crea una clave de servicio en tu configuración del equipo, en la sección "Service Keys".

Parámetros de consulta

metric
string
requerido

Lista de métricas de salida que se devolverán, separadas por comas; cada una aparece como un campo en cada fila. Métricas admitidas:

  • loc_inserted — líneas insertadas por el agente que el usuario aceptó
  • loc_deleted — líneas eliminadas por el agente que el usuario aceptó
start_date
string<date>
requerido

Fecha de inicio del intervalo (incluida) en formato YYYY-MM-DD.

end_date
string<date>
requerido

Fecha de fin del intervalo (incluida) en formato YYYY-MM-DD. El intervalo no debe superar los 90 días.

product
enum<string>
requerido

Producto cuyos datos de salida se consultarán.

Opciones disponibles:
agent
granularity
enum<string>

Granularidad temporal para agrupar los resultados. Si se especifica, cada fila incluye un campo timestamp. Si se omite, los resultados se agregan para todo el intervalo de fechas.

Opciones disponibles:
daily,
monthly
group_by
string

Lista de dimensiones, separadas por comas, por las que se agruparán los resultados. Dimensiones admitidas:

  • user — incluye user_id y user_email en cada fila
  • session — incluye session_id en cada fila
  • model_uid — incluye model_uid en cada fila
  • ide — incluye ide en cada fila
  • ide_version — incluye ide_version en cada fila; requiere que también se incluya ide
  • os — incluye os en cada fila
  • source — incluye source en cada fila (CASCADE_CLIENT para Devin Desktop, CHISEL para Devin CLI)
models
string

Lista de UID de modelos, separados por comas, a los que se limitarán los resultados.

group_id
string

Filtra los resultados para incluir solo usuarios de un grupo específico. La clave de servicio debe tener acceso a este grupo. No se admite con claves de API de usuarios de servicio de Devin.

user_id
string

Filtra los resultados para incluir solo un usuario específico (UID de autenticación).

page_size
integer
predeterminado:1000

Número máximo de filas que se devolverán por página.

Rango requerido: 1 <= x <= 10000
page_cursor
string

Cursor opaco obtenido del campo pagination.next_page_cursor de una respuesta anterior para recuperar la siguiente página. Proporcione la misma lista de metric que en la solicitud que generó el cursor; se rechazan los cursores generados por otros endpoints o para una lista de metric diferente.

Respuesta

Datos de salida devueltos correctamente.

data
object[]
requerido

Array de filas de datos de salida.

pagination
object
requerido
metadata
object
requerido