---
title: "Check a signup email and queue a one-time code"
method: POST
path: "/api/auth/otp/request"
---

# Check a signup email and queue a one-time code

`POST /api/auth/otp/request`

## Request

- Base URL: `https://disban.io`
- URL: `https://disban.io/api/auth/otp/request`
- Auth: none declared

Signup requires name/email and passes the backend checker. Login requires email. Account actions require a session and ignore client-supplied email. The response confirms queuing, not delivery. Codes expire 10 minutes after the request and become usable only after the email provider accepts delivery. Resend is limited to once per minute. No account is created until verification.

## Request body

- object
  - `intent` 'signup' | 'login' | 'account', required
  - `email` string, email
  - `name` string
  - `plan_id` 'free'
  - `referral_code` string: Optional referral code; attached only when a new email-verified account is created.
  - `action` 'sign-out-all' | 'delete-history' | 'delete-account'

## Response `200`

Generic delivery acknowledgement with challenge_id

- object

## Other responses

- `400`: Request could not be completed
- `401`: Request could not be completed
- `403`: Request could not be completed
- `409`: Request could not be completed
- `413`: Request could not be completed
- `415`: Request could not be completed
- `429`: Rate or quota limit; honor Retry-After
- `502`: Request could not be completed
- `503`: Request could not be completed

---

[API](https://skmtc.dev/disban/apis/disban-api.md) · [All operations](https://skmtc.dev/disban/apis/disban-api/llms.txt) · [OpenAPI document](https://skmtc.dev/disban/apis/disban-api/revisions/1becfdd524a2?raw)
