POST/api/public/access-request/email/start-verification

Skickar en 6-siffrig bekräftelsekod, giltig i 10 minuter, till den angivna e-postadressen — första steget före en åtkomstansökan.

`POST /api/public/access-request/email/start-verification` startar e-postverifieringen för en offentlig åtkomstansökan. Begäran kräver ingen inloggning och innehåller adressen som ska kontrolleras i body-fältet `email`. Vid lyckad bearbetning skickar systemet en sexsiffrig bekräftelsekod som är giltig i tio minuter. Svaret innehåller `ok`, ett `verification_id`, `expires_in_minutes` och `resend_cooldown_seconds`. `verification_id` måste användas tillsammans med samma e-postadress och den mottagna koden i den efterföljande verify-routen. Det är inget inloggnings-token och får inte lagras som ett permanent användar-ID eller loggas offentligt. Endpointen är inte idempotent. Flera lyckade anrop kan skapa flera verifieringsförlopp respektive nya koder. Därför gäller en IP-baserad strikt gräns på tio begäranden inom 15 minuter. Dessutom anger svaret en spärr för nytt försök på 60 sekunder. Gränssnittet ska under denna tid inte utlösa något nytt utskick och ska visa den återstående väntetiden på ett begripligt sätt. Överskrids gränsen svarar routen med `429 RATE_LIMIT_EXCEEDED`. Kan koden inte skickas på grund av ett leveransfel är `502 MAIL_NOT_SENT` dokumenterat. Dessa fall ska hanteras separat: En rate limit löses genom att vänta, ett mejlfel kräver en nåbar adress och fungerande leverans. Hemligheter eller interna uppgifter om mejlservern hör inte hemma i felmeddelandet. Framgångsfallet verifierades live med ett verkligt `verification_id`. Det tillhörande meddelandet mottogs via en egen fejk-SMTP-server och den sexsiffriga koden lästes ur det verkliga e-postinnehållet. Dessutom observerades negativfallet 429 efter upprepade anrop. Just detta bevis får nämnas; det följer ännu inte att en åtkomstansökan eller en betalning har slutförts framgångsrikt.

Autentisering & säkerhet

Ingen autentisering krävs

strictLimiter: 10 förfrågningar/15 minuter, IP-bunden.

Hastighetsbegränsning: 10 Anfragen pro 15 Minuten (IP-basiert)

Idempotent: Nej

Parametrar

email(body, string, obligatorisk)— E-postadress att verifiera

Exempel på request

{"email":"max@example.com"}

Exempel på response

{"ok":true,"verification_id":"<UUID>","expires_in_minutes":10,"resend_cooldown_seconds":60}

Felkoder

429 RATE_LIMIT_EXCEEDED — För många förfrågningar till denna känsliga endpoint.
502 MAIL_NOT_SENT — Bekräftelsekoden kunde inte skickas (fel vid e-postleverans).

Bevis från livetest

Framgång (200, verkligt verification_id) verifierad live; tillhörande e-post mottagen via egen fejk-SMTP-server, 6-siffrig kod hämtad ur det verkliga e-postinnehållet. Negativt fall 429 observerat vid upprepade anrop.

← Offentliga formulär