Skip to main content
Send a one-time password (OTP) to the provided email address. You must call this endpoint and receive the OTP before calling Sign Up.

Request

POST /auth/signup/request-otp
email
string
required
The email address to send the OTP to.
name
string
The user’s display name. You can provide this here or during the signup step.

Response

message
string
A human-readable status message describing the result.
emailSent
boolean
Indicates whether the OTP was successfully delivered to the email address.
devOtp
string
The raw OTP value, returned only in non-production environments for testing. Empty string in production.
expiresAt
string
ISO 8601 timestamp indicating when the OTP expires. Empty string if unavailable.

Example

curl -X POST http://localhost:8080/auth/signup/request-otp \
  -H "Content-Type: application/json" \
  -d '{"email": "alex@example.com", "name": "Alex"}'
This endpoint is rate limited. If you call it too frequently, you receive a 429 response with a retryAfterSeconds field telling you how long to wait before trying again.

Error codes

StatusMeaning
400email is missing or blank
429Too many OTP requests — check retryAfterSeconds in the response body