Register a user and auto-create their company
Register user + auto-create their company. Returns a JWT.
Public endpoint (no auth). On success returns {token, user, company}.
Closed beta gate (2026-05-08): when enabled, every new email must be in
user_whitelist with status='approved' before a users row is
created. Unseen/pending emails are added to the waitlist and get a
{"status": "waitlisted", ...} response instead of a token. Bootstrap
admins (is_admin=TRUE in the whitelist) bypass the personal-email block.
Notable statuses: 409 if the email is already registered, 422 for an invalid or disallowed (personal) email, 403 if the email was rejected.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Sign-up payload — creates the user and auto-creates their company.
Response Body
application/json
curl -X POST "https://example.com/auth/register" \ -H "Content-Type: application/json" \ -d '{ "company_name": "Acme Health", "email": "jane.doe@acme-health.com", "name": "Jane Doe", "password": "<your-password>" }'null