Skip to main content
GET
Obter análises do output tipado do agente (linhas de código)
Este é um endpoint v2 que usa autenticação via Bearer token e parâmetros de consulta, diferentemente da Analytics API v1, que usa chaves de serviço no corpo da requisição. Consulte Autenticação abaixo.
Este endpoint não é destinado ao monitoramento de uso em tempo real. Os dados são agregados por hora e o limite de taxa de requisições é baixo (10 requisições por hora por equipe). Use-o para relatórios periódicos e exportação em massa.

Autenticação

Este endpoint usa autenticação por Bearer token. Inclua seu token no header Authorization:
Use uma chave de API de usuário de serviço do Devin com a permissão Usar API de análises local ou uma chave de serviço do Windsurf com a permissão Analytics Read. Consulte Autenticação para saber como criar cada uma delas.

Métricas

O parâmetro de consulta metric é obrigatório e recebe uma lista separada por vírgulas com as métricas a serem retornadas. Cada métrica solicitada aparece como um campo inteiro em todas as linhas: Por exemplo, ?metric=loc_inserted,loc_deleted retorna ambas; ?metric=loc_inserted retorna apenas loc_inserted. Requisições sem metric ou com uma métrica desconhecida falham com 400. As linhas são contabilizadas quando um usuário aceita uma edição do agente no Devin Desktop ou na Devin CLI, independentemente do modelo. O parâmetro product também é obrigatório e, no momento, aceita apenas agent.

Agrupamento e granularidade

Use granularity e group_by para controlar o formato dos dados retornados:
  • Sem granularidade nem agrupamento — retorna uma única linha agregada para todo o intervalo de datas
  • granularity=daily — cada linha inclui um timestamp no formato YYYY-MM-DD
  • granularity=monthly — cada linha inclui um timestamp no formato YYYY-MM
  • group_by=user — cada linha inclui um user_id e um user_email
  • group_by=session — cada linha inclui um session_id (a conversa do Devin Desktop ou a sessão da CLI em que as linhas foram aceitas)
  • group_by=model_uid — cada linha inclui um model_uid
  • group_by=ide — cada linha inclui um ide
  • group_by=ide,ide_version — cada linha inclui ide e ide_version (para agrupar por ide_version, ide também precisa ser incluído)
  • group_by=os — cada linha inclui um os, como darwin (macOS), windows ou linux
  • group_by=source — cada linha inclui uma source: CASCADE_CLIENT para linhas aceitas no Devin Desktop e CHISEL para linhas aceitas na Devin CLI (incluindo a CLI executada como agente em outros editores)
É possível combinar dimensões, por exemplo, group_by=user,source,model_uid. Aplicam-se os mesmos filtros models, group_id e user_id de Get Consumption.

Paginação

Os resultados são paginados com um tamanho de página padrão de 1.000 linhas (máximo de 10.000). Quando houver mais resultados disponíveis, a resposta incluirá um next_page_cursor no objeto pagination. Passe-o no parâmetro de consulta page_cursor para buscar a próxima página, usando a mesma lista de metric da requisição original. Os cursores ficam vinculados ao endpoint e às métricas que os emitiram; um cursor de /consumption, ou um emitido para uma lista de metric diferente, é rejeitado com 400. Os cursores de página expiram após 24 horas. Uma requisição das páginas seguintes não conta como uma nova consulta no seu limite de taxa de requisições.

Limites de taxa de requisições

Este endpoint tem um limite de 10 requisições por hora por equipe. Se você exceder esse limite, o servidor retornará 429 Too Many Requests com um header Retry-After. Paginar uma consulta anterior (usando um next_page_cursor) não conta para esse limite — apenas a consulta inicial de cada relatório é contabilizada. O limite baixo se deve ao fato de que este endpoint é voltado para relatórios periódicos, e não para o monitoramento de uso em tempo real.

Autorizações

Authorization
string
header
obrigatório

Uma service key com permissão Analytics Read, enviada como token Bearer no header Authorization.

Crie uma service key em Configurações da equipe, na seção "Service Keys".

Parâmetros de consulta

metric
string
obrigatório

Lista de métricas de output tipado separadas por vírgulas a serem retornadas; cada uma aparece como um campo em cada linha. Métricas disponíveis:

  • loc_inserted — linhas inseridas pelo agente e aceitas pelo usuário
  • loc_deleted — linhas excluídas pelo agente e aceitas pelo usuário
start_date
string<date>
obrigatório

Início do intervalo de datas (inclusive) no formato YYYY-MM-DD.

end_date
string<date>
obrigatório

Fim do intervalo de datas (inclusive) no formato YYYY-MM-DD. O intervalo não deve exceder 90 dias.

product
enum<string>
obrigatório

Produto cujos dados de output tipado serão consultados.

Opções disponíveis:
agent
granularity
enum<string>

Granularidade temporal para agrupar os resultados. Quando especificada, cada linha inclui um campo timestamp. Se omitida, os resultados são agregados para todo o intervalo de datas.

Opções disponíveis:
daily,
monthly
group_by
string

Lista de dimensões separadas por vírgulas para agrupar os resultados. Dimensões aceitas:

  • user — inclui user_id e user_email em cada linha
  • session — inclui session_id em cada linha
  • model_uid — inclui model_uid em cada linha
  • ide — inclui ide em cada linha
  • ide_version — inclui ide_version em cada linha; exige que ide também seja incluído
  • os — inclui os em cada linha
  • source — inclui source em cada linha (CASCADE_CLIENT para Devin Desktop, CHISEL para a Devin CLI)
models
string

Lista de UIDs de modelos, separados por vírgulas, aos quais os resultados serão restritos.

group_id
string

Restringe os resultados aos usuários de um grupo específico. A chave de serviço deve ter acesso a esse grupo. Não há suporte para esse filtro com chaves de API de usuários de serviço do Devin.

user_id
string

Restringe os resultados a um usuário específico (UID de autenticação).

page_size
integer
padrão:1000

Número máximo de linhas a retornar por página.

Intervalo obrigatório: 1 <= x <= 10000
page_cursor
string

Cursor opaco obtido de pagination.next_page_cursor em uma resposta anterior, usado para buscar a próxima página. Informe a mesma lista de metric usada na requisição que gerou o cursor; cursores gerados por outros endpoints ou para uma lista de metric diferente são rejeitados.

Resposta

Dados de output tipado retornados com sucesso.

data
object[]
obrigatório

Array de linhas de dados de output tipado.

pagination
object
obrigatório
metadata
object
obrigatório