Polyrankdocs
Auth

POST /v1/auth/magic/start

Send a magic-link email. Rate-limited per caller + per email: a 429 carries `retry_after_seconds` and the `Retry-After` header. When the Turnstile check is enforced, a missing / refused / unverifiable `turnstile_token` is a 400 `bad_request` with `reason` `turnstile_missing` / `turnstile_failed` / `turnstile_unavailable`.

POST
/v1/auth/magic/start

Send a magic-link email. Rate-limited per caller + per email: a 429 carries retry_after_seconds and the Retry-After header. When the Turnstile check is enforced, a missing / refused / unverifiable turnstile_token is a 400 bad_request with reason turnstile_missing / turnstile_failed / turnstile_unavailable.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/auth/magic/start" \  -H "Content-Type: application/json" \  -d '{    "email": "[email protected]"  }'
{  "ok": true,  "dev_link": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 1,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}