REST-API v1.
Die lesende Hälfte der API. Drei Endpunkte, authentifiziert mit deinem eigenen API-Key und auf dein Konto beschränkt: Formulare auflisten, Einsendungen seitenweise durchgehen, eine einzelne holen. Die Feldnamen sind hier snake_case — so erwarten es maschinelle Clients bei dieser Art von API.
Authentifizierung
Leg im Dashboard unter „API-Keys" einen Key an und schick ihn als Bearer-Token. Der Klartext wird einmal angezeigt, danach existiert nur noch sein Hash. Jede Anfrage zählt gegen das eigene Rate-Limit des Keys von 120 Anfragen pro Minute.
GET /api/v1/forms
Alle Formulare deines Kontos mit Access-Key und aktueller Zahl der Einsendungen. Keine Parameter, keine Seiten — ein Konto hat wenige Formulare.
GET /api/v1/submissions
Einsendungen über alle deine Formulare, neueste zuerst, per Cursor seitenweise. Spam bleibt draußen, solange du ihn nicht anforderst.
| Parameter | Beschreibung |
|---|---|
form_id |
Auf ein Formular einschränken. Ein fremdes Formular antwortet mit 404. |
limit |
Seitengröße, 1 bis 100. Vorgabe 25. |
cursor |
Der next_cursor der vorigen Antwort. |
include_spam |
„true" liefert auch als Spam markierte Einsendungen mit. |
Ruf so lange mit next_cursor auf, bis has_more false ist. Der Cursor ist undurchsichtig — gib ihn unverändert zurück und bau dir keinen eigenen.
GET /api/v1/submissions/:id
Eine einzelne Einsendung im selben Format wie ein Eintrag der Liste. Eine fremde Einsendung antwortet mit 404 — nicht unterscheidbar von einer nicht vorhandenen, damit niemand nach IDs suchen kann.
Der Node.js-Client
Das offizielle Paket kapselt beide Hälften und folgt dem Cursor für dich. Keine Laufzeit-Abhängigkeiten, Typen inklusive.