POST
/api/account/signup
const url = 'https://example.com/api/account/signup';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"email":"hello@example.com","password":"example","firstName":"example","lastName":"example","dateOfBirth":"2026-04-15","phone":"example","addressLine1":"example","addressLine2":"example","city":"example","state":"example","postCode":"example","country":"example","acceptedTerms":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/account/signup \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "email": "hello@example.com", "password": "example", "firstName": "example", "lastName": "example", "dateOfBirth": "2026-04-15", "phone": "example", "addressLine1": "example", "addressLine2": "example", "city": "example", "state": "example", "postCode": "example", "country": "example", "acceptedTerms": true }'Registers a new customer account (or claims an unclaimed one for the same email) and returns a customer-scope bearer token.
Authorizations
Section titled “Authorizations ”Request Body
Section titled “Request Body ”object
email
required
string format: email
password
required
string
firstName
required
string
lastName
required
string
dateOfBirth
required
string format: date
phone
string
addressLine1
string
addressLine2
string
city
string
state
string
postCode
string
country
string
acceptedTerms
boolean
Example generated
{ "email": "hello@example.com", "password": "example", "firstName": "example", "lastName": "example", "dateOfBirth": "2026-04-15", "phone": "example", "addressLine1": "example", "addressLine2": "example", "city": "example", "state": "example", "postCode": "example", "country": "example", "acceptedTerms": true}object
email
required
string format: email
password
required
string
firstName
required
string
lastName
required
string
dateOfBirth
required
string format: date
phone
string
addressLine1
string
addressLine2
string
city
string
state
string
postCode
string
country
string
acceptedTerms
boolean
Example generated
{ "email": "hello@example.com", "password": "example", "firstName": "example", "lastName": "example", "dateOfBirth": "2026-04-15", "phone": "example", "addressLine1": "example", "addressLine2": "example", "city": "example", "state": "example", "postCode": "example", "country": "example", "acceptedTerms": true}object
email
required
string format: email
password
required
string
firstName
required
string
lastName
required
string
dateOfBirth
required
string format: date
phone
string
addressLine1
string
addressLine2
string
city
string
state
string
postCode
string
country
string
acceptedTerms
boolean
Example generated
{ "email": "hello@example.com", "password": "example", "firstName": "example", "lastName": "example", "dateOfBirth": "2026-04-15", "phone": "example", "addressLine1": "example", "addressLine2": "example", "city": "example", "state": "example", "postCode": "example", "country": "example", "acceptedTerms": true}Responses
Section titled “ Responses ”Account created / claimed; token issued.
Media type application/json
Result of a successful signup/login.
object
token
string
expiresAt
string format: date-time
account
The authenticated customer account attached to the current bearer token.
object
id
string format: uuid
email
string
fullName
string
emailVerified
boolean
Example generated
{ "token": "example", "expiresAt": "2026-04-15T12:00:00Z", "account": { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "email": "example", "fullName": "example", "emailVerified": true }}A claimed account already exists for this email.
Media type application/json
object
type
string
title
string
status
integer format: int32
detail
string
instance
string
key
additional properties
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}