Skip to content

Check a custom HTML, CSS and JavaScript shop template

POST
/storefront/themes/code/check
curl --request POST \
--url https://example.com/storefront/themes/code/check \
--header 'Content-Type: application/json' \
--cookie __Host-bottle.session_token=<__Host-bottle.session_token> \
--data '{ "archive": "example" }'

Validates a bounded ZIP in a credential-free compiler child, without executing uploaded code or writing files. Returns only the checked manifest and file sizes. Counts towards the same processing and rolling upload allowance as an import.

Media typeapplication/json
object
archive
required
string
>= 4 characters <= 5592408 characters /^[A-Za-z0-9+/]+={0,2}$/

Example generated

{
"archive": "example"
}

Checked manifest and files

Media typeapplication/json
object
manifest
required
object
format
required
string
Allowed values: bottle-template
schemaVersion
required
number
Allowed values: 1
name
required
string
>= 1 characters <= 80 characters
description
string
"" <= 240 characters
pages
required
object
home
required
string
Allowed values: index.html
products
string
<= 100 characters /^(?:[a-z0-9][a-z0-9_-]*\/){0,3}[a-z0-9][a-z0-9_-]*\.(?:html|css|js|png|jpg|jpeg|webp)$/
category
string
<= 100 characters /^(?:[a-z0-9][a-z0-9_-]*\/){0,3}[a-z0-9][a-z0-9_-]*\.(?:html|css|js|png|jpg|jpeg|webp)$/
page
string
<= 100 characters /^(?:[a-z0-9][a-z0-9_-]*\/){0,3}[a-z0-9][a-z0-9_-]*\.(?:html|css|js|png|jpg|jpeg|webp)$/
styles
Array<string>
default: <= 4 items
scripts
Array<string>
default: <= 4 items
files
required
Array<object>
<= 32 items
object
path
required
string
<= 100 characters
bytes
required
integer
totalBytes
required
integer
<= 8388608

Example

{
"manifest": {
"format": "bottle-template",
"schemaVersion": 1,
"description": "",
"pages": {
"home": "index.html"
},
"styles": [],
"scripts": []
}
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

The plan does not include a shop

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Without the permission this needs

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

The shop is off, or the draft changed since base

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Invalid theme, or the saved-theme allowance is full

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 requests, or theme processing is busy

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}