POST/api/public/access-request/email/start-verification
Verzendt een 6-cijferige, 10 minuten geldige bevestigingscode naar het opgegeven e-mailadres — eerste stap voor een toegangsaanvraag.
`POST /api/public/access-request/email/start-verification` start de e-mailverificatie voor een openbare toegangsaanvraag. De request vereist geen aanmelding en bevat het te controleren adres in het body-veld `email`. Bij succesvolle verwerking verstuurt het systeem een zescijferige bevestigingscode die tien minuten geldig is. De response bevat `ok`, een `verification_id`, `expires_in_minutes` en `resend_cooldown_seconds`. De `verification_id` moet samen met hetzelfde e-mailadres en de ontvangen code worden gebruikt in de daaropvolgende Verify-route. Deze is geen inlogtoken en mag niet als permanente gebruikersidentificatie worden opgeslagen of openbaar worden gelogd. Het endpoint is niet idempotent. Meerdere succesvolle aanroepen kunnen meerdere verificatieprocessen of nieuwe codes genereren. Daarom geldt een strenge, op IP gebaseerde limiet van tien aanvragen binnen 15 minuten. Bovendien wijst het antwoord op een herhaalblokkade van 60 seconden. De interface mag tijdens deze periode geen nieuwe verzending uitlokken en moet de resterende wachttijd duidelijk weergeven. Wordt de limiet overschreden, dan antwoordt de route met `429 RATE_LIMIT_EXCEEDED`. Kan de code niet worden verzonden vanwege een bezorgfout, dan is `502 MAIL_NOT_SENT` gedocumenteerd. Deze gevallen moeten apart worden behandeld: een rate-limit wordt opgelost door te wachten, een mailfout vereist een bereikbaar adres en een werkende bezorging. Geheimen of interne mailservergegevens horen niet in de foutmelding. Het succesgeval is live geverifieerd met een echte `verification_id`. Het bijbehorende bericht is ontvangen via een eigen Fake-SMTP-server en de zescijferige code is uit de echte e-mailinhoud gelezen. Bovendien is het negatieve geval 429 waargenomen na herhaalde aanroepen. Precies dit bewijs mag worden genoemd; hieruit volgt nog geen succesvol afgeronde toegangsaanvraag of betaling.
Auth & beveiliging
Geen authenticatie vereist
strictLimiter: 10 aanvragen / 15 minuten, IP-gebonden.
Rate-limit: 10 Anfragen pro 15 Minuten (IP-basiert)
Idempotent: Nee
Parameters
email(body, string, vereist)— E-mailadres om te verifiërenVoorbeeld-request
{"email":"max@example.com"}Voorbeeld-response
{"ok":true,"verification_id":"<UUID>","expires_in_minutes":10,"resend_cooldown_seconds":60}Foutcodes
429 RATE_LIMIT_EXCEEDED — Te veel aanvragen naar dit gevoelige eindpunt.502 MAIL_NOT_SENT — De bevestigingscode kon niet worden verzonden (e-mailbezorgingsfout).Live-testbewijs
Succes (200, echte verification_id) live geverifieerd; bijbehorende e-mail ontvangen via eigen Fake-SMTP-server, 6-cijferige code uit de echte e-mailinhoud opgehaald. Negatief geval 429 waargenomen na herhaaldelijke aanroepen.