Skip to content

Sign in

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

Deliberately without a staff session: a shopper on the business’s own shop. A wrong email and a wrong password are the same 400, bad_credentials. Ten wrong in a row lock the account for 15 minutes (429, locked). An email not yet confirmed is 403, email_unverified, and a fresh link is sent. With an authenticator on, twoFactor is true and only POST two-factor works until the code is given.

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

Signed in, or half way

Media typeapplication/json
object
twoFactor
required
boolean
Examplegenerated
{
"twoFactor": true
}

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"
}