Pour les développeurs

Une API REST simple

Consultez et gérez vos formulaires et soumissions depuis votre propre système, Zapier, Make ou votre propre agent IA. Authentifiez-vous avec une clé API de compte et recevez du JSON propre. Pour chaque clé, vous choisissez la lecture seule ou aussi l'écriture — sécurisé par compte.

Pour commencer

Toutes les requêtes sont envoyées à l'URL de base et transmettent votre clé comme jeton Bearer ; la réponse est toujours au format application/json. Pour chaque clé, vous déterminez par composant (formulaires, soumissions) si elle peut lire ou aussi écrire — les droits d'écriture ne sont jamais accordés automatiquement.

URL de base

https://app.formuliermet.nl/api/v1

Authentification

curl https://app.formuliermet.nl/api/v1/me \
  -H "Authorization: Bearer fmb_je_sleutel_hier"

Créez une clé dans l'application, sous Compte → API & intégrations. Vous ne voyez la clé complète qu'une seule fois — conservez-la en lieu sûr. Une clé donne accès aux données de votre compte ; vous pouvez la révoquer à tout moment. L'accès à l'API est inclus dans les formules les plus complètes (voir tarifs).

Endpoints

GET
/me
Vérifie votre clé et renvoie l'identifiant de votre compte — pratique pour tester une intégration.
GET
/forms
Formulaires de votre compte (id, titre, slug, actif, nombre de soumissions). Paginé avec ?page et ?limit.
GET
/forms/{id}
Un formulaire, avec les définitions de champs (id, type, libellé, obligatoire).
GET
/forms/{id}/submissions
Soumissions d'un formulaire, les plus récentes en premier. Paginez avec ?page et ?limit (max 100) ; récupérez uniquement les nouvelles avec ?since=<ISO-datum> — idéal pour les intégrations par interrogation (polling).
GET
/submissions/{id}
Une soumission avec tous les champs renseignés dans data.
POST
/forms
Crée un formulaire. scope forms:write
PATCH
/forms/{id}
Met à jour un formulaire (titre, champs, paramètres). scope forms:write
POST
/forms/{id}/publish · /duplicate · /open · /close
Publie, duplique ou ouvre/ferme un formulaire. scope forms:write
POST
/submissions/{id}/approve · /reject · /note · /reminder
Approuve ou rejette, ajoute une note interne ou envoie un rappel de paiement. scope submissions:write
DELETE
/submissions/{id}
Supprime une soumission, y compris les fichiers téléversés (journalisé RGPD). scope submissions:write

Exemple : récupérer des soumissions

curl "https://app.formuliermet.nl/api/v1/forms/FORM_ID/submissions?limit=2" \
  -H "Authorization: Bearer fmb_je_sleutel_hier"

Réponse

{
  "data": [
    {
      "id": "ckv8s2...",
      "formId": "ckv7a1...",
      "sequenceNumber": 42,
      "status": "paid",
      "amountCents": 2500,
      "email": "deelnemer@example.com",
      "paymentMethod": "ideal",
      "createdAt": "2026-06-01T14:30:00.000Z",
      "updatedAt": null,
      "data": { "naam": "Jan Jansen", "aantal": 2 }
    }
  ],
  "page": 1,
  "limit": 2,
  "total": 42
}

Webhooks & événements en temps réel

Vous préférez recevoir les données directement chez vous ? Configurez des webhooks par formulaire : nous envoyons une requête POST avec un message JSON vers votre URL HTTPS dès qu'un événement se produit — ou vers un outil comme Zapier ou Make. Une notification à votre équipe est également possible, directement dans Slack ou Microsoft Teams.

Événements à écouter

EVENT
submission.created · submission.paid
Nouvelle soumission reçue et paiement finalisé.
EVENT
submission.approved
Soumission approuvée dans un workflow de validation.
EVENT
ticket.checked_in · waitlist.joined
Billet enregistré à l'entrée, ou inscription sur liste d'attente.
EVENT
subscription.started · subscription.cancelled
Abonnement démarré ou résilié.
EVENT
form.published
Une nouvelle version de votre formulaire a été publiée.

Chaque message est signé avec HMAC-SHA256, en cas d'échec nous réessayons automatiquement (avec un délai croissant, jusqu'à plusieurs heures) et vous consultez un journal de livraison par formulaire. Les payloads exacts, tous les en-têtes et du code de vérification prêt à l'emploi (Node.js & Python) se trouvent dans la documentation interactive.

→ Documentation API interactive  ·  Spécification OpenAPI (JSON)

Erreurs & limites

400
Requête invalide — un champ du corps de la requête est manquant ou incorrect.
401
Clé manquante, invalide ou révoquée.
403
Votre formule ne comprend pas l'accès à l'API (passez à une formule supérieure via tarifs), ou votre clé n'a pas le scope d'écriture requis pour cette action.
404
Introuvable, ou le formulaire/la soumission n'appartient pas à votre compte.
409
Conflit — par exemple une URL personnalisée déjà utilisée.
429
Trop de requêtes. Une limite généreuse s'applique par clé et par heure.

Chaque clé ne voit que les données de son propre compte. Nous n'exposons jamais vos paramètres de formulaire ni vos connexions de paiement via l'API — uniquement les définitions de champs et les soumissions.

Vous préférez une intégration prête à l'emploi ?

Utilisez les webhooks, ou intégrez votre formulaire dans votre propre site — sans code.