Sends a one-time code to the given MSISDN so the user can verify ownership before signup. After a successful send, the same MSISDN is rate-limited for retryAfterSec seconds (default 60, set via PHONE_OTP_COOLDOWN_SECONDS). Failures are surfaced as proper errors: 429 OTP_RATE_LIMITED while the cooldown is active, and 502 OTP_DELIVERY_FAILED if the SMS gateway rejected the message — the FE should show a retry CTA on the latter. Cooldown is NOT set on delivery failure so retries are immediate. NOTE: this endpoint does NOT 409 when the MSISDN is already linked to an existing AppUser — SA MNOs recycle unused numbers, so blocking signup would permanently squat the number on the previous (likely abandoned) account. The count of pre-existing accounts is surfaced on /register/phone/verify (post-OTP) for the FE to render a soft "did you mean to log in?" hint.
Access: Public endpoint.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||