POST /v1/auth/terms/accept
Record that the signed-in account accepts the terms. `version` must be the current one (GET /v1/auth/me `terms.current`); another value is a 400 `terms_version_mismatch` carrying `current`. Accepting twice keeps the first timestamp. Nothing is blocked on acceptance.
Record that the signed-in account accepts the terms. version must be the current one (GET /v1/auth/me terms.current); another value is a 400 terms_version_mismatch carrying current. Accepting twice keeps the first timestamp. Nothing is blocked on acceptance.
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/terms/accept" \ -H "Content-Type: application/json" \ -d '{ "version": "string" }'{ "ok": true, "terms": { "accepted": true, "version": "string", "current": "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", "current": "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": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}POST /v1/auth/siwe/verify POST
Verify a SIWE message + signature. Issues a session cookie on success.
POST /v1/auth/turnkey/relink POST
Re-run the Turnkey email link for the signed-in account, after an email was added and verified in Turnkey. `turnkey_session` is the kit session JWT (`Session.token`). Answers `{ ok: true, merged }` when the email is now on this account and `{ ok: false }` when it was kept separate, without saying why. Session only (not an API key). Rate-limited per caller and per account: a 429 carries `retry_after_seconds`.