Authenticatie
Alle API-verzoeken vereisen een geldige API-sleutel. Genereer een sleutel onder API Keys in de backoffice; je kunt per sleutel lees- en schrijfrechten toewijzen.
Voeg de sleutel toe aan de Authorization header:
Authorization: Bearer <jouw-api-sleutel>
API-sleutels zijn gekoppeld aan een specifieke tenant. Bewaar je sleutel veilig — je kunt deze later niet meer inzien.
Endpoints
GET /api/v1/submissions — Haal inzendingen op. Ondersteunt paginering (?page=1&per_page=50) en filters (?status=completed&project_id=...).
GET /api/v1/projects — Haal alle campagnes op voor de huidige tenant.
POST /api/v1/submissions — Maak een nieuwe inzending aan. Vereist project_id en form_data in de request body.
Alle responses zijn JSON met een data-veld en optioneel een meta-veld voor paginering. De interactieve referentie staat onder /api/v1/docs.
Webhooks
Configureer een webhook-URL onder Webhooks. Bij elke nieuwe inzending wordt een POST-verzoek met de volledige inzendingsdata (JSON) naar je endpoint gestuurd.
Elke payload wordt ondertekend met HMAC-SHA256 in de X-Webhook-Signature header. Verifieer de handtekening met je webhook-secret om te bevestigen dat het verzoek van FieldForms afkomstig is.
Rate limiting
De API heeft een rate limit van 100 verzoeken per minuut per API-sleutel. Bij overschrijding ontvang je een 429-status. De Retry-After header geeft aan hoeveel seconden je moet wachten voordat je een nieuw verzoek kunt doen.