Register a customer
Registers a new customer from a name plus optional contact details and the GDPR marketing optIn flag. Do NOT send an id — it is minted server-side (cust-<uuid>) and any id you send is discarded, so you can never collide with an existing record. The new customer starts on the floor loyalty tier with zero points, spend and orders; read the returned id to address it afterwards.
Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Body
1^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$111Response
The registered customer: the submitted identity/contact, its server-minted id, and the floor tier with zeroed lifetime counters.
The registered customer: the submitted identity/contact, its server-minted id, and the floor tier with zeroed lifetime counters.
1110 <= x <= 9007199254740991x >= 00 <= x <= 9007199254740991^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
