Visão geral
A Analytics API v2 é a próxima geração da Devin Desktop Analytics API. Ela expõe análises de consumo (créditos e ACUs), usuários ativos e o output tipado do agente (linhas de código aceitas) por meio de endpoints REST claros, com filtragem por parâmetros de consulta, agrupamento flexível e paginação baseada em cursor.No momento, os endpoints da v2 são disponibilizados sob o prefixo
/api/v2alpha enquanto a API é
finalizada. A URL base é https://server.codeium.com.O que há de novo na v2
A maior mudança em relação à v1 é a autenticação.Autenticação
A v2 usa autenticação com token Bearer. Passe sua credencial no cabeçalhoAuthorization, em vez
de enviá-la no corpo da requisição:
cog_ que você usa na Devin API) ou uma chave de serviço do Windsurf.
Chaves de API de usuários de serviço do Devin
Se você já gerencia usuários de serviço do Devin, não precisa de credenciais separadas para o Windsurf:- Provisione um usuário de serviço em Configurações > API do Devin (aba Usuários de serviço) para uma organização, ou Configurações do Enterprise > API do Devin (aba Usuários de serviço) para o Enterprise
- Atribua a ele uma função personalizada que inclua a permissão Usar API de análises local (a função de administrador nativa já a inclui)
- Copie a chave de API exibida após o provisionamento — ela começa com
cog_ - Use essa chave como token Bearer
metadata.team_id é o identificador da equipe do Devin da conta (devin-team$<account_id>).
O filtro
group_id é um conceito das equipes do Windsurf e não é compatível com credenciais do Devin — requisições que combinam os dois retornam 400 Bad Request.Chaves de serviço do Windsurf
- Acesse sua página Configurações da equipe
- Vá para a seção “Service Keys”
- Crie uma nova chave de serviço com a permissão Analytics Read
- Use a chave como token Bearer no cabeçalho
Authorization
Endpoints disponíveis
Estratégia de faturamento
As respostas de consumo se adaptam à estratégia de faturamento da sua equipe, informada emmetadata.billing_strategy (as respostas de output tipado e de usuários ativos não são afetadas):
CREDITS— as linhas incluemprompt_creditseflex_creditsACU— as linhas incluembilled_acus
message_count (eventos de faturamento) e user_message_count (mensagens enviadas pelo usuário, null para uso anterior a 2026-04-11) são sempre retornados, independentemente da estratégia.
Paginação
As respostas de listagem são paginadas. Quando houver mais dados disponíveis, a resposta incluirá umpagination.next_page_cursor; passe-o novamente como o parâmetro de consulta page_cursor para obter a próxima
página. Os cursores expiram após 24 horas.
Limites de taxa
Os endpoints v2 estão limitados a 10 requisições por hora por equipe. Exceder o limite retorna429 Too Many Requests com um cabeçalho Retry-After.
Paginar uma consulta anterior (seguindo um next_page_cursor) não conta para o limite de taxa —
apenas a consulta inicial de cada relatório conta. O limite baixo reflete que esses endpoints se
destinam a relatórios periódicos, não ao monitoramento em tempo real.
