Zum Hauptinhalt springen
Die v2-APIs befinden sich in der Alpha-Phase und können sich jederzeit ändern.

Überblick

Die Analytics-API v2 ist die nächste Generation der Devin Desktop Analytics-API. Sie stellt Verbrauchsanalysen (Credits und ACUs) über klar strukturierte REST-Endpunkte mit Filterung nach Abfrageparametern, flexibler Gruppierung, cursorbasierter Paginierung und Response-Caching bereit.
v2-Endpunkte werden derzeit unter dem Präfix /api/v2alpha bereitgestellt, während die API noch finalisiert wird. Die Base-URL ist https://server.codeium.com.

Was ist neu in v2

Die größte Änderung gegenüber v1 ist die Authentifizierung.
v1 Analytics-APIv2 Analytics-API
TransportPOST mit einem JSON-Request-BodyGET mit Abfrageparametern
Authentifizierungservice_key-Feld im Request-BodyAuthorization: Bearer <service_key>-Header
BerechtigungVariiert je nach EndpunktAnalytics Read
PaginierungKeineCursor-basiert (next_page_cursor / page_cursor)
CachingKeinesETag + If-None-Match (304 Not Modified)

Authentifizierung

v2 verwendet die Bearer-Token-Authentifizierung. Übergeben Sie Ihren Service-Schlüssel stattdessen im Authorization-Header statt im Request-Body:
Authorization: Bearer <your_service_key>
Der Service-Schlüssel muss die Berechtigung Analytics Read haben.

Erstellen eines Service-Schlüssels

  1. Navigieren Sie zu Ihrer Team Settings-Seite
  2. Gehen Sie zum Abschnitt „Service Keys“
  3. Erstellen Sie einen neuen Service-Schlüssel mit der Berechtigung Analytics Read
  4. Verwenden Sie den Schlüssel als Bearer-Token im Authorization-Header
Bewahren Sie Ihre Service-Schlüssel sicher auf und legen Sie sie niemals in clientseitigem Code oder öffentlichen Repositorys offen.
Service-Schlüssel mit Gruppen-Geltungsbereich werden unterstützt — wenn der Geltungsbereich eines Schlüssels auf eine Gruppe beschränkt ist, werden die Ergebnisse automatisch auf diese Gruppe begrenzt.

Verfügbare Endpunkte

EndpunktBeschreibung
Credit- oder ACU-Nutzung abrufen (GET /api/v2alpha/analytics/consumption)Nutzung von Credits oder ACUs mit Filtern, Gruppierung, Granularität und Paginierung abfragen
Aktive Nutzer abrufen (GET /api/v2alpha/analytics/active-users)Eindeutige aktive Nutzer zählen, optional nach Tag/Monat oder je Nutzer

Abrechnungsmodell

Antworten richten sich nach dem Abrechnungsmodell Ihres Teams, das in metadata.billing_strategy angegeben wird:
  • CREDITS — Zeilen enthalten prompt_credits und flex_credits
  • ACU — Zeilen enthalten billed_acus
Das Feld message_count wird unabhängig vom Modell immer zurückgegeben. Listenantworten sind paginiert. Wenn weitere Daten verfügbar sind, enthält die Antwort einen pagination.next_page_cursor; übergib ihn als page_cursor-Abfrageparameter, um die nächste Seite abzurufen. Cursor verfallen nach 24 Stunden.

Caching

Antworten enthalten einen ETag-Header. Senden Sie ihn bei nachfolgenden Anfragen im If-None-Match-Header erneut mit, damit Sie bei unveränderten Daten ein 304 Not Modified erhalten.

Ratenlimits

Diese Endpunkte sind nicht für die Nutzungsüberwachung in Echtzeit gedacht. Die Daten werden stündlich aggregiert, und das Ratenlimit ist niedrig (10 Anfragen pro Stunde pro Team). Verwenden Sie sie für regelmäßige Berichte und Massenexporte, nicht für Live-Dashboards oder das Tracking einzelner Anfragen.
v2-Endpunkte sind auf 10 Anfragen pro Stunde pro Team begrenzt. Wenn das Limit überschritten wird, wird 429 Too Many Requests mit einem Retry-After-Header zurückgegeben. Die Paginierung einer früheren Query (durch Folgen eines next_page_cursor) wird nicht auf das Ratenlimit angerechnet — nur die anfängliche Query für jeden Bericht. Das niedrige Limit zeigt, dass diese Endpunkte für regelmäßige Berichte gedacht sind, nicht für die Überwachung in Echtzeit.