Skip to content

Send a sign-in link and code, or Stytch's link, to an address. The response is the same whether or not the address has an account.

POST
/auth/email/start
curl --request POST \
--url https://api.siteqwality.com/auth/email/start \
--header 'Content-Type: application/json' \
--data '{ "email": "example", "turnstile_response": "example", "redirect_path": "example", "promotekit_referral": "example" }'
Media type application/json

POST /auth/email/start.

object
email
required
string
turnstile_response
string | null
redirect_path

Where to land after sign-in; silently dropped unless allowlisted.

string | null
promotekit_referral
string | null
Example generated
{
"email": "example",
"turnstile_response": "example",
"redirect_path": "example",
"promotekit_referral": "example"
}

Email sent (or claimed sent, so account existence is not leaked)

Media type application/json

Same body whoever sent the email, so it never reveals whether an account exists.

object
sent
required
boolean
challenge_handle

Null when Stytch sent its own link (no code box).

string | null
expires_in

Seconds until the link and code expire.

integer | null format: int64
code_length
integer | null format: int32
Example generated
{
"sent": true,
"challenge_handle": "example",
"expires_in": 1,
"code_length": 1
}

Invalid email, or turnstile_required

rate_limited

Internal server error

email_send_failed or auth_unavailable