Wave Developer API
Erstelle ein eingeschränktes Token und lies oder aktualisiere deine Wave-Sessions, Transkripte und Action Items über eigenen Code – mit Suche, Massenexport und Webhooks.
Die Wave Developer API ist eine REST-API für deine eigenen Aufnahmen. Richte deinen Code auf https://api.wave.co/v1 mit einem Token, das du in Wave erstellst, und du kannst Sessions auflisten, Zusammenfassungen und Transkripte lesen, inhaltlich suchen, Audio herunterladen, Titel und Action Items aktualisieren und einen Webhook erhalten, sobald eine Aufnahme fertig verarbeitet ist.
Es ist in jedem Wave-Plan kostenlos enthalten und greift ausschließlich auf dein eigenes Konto zu.
Ein Token erstellen
Öffne in der Wave-Web-App unter app.wave.co dein Profil, wähle den Tab Integrations ("Integrationen") und öffne Developer API – oder gehe direkt zu app.wave.co/settings/integrations/api.
Klicke unter API Tokens auf Create Token ("Token erstellen").
Vergib einen Token Name ("Token-Name"), an dem du das Token später wiedererkennst, hake die benötigten Permissions ("Berechtigungen") ab und klicke auf Create Token. Ein eigenes Token pro Integration lässt sich deutlich einfacher verwalten als ein gemeinsam genutztes Token.
Kopiere das Token. Wave zeigt es nur einmal an: Copy this token now. You will not be able to see it again. ("Kopiere dieses Token jetzt. Du wirst es danach nicht mehr sehen können.")
Sende es bei jeder Anfrage als Bearer-Token:
curl -H "Authorization: Bearer wave_api_xxx..." \
https://api.wave.co/v1/sessionsDie Token-Liste zeigt zu jedem Token den Namen, das wave_api_-Präfix, das Erstellungsdatum und die letzte Verwendung. Über das Papierkorb-Symbol öffnest du Revoke Token ("Token widerrufen") – der Widerruf wirkt sofort, und alles, was dieses Token verwendet, erhält ab dann einen 401-Fehler.
API-Tokens laufen ein Jahr nach ihrer Erstellung ab, und das Ablaufdatum wird in der Token-Liste nicht angezeigt. Wenn eine Integration, die monatelang problemlos lief, plötzlich 401 invalid_token zurückgibt, erstelle ein neues Token.
Berechtigungen
Berechtigungen gelten pro Token. Vergib immer nur die nötigsten.
| Berechtigung | Was sie erlaubt |
|---|---|
| Read Sessions | Sessions auflisten und öffnen, Statistiken, Ordner, Massenexport |
| Search Sessions | Semantische Suche über deine gesamte Bibliothek |
| Read Transcripts | Vollständige Transkripte mit Sprecher-Segmenten |
| Access Media | Signierte Download-URLs für Audio und Video |
| Write Sessions & Action Items | Titel, Notizen, Tags, Favorit, Action Items aktualisieren |
| Delete Sessions | Eine Session dauerhaft löschen |
| Manage Folders | Ordner erstellen, Sessions hinzufügen und entfernen |
| Manage Webhooks | Webhook-Endpunkte registrieren und verwalten |
| Read Event Feed | Den Event-Feed abrufen und bestätigen |
| Read Account | Kontoinformationen und Abo-Status |
Rufst du einen Endpunkt ohne die passende Berechtigung auf, erhältst du einen 403-Fehler, der die fehlende Berechtigung benennt.
Deine Daten lesen
GET /v1/sessions— neueste zuerst, per Cursor paginiert, filterbar nachtype,since,folderundtag. Es werden nur Sessions zurückgegeben, deren Verarbeitung abgeschlossen ist.GET /v1/sessions/:id— Titel, Dauer, Markdown-Zusammenfassung, Notizen, Tags, Favorit. Bei Telefonanrufen zusätzlich Richtung und Rufnummern.GET /v1/sessions/:id/transcript— ein durchgehender Transkript-String sowie zeitgestempelte, sprecherbeschriftete Segmente.GET /v1/sessions/:id/action-items— strukturierte Action Items und eine Versionsnummer.GET /v1/sessions/:id/media— signierte Audio- und Video-URLs, eine Stunde gültig.POST /v1/sessions/search— semantische Suche, bis zu 50 Ergebnisse, optionale Tag-Filter.POST /v1/sessions/bulk— bis zu 50 Sessions in einem Aufruf, mit Zusammenfassungen und Transkripten. Der schnelle Weg, um Altbestände nachzuladen.GET /v1/folders,GET /v1/sessions/stats— Ordner sowie Gesamtzahlen nach Typ und Plattform.
Daten zurückschreiben
PATCH /v1/sessions/:id setzt Titel, Notizen, Tags, Favorit und Action Items. Bei Action Items solltest du sie zuerst lesen und die erhaltene Version zurücksenden – eine gleichzeitige Bearbeitung in der Wave-App wird dann abgelehnt, statt stillschweigend überschrieben zu werden. POST /v1/folders und die Endpunkte für die Ordnerzugehörigkeit organisieren Sessions; Ordner schließen sich nicht gegenseitig aus, eine Session kann also in mehreren liegen.
DELETE /v1/sessions/:id ist endgültig und nicht dasselbe wie das Löschen in der App. Behandle es als nicht wiederherstellbar.
Rate-Limits
Jedes Token erhält 60 Anfragen pro Minute und 10.000 Anfragen pro Tag. Antworten enthalten X-RateLimit-Limit, X-RateLimit-Remaining und X-RateLimit-Reset, und ein 429-Fehler enthält Retry-After – warte dann, statt sofort erneut zu versuchen.
Wird dieselbe Suchanfrage mehr als zehnmal pro Stunde wiederholt, gibt es ebenfalls einen 429-Fehler. Identische Suchanfragen liefern identische Ergebnisse, nutze also Webhooks oder GET /v1/sessions?since=, um Neues zu finden.
Webhooks
Statt zu pollen, kannst du Wave an dich POSTen lassen. Klicke im Bereich Webhooks auf Add Webhook ("Webhook hinzufügen"), trage eine Endpoint URL ("Endpunkt-URL") ein (nur HTTPS, URLs, die zu privaten Adressen auflösen, werden abgelehnt), wähle deine Events aus und klicke auf Create Webhook. Das Signing Secret ("Signatur-Geheimnis") wird nur einmal angezeigt – speichere es dann sofort. Du kannst bis zu fünf Webhooks anlegen.
Derzeit sind drei Events verfügbar: Session Completed (feuert einmal, sobald die Verarbeitung abgeschlossen und die Zusammenfassung abrufbar ist – das, was die meisten Integrationen wollen), Session Updated und Session Deleted.
Jede Zustellung wird mit deinem Secret signiert und enthält die Header X-Wave-Webhook-Id, X-Wave-Webhook-Timestamp und X-Wave-Webhook-Signature. Prüfe die Signatur, bevor du einer Payload vertraust; den genauen zu signierenden String findest du in der API-Referenz.
Wave garantiert keine genau einmalige Zustellung pro Event. Eine Zustellung, die ein Timeout (10 Sekunden) erreicht oder einen Non-2xx-Status zurückgibt, wird mit kurzem Backoff bis zu dreimal wiederholt – nach etwa 10 Sekunden, dann einer Minute, dann fünf Minuten – und dasselbe Event kann durchaus mehrfach ankommen. Gestalte deinen Handler idempotent: Verwende X-Wave-Webhook-Id als Schlüssel, ignoriere bereits verarbeitete IDs und antworte zügig mit 2xx. Ein Endpunkt, der länger als dieses Zeitfenster ausfällt, verliert die verpassten Events – nutze in diesem Fall den Event-Feed unten, um aufzuholen.
Schlägt ein Endpunkt zehnmal in Folge fehl, markiert Wave ihn als Auto-disabled ("automatisch deaktiviert") und stellt die Zustellung ein. Behebe das Problem am Endpunkt und nutze dann die Schaltfläche zum erneuten Aktivieren in der Webhook-Zeile.
Kein Server? Nutze den Event-Feed
Falls du keine öffentliche URL hosten kannst, pollst du stattdessen. GET /v1/events liefert Events nach einem Cursor, den Wave pro Token verfolgt, und POST /v1/events/ack schaltet diesen weiter, sobald du die Events verarbeitet hast – ein Neustart deines Skripts spielt so nicht alles erneut ab. Seiten umfassen standardmäßig 50 Einträge und maximal 200, und der Feed enthält zudem Änderungen an Action Items, die Webhook-Abonnements nicht liefern. Erfordert die Berechtigung Read Event Feed.
Die Wave CLI bildet das über wave events tail ab, falls du die Polling-Schleife nicht selbst schreiben möchtest.
FAQ
Unter api.wave.co/reference findest du jeden Endpunkt, Parameter und jede Antwortstruktur mit Live-Beispielen. api.wave.co/llms.txt enthält dieselben Inhalte als reinen Text – füge sie in einen KI-Assistenten ein und lass ihn die Integration für dich schreiben.
Immer als JSON, mit einem code und einer message. Die häufigsten: 401 invalid_token (abgelaufen, widerrufen oder falsch eingegeben), 403 insufficient_scope (dem Token fehlt eine Berechtigung) und 429 (Rate-Limit erreicht).
Nein. Ein Token ist an das Konto gebunden, das es erstellt hat, und liefert ausschließlich die Sessions dieses Kontos zurück.
War dieser Artikel hilfreich?
Brauchst du noch Hilfe?
Das Wave Agents Toolkit: Verbinde deine Daten mit jedem anderen Tool
Drei Wege, deine Wave-Aufnahmen in andere Tools zu bringen – MCP für KI-Assistenten, eine REST-API für eigenen Code und eine CLI für das Terminal.
Wave CLI
Installiere den Befehl „wave“, melde dich über deinen Browser an und liste, durchsuche, exportiere und organisiere deine Aufnahmen direkt vom Terminal aus.