Skip to content

Make an account

POST
/storefront/sites/{host}/account/sign-up
curl --request POST \
--url https://example.com/storefront/sites/northgate.shop.getbottle.app/account/sign-up \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "email": "hello@example.com", "password": "example", "marketingConsent": true }'

Deliberately without a staff session: a shopper on the business’s own shop. Always 202, whether or not the email has an account. A new email gets a link to confirm it (24 hours); one with an account gets an email saying so. Nothing is joined to any customer until the email is confirmed.

host
required
string
Example
northgate.shop.getbottle.app
Media typeapplication/json
object
name
required
string
>= 1 characters <= 120 characters
email
required
string format: email
<= 200 characters
password
required
string
>= 10 characters <= 200 characters
marketingConsent
boolean
Examplegenerated
{
"name": "example",
"email": "hello@example.com",
"password": "example",
"marketingConsent": true
}

Accepted. Says nothing about whether the email has an account.

Refused: the message says why

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}

Not from the shop itself, or the email is not confirmed yet

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}

Not a shop. No body.

A real shop not selling now (shop_closed)

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}

Validation failed

Media typeapplication/json
object
error
required
string
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string
Example
{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}

Too many tries

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}