Create an account
Registers an account and returns a session token for API access.
Access: Public. No authentication required.
- Creates an initial workspace and an empty personal wallet. Set
billing_currencyto save the account's USD or IDR preference. - Passwords must be 10–72 bytes. Signup is limited to 10 requests per minute per IP.
- When Turnstile is enabled, include a fresh proof with action
signup.
application/json- body
cf-turnstile-response?TurnstileTokenFresh, single-use Turnstile proof. Required when the security check is enabled, valid for at most five minutes, with the handler's expected action and approved frontend hostname. Never persist or reuse it.
1 <= length <= 2048email*stringemailpassword*string10 to 72 characters.
password10 <= length <= 72org_name?stringSignup only. Defaults to your email.
length <= 100onboarding?booleanSignup only, default false. Defers organization name, billing currency and manual referral to session-only account setup. Do not combine with those fields. Existing API clients retain immediate setup when omitted.
billing_currency?stringSignup only. Saves the new user's personal default; IDR requires configured pricing. Login ignores this field.
"USD""IDR"referral_code?stringOptional eight-character referral code, case-insensitive. Legacy links remain accepted. Browser signup preserves its first valid attribution cookie.
length <= 30Account created
application/json- response
user*org_id*stringYour organization.
session*curl -X POST 'https://layerbeat.com/v1/auth/signup' \ -H 'Content-Type: application/json' \ -d '{ "email": "you@example.com", "password": "a long passphrase", "org_name": "My Company"}'{ "user": { "id": "usr_k3ndb7vq2xw6y4mt9rf8hz5pae", "email": "you@example.com" }, "org_id": "org_5hxk2m7p4wq3z6tfjn8r9bcdva", "session": { "token": "lb_sess_ab12cd34ef56gh78ij90kl12mn.Zm9vYmFyYmF6cXV4", "expires_at": "2026-10-08T10:00:00Z" }}