Skip to content

Email + password sign-up

POST
/auth/signup
curl --request POST \
--url https://example.com/api/auth/signup \
--header 'Content-Type: application/json' \
--data '{ "email": "hello@example.com", "password": "example", "name": "example", "callback_origin": "example" }'

Admin generateLink (signup) + Mailgun confirmation email. Validates browser Origin, rate-limits by IP. Existing-email cases return the same opaque success as new signups.

Media type application/json
object
email
required
string format: email
password
required
string
>= 6 characters
name
string
<= 200 characters
callback_origin
string
<= 512 characters

Signup initiated — check email to confirm

Media type application/json
object
ok
required
boolean
message
string

Invalid request

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number

Forbidden

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number

Rate limited

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
retryAfter

Seconds until the rate limit resets

number
Retry-After
string

Supabase or Mailgun failure