Skip to main content
GET
Obter análises de chamadas de ferramentas do agente
Este é um endpoint v2 que usa autenticação com Token Bearer e parâmetros de consulta, ao contrário da API de Análise v1, que usa chaves de serviço no corpo da requisição. Veja Autenticação abaixo.
Este endpoint não foi projetado para monitoramento de uso em tempo real. 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 via Token Bearer. Inclua seu token no cabeçalho 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. Diferentemente da fonte de dados cascade_tool_usage da v1, este endpoint aceita chaves de API de usuário de serviço do Devin. Assim, equipes na plataforma da Cognition podem gerar relatórios de uso de ferramentas sem precisar de uma chave de serviço do Windsurf.

Métricas

O parâmetro de consulta metric é obrigatório e, no momento, aceita apenas calls, o número de chamadas de ferramenta feitas pelo agente. Ele aparece como um campo inteiro calls em todas as linhas. Requisições sem metric, ou que especifiquem outra métrica, falham com 400. As chamadas de ferramentas são contabilizadas quando o agente invoca uma ferramenta no Devin Desktop ou na Devin CLI (incluindo a CLI executada como agente dentro de outros editores), com qualquer modelo. O parâmetro product também é obrigatório e, no momento, aceita apenas agent.

Ferramentas

Agrupe por tool para dividir as chamadas por categoria de ferramenta. Assim, cada linha inclui um campo tool com um dos seguintes valores: Nem todas as categorias se aplicam a todos os clientes: LIST_DIRECTORY, MEMORY, PROPOSE_CODE, PROXY_WEB_SERVER, DEPLOY_WEB_APP e MQUERY são registradas para o agente do Devin Desktop, enquanto as novas ferramentas do Devin CLI que ainda não foram atribuídas a uma categoria são contabilizadas em OTHER.

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=tool — cada linha inclui um tool (consulte Ferramentas acima)
  • group_by=user — cada linha inclui um user_id, além de um user_email quando houver um registrado para esse usuário
  • 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 (agrupar por ide_version exige que ide também seja incluído)
  • group_by=os — cada linha inclui um os, como darwin (macOS), windows ou linux
É possível combinar dimensões; por exemplo, group_by=user,tool mostra com que frequência cada usuário invocou cada ferramenta. As dimensões session e source de Get Output não são compatíveis aqui. Valem os mesmos filtros models, group_id e user_id de Get Consumption, além de um filtro tool que restringe a contagem a uma única categoria de ferramenta (por exemplo, tool=SEARCH_WEB). tool só é aceito por este endpoint; enviá-lo a outro endpoint da Analytics API v2 resulta em erro 400.

Exemplo

Contar as buscas na web por usuário em uma semana:
Cada linha corresponde à contagem de SEARCH_WEB de um usuário. Para ver todas as categorias de cada usuário, remova o filtro tool e adicione group_by=user,tool.

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 inclui um next_page_cursor no objeto pagination. Passe-o como o parâmetro de consulta page_cursor em uma requisição que repita os demais parâmetros de consulta originais. Os cursores ficam vinculados ao endpoint que os emitiu; um cursor de /consumption ou /output é rejeitado com 400. Os cursores de página expiram após 24 horas. Requisições das páginas seguintes não contam como novas consultas para o seu limite de taxa de requisições.

Limites de requisições

Este endpoint tem um limite de taxa de requisições de 10 requisições por hora por equipe. Se você exceder esse limite, o servidor retornará 429 Too Many Requests com um cabeçalho 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 é destinado a relatórios periódicos, e não ao 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

Métrica a ser retornada; aparece como um campo em cada linha. Métricas disponíveis:

  • calls — número de chamadas de ferramentas feitas pelo agente
start_date
string<date>
obrigatório

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

end_date
string<date>
obrigatório

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

product
enum<string>
obrigatório

Produto cujas chamadas de ferramentas serão consultadas.

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

Granularidade temporal para agrupar 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 compatíveis:

  • tool — inclui tool em cada linha (a categoria de ferramenta, como SEARCH_WEB ou RUN_COMMAND)
  • user — inclui user_id em cada linha, além de user_email quando houver um e-mail registrado para o usuário
  • 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
models
string

Lista de UIDs de modelos, separados por vírgulas, para filtrar os resultados.

tool
string

Restringe a contagem a uma única categoria de ferramenta, como SEARCH_WEB ou RUN_COMMAND (correspondência exata). Aceito apenas por este endpoint.

group_id
string

Filtra os resultados para incluir apenas usuários de um grupo específico. A chave de serviço deve ter acesso a esse grupo. Não pode ser usado com chaves de API do usuário de serviço do Devin.

user_id
string

Filtra os resultados para incluir apenas 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. Envie o mesmo metric usado na requisição que gerou o cursor; cursores gerados por outros endpoints são rejeitados.

Resposta

Dados de chamadas de ferramentas retornados com sucesso.

data
object[]
obrigatório

Array de linhas com dados de chamadas de ferramentas.

pagination
object
obrigatório
metadata
object
obrigatório