Skip to main content
GET
Analysen zur Agentenausgabe abrufen (Codezeilen)
Dies ist ein v2-Endpunkt, der Bearer-Token-Authentifizierung und Query-Parameter nutzt – 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 die Echtzeitüberwachung der Nutzung gedacht. Die Daten werden stündlich aggregiert, und das Ratenlimit ist niedrig (10 Anfragen pro Stunde und Team). Nutzen 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 API-Schlüssel eines Devin-Service-Benutzers mit der Berechtigung Use Local Analytics API oder einen Windsurf- Service-Schlüssel mit der Berechtigung Analytics Read. Wie Sie die jeweiligen Schlüssel erstellen, erfahren Sie unter Authentifizierung.

Metriken

Der Query-Parameter metric ist erforderlich und erwartet eine kommagetrennte Liste der zurückzugebenden Metriken. Jede angeforderte Metrik erscheint in jeder Zeile als Ganzzahlfeld: Zum Beispiel liefert ?metric=loc_inserted,loc_deleted beide Metriken; ?metric=loc_inserted liefert nur loc_inserted. Anfragen ohne metric oder mit einer unbekannten Metrik schlagen mit 400 fehl. Zeilen werden gezählt, wenn ein Nutzer eine Bearbeitung des Agenten in Devin Desktop oder in der Devin CLI akzeptiert – unabhängig vom verwendeten Modell. Der Parameter product ist ebenfalls erforderlich und akzeptiert derzeit nur agent.

Gruppierung und Granularität

Verwenden Sie granularity und group_by, um die Struktur der zurückgegebenen Daten zu steuern:
  • Ohne Granularität oder Gruppierung — gibt eine einzelne aggregierte Zeile für den gesamten Datumsbereich 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=user — jede Zeile enthält eine user_id und eine user_email
  • group_by=session — jede Zeile enthält eine session_id (die Devin Desktop-Unterhaltung oder CLI-Sitzung, in der die Zeilen akzeptiert wurden)
  • 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 werden)
  • group_by=os — jede Zeile enthält ein os, zum Beispiel darwin (macOS), windows oder linux
  • group_by=source — jede Zeile enthält eine source: CASCADE_CLIENT für in Devin Desktop akzeptierte Zeilen, CHISEL für in der Devin CLI akzeptierte Zeilen (einschließlich der CLI, wenn sie als Agent in anderen Editoren läuft)
Dimensionen lassen sich kombinieren, zum Beispiel group_by=user,source,model_uid. Es gelten dieselben Filter models, group_id und user_id wie bei Get Consumption.

Paginierung

Ergebnisse werden mit einer Standard-Seitengröße von 1.000 Zeilen (max. 10.000) paginiert. Wenn weitere Ergebnisse verfügbar sind, enthält die Antwort im pagination-Objekt einen next_page_cursor. Übergeben Sie diesen als Query-Parameter page_cursor zusammen mit derselben metric-Liste wie in der ursprünglichen Anfrage, um die nächste Seite abzurufen. Cursor sind an den Endpunkt und die Metriken gebunden, für die sie ausgestellt wurden. Ein Cursor von /consumption oder ein Cursor, der für eine andere metric-Liste ausgestellt wurde, wird mit 400 abgelehnt. Seiten-Cursor laufen nach 24 Stunden ab. Anfragen für Folgeseiten werden nicht als neue Abfragen auf Ihr Ratenlimit angerechnet.

Ratenlimits

Für diesen Endpunkt gilt ein Ratenlimit von 10 Anfragen pro Stunde pro Team. Wenn Sie dieses Limit überschreiten, gibt der Server 429 Too Many Requests mit einem Retry-After-Header zurück. Das Paginieren einer vorherigen 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 regelmäßige Berichte gedacht ist und nicht für die Echtzeitüberwachung 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

Kommagetrennte Liste der zurückzugebenden Ausgabemetriken; jede Metrik erscheint als Feld in jeder Zeile. Unterstützte Metriken:

  • loc_inserted — vom Agenten eingefügte Zeilen, die der Nutzer akzeptiert hat
  • loc_deleted — vom Agenten gelöschte Zeilen, deren Löschung der Nutzer akzeptiert hat
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 Datumsbereich darf höchstens 90 Tage umfassen.

product
enum<string>
erforderlich

Produkt, dessen Ausgabedaten abgefragt werden sollen.

Verfügbare Optionen:
agent
granularity
enum<string>

Zeitliche Granularität für die Gruppierung der Ergebnisse. Bei Angabe enthält jede Zeile ein timestamp-Feld. Ohne Angabe 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:

  • user — enthält user_id und user_email in jeder Zeile
  • session — enthält session_id in jeder Zeile
  • 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 angegeben wird
  • os — enthält os in jeder Zeile
  • source — enthält source in jeder Zeile (CASCADE_CLIENT für Devin Desktop, CHISEL für die Devin CLI)
models
string

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

group_id
string

Ergebnisse auf Nutzer einer bestimmten Gruppe beschränken. Der Service-Schlüssel muss Zugriff auf diese Gruppe haben. Wird bei Verwendung von API-Schlüsseln für Devin-Service-Benutzer nicht unterstützt.

user_id
string

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

page_size
integer
Standard:1000

Maximale Anzahl der pro Seite zurückzugebenden Zeilen.

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

Opaker Cursor aus dem Feld pagination.next_page_cursor einer vorherigen Antwort zum Abrufen der nächsten Seite. Übergeben Sie dieselbe metric-Liste wie in der Anfrage, für die der Cursor ausgegeben wurde; Cursor von anderen Endpunkten oder für eine andere metric-Liste werden abgelehnt.

Antwort

Ausgabedaten erfolgreich zurückgegeben.

data
object[]
erforderlich

Array mit den Zeilen der Ausgabedaten.

pagination
object
erforderlich
metadata
object
erforderlich