POST /auth/otp/send
Send a one-time code to the user’s email (or SMS, depending on project configuration). The user can then use POST /auth/otp/verify to authenticate without a password.
Rate limiting: OTP send is rate-limited per email and per IP to prevent abuse.
Endpoint
POST /api/v1/public/projects/:projectSlug/auth/otp/sendRequest Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
projectSlug | string | ✅ | Your project’s unique slug |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
email | string | ✅ | Email address to send the OTP to |
Example Request Body
{
"email": "user@example.com"
}Response
Success (200 OK)
{
"status": "ok"
}Error Responses
| Status Code | Error Code | Description |
|---|---|---|
| 400 | INVALID_REQUEST | Invalid email or validation failed |
| 404 | USER_NOT_FOUND | No user with this email (if configured to require existing user) |
| 429 | RATE_LIMIT_EXCEEDED | Too many OTP requests for this email or IP |
| 500 | INTERNAL_SERVER_ERROR | Server error |
Available Hooks
- Event:
auth.otp.send- When: After OTP is sent (or queued)
- Can do: Log OTP sends, integrate with custom messaging systems
Configure in Project → Hooks. Learn more about hooks →
Try It Now
POST
https://api.aerocall.app/api/v1/public/projects/your-project/auth/otp/sendRelated Endpoints
- POST /auth/otp/verify - Verify the code and get a JWT
- POST /auth/login - Password-based login