Skip to content

Sign Up

POST
/api/account/signup
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.

object
email
required
string format: email
>= 1 characters <= 256 characters
password
required
string
>= 8 characters <= 128 characters
firstName
required
string
>= 1 characters <= 100 characters
lastName
required
string
>= 1 characters <= 100 characters
dateOfBirth
required
string format: date
phone
string
nullable <= 30 characters
addressLine1
string
nullable <= 200 characters
addressLine2
string
nullable <= 200 characters
city
string
nullable <= 100 characters
state
string
nullable <= 100 characters
postCode
string
nullable <= 20 characters
country
string
nullable <= 100 characters
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
}

Account created / claimed; token issued.

Media type application/json

Result of a successful signup/login.

object
token
string
nullable
expiresAt
string format: date-time
account

The authenticated customer account attached to the current bearer token.

object
id
string format: uuid
email
string
nullable
fullName
string
nullable
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
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}