Skip to main content
GET
Recupera le analytics delle chiamate agli strumenti dell'agente
Questo è un endpoint v2 che usa l’autenticazione tramite token Bearer e parametri di query, a differenza dell’API di analisi v1, che usa chiavi di servizio nel corpo della richiesta. Vedi Autenticazione più avanti.
Questo endpoint non è pensato per il monitoraggio dell’utilizzo in tempo reale. Il limite di frequenza è basso (10 richieste all’ora per team). Usalo per report periodici ed esportazioni di dati in blocco.

Autenticazione

Questo endpoint usa l’autenticazione tramite token Bearer. Includi il tuo token nell’intestazione Authorization:
Usa una API key dell’utente di servizio Devin con l’autorizzazione Use Local Analytics API oppure una chiave di servizio Windsurf con l’autorizzazione Lettura analytics. Per sapere come crearle, consulta Autenticazione. A differenza dell’origine dati v1 cascade_tool_usage, questo endpoint accetta le API key dell’utente di servizio Devin, quindi i team sulla piattaforma Cognition possono monitorare l’utilizzo degli strumenti senza una chiave di servizio Windsurf.

Metriche

Il parametro di query metric è obbligatorio e al momento accetta solo calls, ovvero il numero di chiamate agli strumenti effettuate dall’agente. Compare come campo intero calls in ogni riga. Le richieste senza metric, o che specificano un’altra metrica, falliscono con errore 400. Le chiamate agli strumenti vengono conteggiate quando l’agente invoca uno strumento in Devin Desktop o nella Devin CLI (inclusa la CLI eseguita come agente all’interno di altri editor), con qualsiasi modello. Anche il parametro product è obbligatorio e al momento accetta solo agent.

Strumenti

Raggruppa per tool per suddividere le chiamate in base alla categoria di strumento. Ogni riga include quindi un campo tool con uno dei seguenti valori: Non tutte le categorie valgono per ogni client: LIST_DIRECTORY, MEMORY, PROPOSE_CODE, PROXY_WEB_SERVER, DEPLOY_WEB_APP e MQUERY vengono registrate per l’agente di Devin Desktop, mentre i nuovi strumenti della Devin CLI a cui non è ancora stata assegnata una categoria vengono conteggiati in OTHER.

Raggruppamento e granularità

Usa granularity e group_by per controllare la struttura dei dati restituiti:
  • Nessuna granularità o raggruppamento — restituisce una singola riga aggregata per l’intero intervallo di date
  • granularity=daily — ogni riga include un timestamp in formato YYYY-MM-DD
  • granularity=monthly — ogni riga include un timestamp in formato YYYY-MM
  • group_by=tool — ogni riga include un tool (vedi Strumenti sopra)
  • group_by=user — ogni riga include un user_id, oltre a un user_email se ne è registrato uno per quell’utente
  • group_by=model_uid — ogni riga include un model_uid
  • group_by=ide — ogni riga include un ide
  • group_by=ide,ide_version — ogni riga include ide e ide_version (per raggruppare per ide_version è necessario includere anche ide)
  • group_by=os — ogni riga include un os, ad esempio darwin (macOS), windows o linux
Le dimensioni possono essere combinate: ad esempio, group_by=user,tool indica quante volte ciascun utente ha invocato ciascuno strumento. Le dimensioni session e source di Get Output non sono supportate in questo caso. Si applicano gli stessi filtri models, group_id e user_id di Get Consumption, oltre a un filtro tool che limita il conteggio a una sola categoria di strumenti (ad esempio tool=SEARCH_WEB). tool è accettato solo da questo endpoint: se lo passi a un altro endpoint di Analytics API v2, la richiesta non riesce e restituisce 400.

Esempio

Conta le ricerche sul web per utente nell’arco di una settimana:
Ogni riga riporta il conteggio di SEARCH_WEB di un utente. Per visualizzare invece tutte le categorie per ciascun utente, rimuovi il filtro tool e aggiungi group_by=user,tool.

Paginazione

I risultati sono paginati con una dimensione di pagina predefinita di 1.000 righe (massimo 10.000). Se sono disponibili altri risultati, la risposta include un next_page_cursor nell’oggetto pagination. Passalo come parametro di query page_cursor in una richiesta che ripeta per il resto i parametri di query originali. I cursori sono vincolati all’endpoint che li ha emessi: un cursore proveniente da /consumption o /output viene rifiutato con 400. I cursori di pagina scadono dopo 24 ore. La richiesta di una pagina successiva non viene conteggiata come nuova query ai fini del tuo limite di frequenza.

Limiti di frequenza

Questo endpoint ha un limite di 10 richieste all’ora per team. Se superi questo limite, il server restituisce 429 Too Many Requests con un’intestazione Retry-After. La paginazione di una query precedente (tramite un next_page_cursor) non viene conteggiata ai fini di questo limite: conta solo la query iniziale di ciascun report. Il limite è basso perché questo endpoint è pensato per la reportistica periodica, non per il monitoraggio dell’utilizzo in tempo reale.

Autorizzazioni

Authorization
string
header
obbligatorio

Una chiave di servizio con autorizzazione Analisi Read, passata come token Bearer nell'header Authorization.

Crea una chiave di servizio nelle impostazioni del team, nella sezione "Service Keys".

Parametri della query

metric
string
obbligatorio

Metrica da restituire; compare come campo in ogni riga. Metriche supportate:

  • calls — numero di chiamate agli strumenti effettuate dall'agente
start_date
string<date>
obbligatorio

Data di inizio dell'intervallo (inclusa) nel formato YYYY-MM-DD.

end_date
string<date>
obbligatorio

Data di fine dell'intervallo (inclusa) nel formato YYYY-MM-DD. L'intervallo non deve superare 90 giorni.

product
enum<string>
obbligatorio

Prodotto per cui recuperare le chiamate agli strumenti.

Opzioni disponibili:
agent
granularity
enum<string>

Granularità temporale per il raggruppamento dei risultati. Quando è specificata, ogni riga include un campo timestamp. Se omessa, i risultati vengono aggregati sull'intero intervallo di date.

Opzioni disponibili:
daily,
monthly
group_by
string

Elenco delle dimensioni, separate da virgole, in base alle quali raggruppare i risultati. Dimensioni supportate:

  • tool — include tool in ogni riga (la categoria dello strumento, come SEARCH_WEB o RUN_COMMAND)
  • user — include user_id in ogni riga, oltre a user_email se registrato per l'utente
  • model_uid — include model_uid in ogni riga
  • ide — include ide in ogni riga
  • ide_version — include ide_version in ogni riga; richiede che sia incluso anche ide
  • os — include os in ogni riga
models
string

Elenco degli UID dei modelli, separati da virgole, in base ai quali filtrare i risultati.

tool
string

Limita il conteggio a una sola categoria di strumenti, come SEARCH_WEB o RUN_COMMAND (corrispondenza esatta). Accettato solo da questo endpoint.

group_id
string

Filtra i risultati per includere solo gli utenti di un gruppo specifico. La chiave di servizio deve avere accesso a questo gruppo. Non supportato con le API key degli utenti di servizio Devin.

user_id
string

Filtra i risultati per includere solo un utente specifico (UID auth).

page_size
integer
predefinito:1000

Numero massimo di righe da restituire per pagina.

Intervallo richiesto: 1 <= x <= 10000
page_cursor
string

Cursore opaco ricavato da pagination.next_page_cursor di una risposta precedente, per recuperare la pagina successiva. Passa lo stesso valore di metric usato nella richiesta che ha generato il cursore; i cursori generati da altri endpoint vengono rifiutati.

Risposta

Dati delle chiamate agli strumenti restituiti correttamente.

data
object[]
obbligatorio

Array di righe di dati sulle chiamate agli strumenti.

pagination
object
obbligatorio
metadata
object
obbligatorio