Skip to main content
GET
Analysen zu Agenten-Tool-Aufrufen abrufen
Dies ist ein v2-Endpunkt, der Bearer-Token-Authentifizierung und Query-Parameter verwendet – im Gegensatz zur v1-Analytics-API, bei der Service-Schlüssel im Request-Body übergeben werden. Siehe Authentifizierung weiter unten.
Dieser Endpunkt ist nicht für das Echtzeit-Monitoring der Nutzung vorgesehen. Das Ratenlimit ist niedrig (10 Anfragen pro Stunde und Team). Verwenden Sie ihn für regelmäßige Berichte und Massenexporte.

Authentifizierung

Dieser Endpunkt verwendet Bearer-Token-Authentifizierung. Geben Sie Ihr Token im Authorization-Header an:
Verwenden Sie entweder einen Devin-Dienstbenutzer-API-Schlüssel mit der Berechtigung Lokale Analyse-API verwenden oder einen Windsurf-Service-Schlüssel mit der Berechtigung Analysen lesen. Unter Authentifizierung erfahren Sie, wie Sie die beiden Schlüssel jeweils erstellen. Anders als die v1-Datenquelle cascade_tool_usage akzeptiert dieser Endpunkt Devin-Dienstbenutzer-API-Schlüssel. Teams auf der Cognition-Plattform können die Werkzeugnutzung daher auch ohne Windsurf-Service-Schlüssel auswerten.

Kennzahlen

Der Query-Parameter metric ist erforderlich und akzeptiert derzeit nur calls, also die Anzahl der Tool-Aufrufe, die der Agent ausgeführt hat. Diese Kennzahl erscheint in jeder Zeile als ganzzahliges Feld calls. Anfragen ohne metric oder mit einer anderen Kennzahl schlagen mit dem Statuscode 400 fehl. Tool-Aufrufe werden gezählt, wenn der Agent ein Tool in Devin Desktop oder in der Devin CLI aufruft (auch wenn die CLI als Agent in anderen Editoren läuft), und zwar unabhängig vom Modell. Der Parameter product ist ebenfalls erforderlich und akzeptiert derzeit nur agent.

Tools

Gruppieren Sie nach tool, um Aufrufe nach Tool-Kategorie aufzuschlüsseln. Jede Zeile enthält dann ein Feld tool mit einem der folgenden Werte: Nicht jede Kategorie gilt für jeden Client: LIST_DIRECTORY, MEMORY, PROPOSE_CODE, PROXY_WEB_SERVER, DEPLOY_WEB_APP und MQUERY werden für den Devin Desktop-Agent aufgezeichnet. Neue Devin CLI-Tools, denen noch keine Kategorie zugewiesen wurde, werden dagegen unter OTHER gezählt.

Gruppierung und Granularität

Verwenden Sie granularity und group_by, um die Struktur der zurückgegebenen Daten zu steuern:
  • Keine Granularität oder Gruppierung — gibt eine einzige aggregierte Zeile für den gesamten Zeitraum zurück
  • granularity=daily — jede Zeile enthält einen timestamp im Format YYYY-MM-DD
  • granularity=monthly — jede Zeile enthält einen timestamp im Format YYYY-MM
  • group_by=tool — jede Zeile enthält ein tool (siehe Tools oben)
  • group_by=user — jede Zeile enthält eine user_id sowie eine user_email, sofern für diesen Nutzer eine hinterlegt ist
  • group_by=model_uid — jede Zeile enthält eine model_uid
  • group_by=ide — jede Zeile enthält eine ide
  • group_by=ide,ide_version — jede Zeile enthält ide und ide_version (für die Gruppierung nach ide_version muss auch ide angegeben sein)
  • group_by=os — jede Zeile enthält ein os, zum Beispiel darwin (macOS), windows oder linux
Dimensionen lassen sich kombinieren: group_by=user,tool gibt zum Beispiel an, wie oft jeder Nutzer welches Tool aufgerufen hat. Die Dimensionen session und source aus Get Output werden hier nicht unterstützt. Es gelten dieselben Filter models, group_id und user_id wie bei Get Consumption, zusätzlich ein Filter tool, der die Zählung auf eine Tool-Kategorie beschränkt (zum Beispiel tool=SEARCH_WEB). tool wird nur von diesem Endpunkt akzeptiert; wird der Filter an einen anderen Endpunkt der Analytics API v2 übergeben, schlägt die Anfrage mit 400 fehl.

Beispiel

Websuchen pro Nutzer innerhalb einer Woche zählen:
Jede Zeile enthält die SEARCH_WEB-Anzahl eines Nutzers. Wenn Sie stattdessen alle Kategorien pro Nutzer sehen möchten, entfernen Sie den tool-Filter und fügen Sie group_by=user,tool hinzu.

Paginierung

Ergebnisse werden paginiert, die Standard-Seitengröße beträgt 1.000 Zeilen (maximal 10.000). Wenn weitere Ergebnisse verfügbar sind, enthält die Antwort im Objekt pagination einen next_page_cursor. Übergeben Sie diesen als Query-Parameter page_cursor in einer Anfrage, die ansonsten dieselben Query-Parameter wie die ursprüngliche Anfrage enthält. Cursor sind an den Endpunkt gebunden, der sie ausgegeben hat; ein Cursor von /consumption oder /output wird mit 400 abgelehnt. Seitencursor laufen nach 24 Stunden ab. Eine Folgeanfrage für eine weitere Seite wird nicht als neue Abfrage auf Ihr Ratenlimit angerechnet.

Ratenlimits

Dieser Endpunkt ist auf 10 Anfragen pro Stunde pro Team begrenzt. Wenn Sie dieses Limit überschreiten, gibt der Server 429 Too Many Requests mit einem Retry-After-Header zurück. Das Paginieren einer früheren Abfrage (über einen next_page_cursor) wird nicht auf dieses Limit angerechnet – es zählt nur die erste Abfrage pro Bericht. Das niedrige Limit ist darauf zurückzuführen, dass dieser Endpunkt für periodische Berichte gedacht ist und nicht für ein Echtzeit-Monitoring der Nutzung.

Autorisierungen

Authorization
string
header
erforderlich

Ein Service-Schlüssel mit der Berechtigung Analytics Read, übergeben als Bearer-Token im Header Authorization.

Erstellen Sie einen Service-Schlüssel in Ihren Team Settings im Abschnitt „Service Keys“.

Abfrageparameter

metric
string
erforderlich

Zurückzugebende Kennzahl; erscheint als Feld in jeder Zeile. Unterstützte Kennzahlen:

  • calls — Anzahl der Tool-Aufrufe des Agenten
start_date
string<date>
erforderlich

Beginn des Datumsbereichs (einschließlich) im Format YYYY-MM-DD.

end_date
string<date>
erforderlich

Ende des Datumsbereichs (einschließlich) im Format YYYY-MM-DD. Der Bereich darf 90 Tage nicht überschreiten.

product
enum<string>
erforderlich

Produkt, für das Tool-Aufrufe abgefragt werden sollen.

Verfügbare Optionen:
agent
granularity
enum<string>

Zeitliche Granularität für die Gruppierung der Ergebnisse. Ist sie angegeben, enthält jede Zeile ein Feld timestamp. Andernfalls werden die Ergebnisse über den gesamten Datumsbereich aggregiert.

Verfügbare Optionen:
daily,
monthly
group_by
string

Kommagetrennte Liste der Dimensionen, nach denen die Ergebnisse gruppiert werden sollen. Unterstützte Dimensionen:

  • tool — enthält tool in jeder Zeile (die Tool-Kategorie, etwa SEARCH_WEB oder RUN_COMMAND)
  • user — enthält user_id in jeder Zeile sowie user_email, wenn für den Nutzer eine E-Mail-Adresse aufgezeichnet wurde
  • model_uid — enthält model_uid in jeder Zeile
  • ide — enthält ide in jeder Zeile
  • ide_version — enthält ide_version in jeder Zeile; setzt voraus, dass auch ide enthalten ist
  • os — enthält os in jeder Zeile
models
string

Kommagetrennte Liste von Modell-UIDs, auf die die Ergebnisse beschränkt werden sollen.

tool
string

Die Zählung auf eine Tool-Kategorie beschränken, etwa SEARCH_WEB oder RUN_COMMAND (exakte Übereinstimmung). Wird nur von diesem Endpunkt akzeptiert.

group_id
string

Ergebnisse auf Nutzer einer spezifischen Gruppe beschränken. Der Service-Schlüssel muss Zugriff auf diese Gruppe haben. Nicht mit Devin-Dienstbenutzer-API-Schlüsseln unterstützt.

user_id
string

Ergebnisse auf einen spezifischen Nutzer (Authentifizierungs-UID) beschränken.

page_size
integer
Standard:1000

Maximale Anzahl der Zeilen, die pro Seite zurückgegeben werden.

Erforderlicher Bereich: 1 <= x <= 10000
page_cursor
string

Opaker Cursor aus pagination.next_page_cursor einer vorherigen Antwort zum Abrufen der nächsten Seite. Übergeben Sie denselben metric-Wert wie in der Anfrage, für die der Cursor ausgegeben wurde; von anderen Endpunkten ausgegebene Cursor werden abgelehnt.

Antwort

Daten zu Tool-Aufrufen erfolgreich zurückgegeben.

data
object[]
erforderlich

Array mit Datenzeilen zu Tool-Aufrufen.

pagination
object
erforderlich
metadata
object
erforderlich