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

Stuur 'n 6-syfer bevestigingskode wat 10 minute geldig is — eerste stap voor 'n Access Request.

`POST /api/public/access-request/email/start-verification` begin e-posverifikasie. Die endpoint is publiek en stuur by sukses 'n 6-syferkode wat 10 minute geldig is. Die respons bevat `verification_id`, `expires_in_minutes` en `resend_cooldown_seconds`. Die verification_id is nie 'n Login Token nie. Die endpoint is nie idempotent nie. Daar geld 'n streng IP-limiet van 10 requests in 15 minute en 'n resend-cooldown van 60 sekondes. `429 RATE_LIMIT_EXCEEDED` beteken wag; `502 MAIL_NOT_SENT` dui op 'n afleweringsprobleem. Sukses met 'n ware verification_id en die 429-geval is live geverifieer.

Verifikasie en sekuriteit

Geen verifikasie vereis nie

strictLimiter: 10 versoeke / 15 minute, IP-gebonde.

Versoeklimiet: 10 Anfragen pro 15 Minuten (IP-basiert)

Idempotent: Nee

Parameters

email(body, string, vereis)E-posadres wat bevestig moet word

Voorbeeldversoek

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

Voorbeeldrespons

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

Foutkodes

429 RATE_LIMIT_EXCEEDEDTe veel requests na hierdie sensitiewe endpoint.
502 MAIL_NOT_SENTBevestigingskode kon nie per e-pos gestuur word nie.

Bewys van live-toets

Sukses (200, ware verification_id) live geverifieer; die e-pos is via 'n eie Fake SMTP Server ontvang en 'n werklike 6-syferkode is uit die boodskap gelees. 429 is ook ná herhaalde requests waargeneem.

Openbare vorms