Skip to content
Elara One docs
Customers

Register a customer

POST
/v1/auth/register

Returns a bearer token straight away; verification is not required to use it. A queued verification email linking to the store's storefront verify page is sent once, or none when the store has not set its verify-email URL in Store settings.

Authorization

tenantKey
headerX-Tenant-Key<token>

The public store key (pk_live_…). Required on every call.

Header Parameters

X-Client-IP?string

Optional. IP address of the shopper (one IPv4/IPv6, no port, no list). Honoured only together with a valid X-Tenant-Secret; ignored otherwise. Used for rate limits and recorded with form submissions.

X-Tenant-Secret?string

Optional here. Server secret of the store: server-to-server only, never from a browser. Enables X-Client-IP.

X-Session-Id?string

Optional. The shopper's sid cookie value (8-128 of letters, digits, . _ : -). Links the choice made in this browser to the new customer, and decides whether the sign_up event is kept and the visitor linked to the customer. Read for this request only, compared as a SHA-256 hash, never stored raw. Send it on every write; a malformed value is ignored (never a 422), and leaving it out means "no choice known".

X-Visitor-Id?string

Optional. The vid cookie value, when the shopper has one. Links the choice made in this browser to the new customer, and decides whether the sign_up event is kept and the visitor linked to the customer. Read for this request only, compared as a SHA-256 hash, never stored raw. Send it on every write; a malformed value is ignored (never a 422), and leaving it out means "no choice known".

Request Body

application/json
  1. body

email uniqueness is checked against the users table on whatever connection is default at validation time — inside the tenant middleware group that is always tenant by the time a FormRequest resolves (tenancy is identified before the controller/action pipeline runs), so this is a per-store check, never cross-tenant.

name*string
Lengthlength <= 255
email*string
Formatemail
Lengthlength <= 255
password*string
Length8 <= length
password_confirmation*string
Length8 <= length

Response Body

Success.

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.elaraone.app/api/v1/auth/register' \  -H 'X-Tenant-Key: pk_live_…' \  -H 'X-Tenant-Secret: your-server-secret' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "email": "[email protected]",  "password": "stringst",  "password_confirmation": "stringst"}'
Example Response
{  "data": {    "user": {      "id": 0,      "name": "string",      "email": "string",      "email_verified_at": "string",      "customer_id": 0    },    "token": "string",    "expires_at": "string"  }}