Lees én beheer je formulieren en inzendingen vanuit je eigen systeem, Zapier, Make of je eigen AI-agent. Authenticeer met een account-API-sleutel, krijg nette JSON terug. Per sleutel kies je lezen of ook schrijven — account-veilig.
Alle requests gaan naar de basis-URL en sturen je sleutel mee als Bearer-token; het antwoord is altijd application/json. Per sleutel bepaal je per onderdeel (formulieren, inzendingen) of die mag lezen of ook mag schrijven — schrijfrechten worden nooit automatisch verleend.
Basis-URL
https://app.formuliermet.nl/api/v1
Authenticatie
curl https://app.formuliermet.nl/api/v1/me \ -H "Authorization: Bearer fmb_je_sleutel_hier"
Maak een sleutel aan in de app onder Account → API & koppelingen. Je ziet de volledige sleutel maar één keer — bewaar 'm veilig. Een sleutel geeft toegang tot de gegevens van jouw account; je kunt 'm op elk moment intrekken. API-toegang zit in de grotere pakketten (zie tarieven).
?page en ?limit.?page en ?limit (max 100); haal alleen nieuwe op met ?since=<ISO-datum> — ideaal voor poll-koppelingen.data.forms:writeforms:writeforms:writesubmissions:writesubmissions:writecurl "https://app.formuliermet.nl/api/v1/forms/FORM_ID/submissions?limit=2" \ -H "Authorization: Bearer fmb_je_sleutel_hier"
Antwoord
{
"data": [
{
"id": "ckv8s2...",
"formId": "ckv7a1...",
"sequenceNumber": 42,
"status": "paid",
"amountCents": 2500,
"email": "deelnemer@example.com",
"paymentMethod": "mollie",
"createdAt": "2026-06-01T14:30:00.000Z",
"updatedAt": null,
"data": { "naam": "Jan Jansen", "aantal": 2 }
}
],
"page": 1,
"limit": 2,
"total": 42
}
status is één van submitted (binnen, niets te betalen), to_review (wacht op goedkeuring), pending (betaling nog niet afgerond), paid, failed, cancelled of refunded. paymentMethod is de betaalprovider — mollie, stripe, paypal of moneybird — niet de betaalwijze die de invuller daar koos (iDEAL, creditcard, Bancontact…).
Liever dat de gegevens naar jóú toe komen? Stel per formulier webhooks in: wij POST'en een JSON-bericht naar jouw HTTPS-URL zodra er iets gebeurt — of naar een koppelaar als Zapier of Make. Een melding in je team kan ook, rechtstreeks naar Slack of Microsoft Teams.
Gebeurtenissen om op mee te luisteren
Wat er in zo'n bericht zit
Naast de ingevulde velden (data) draagt elk submission.*-bericht ook de betaalgegevens: status, amountCents en paymentMethod.
{
"event": "submission.paid",
"submissionId": "ckv8s2...",
"submissionNumber": 42,
"formId": "ckv7a1...",
"formTitle": "Inschrijving najaarscursus",
"status": "paid",
"amountCents": 2500,
"paymentMethod": "mollie",
"email": "deelnemer@example.com",
"data": { "naam": "Jan Jansen", "aantal": 2 }
}
Let op bij formulieren met betaling: submission.created vuurt af op het moment van indienen, dus vóór de betaling — status is dan pending. Abonneer je op alle vier de betaal-events om de hele levensloop te volgen:
status: "pending" — ingediend, betaling gestart.status: "paid" — betaling bevestigd.status: "failed" of "cancelled" — afgewezen door de provider, of afgebroken door de invuller.status: "refunded", of "paid" bij een gedeeltelijke terugbetaling — vergelijk dan refundedCents met amountCents.Bij een gratis formulier (of € 0) is de status meteen submitted; staat er een goedkeuringsstap op, dan to_review.
Elk bericht is ondertekend met HMAC-SHA256, bij een storing proberen we het automatisch opnieuw (oplopend tot enkele uren) en je ziet per formulier een afleverlog (90 dagen historie). De eerste poging gaat altijd door; alleen bij uitzonderlijke drukte kunnen de herhalingen vervallen, en dan staat dat in het log. De exacte payloads per event, alle headers en kant-en-klare verificatiecode (Node.js & Python) staan in de interactieve documentatie.
Elke sleutel ziet uitsluitend de gegevens van het eigen account. We tonen nooit je formulierinstellingen of betaalkoppelingen via de API — alleen de velddefinities en de inzendingen.
Gebruik webhooks, of zet je formulier in je eigen website — geen code nodig.