Request a magic sign-in link by email
POST /auth/magic
Always 200 (no account enumeration). The link expires in 15 minutes and is single-use. Rate limited per IP and 3/15min per email.
Request
Body (application/json)
email(string, required)display_name(string)turnstile_token(string): Only when answering a Turnstile challenge (see the hourly cap).
Responses
200
Accepted (sent if the address is deliverable)
ok(boolean, required)
default
Error as { error: { code, message } }
error(object, required)code("unauthorized" | "forbidden" | "not_found" | "invalid" | "conflict" | "rate_limited" | "cross_site" | "upstream", required)message(string, required)
Example
curl -X POST \
-H "Content-Type: application/json" \
-d '{"email":"string"}' \
https://cupof.ai/auth/magic