Skip to main content

Unpublish Storefront

Take the live visitor page of a storefront (Creator page) down.

The path is nested under the storefront UUID. There is no request body. The saved draft is left as it was. This call does not require an active Easytools plan — a live page can always be taken down. See Active plan required.

Unpublishing a storefront that is already a draft is 200 and still returns a fresh preview_url.

Request​

POST /storefronts/{id}/unpublish

Path Parameters​

ParameterTypeRequiredDescription
idstringYesStorefront UUID

Example Request​

curl -X POST "https://cart.easy.tools/api/v1/storefronts/b10f5980-d653-4494-ad1c-6a9d68c96d19/unpublish" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"

Response​

Success Response (200)​

Returns the same lean identity as a Get Storefronts list item, plus a required preview_url. status is draft, public_url is null, and published_at is null.

{
"id": "b10f5980-d653-4494-ad1c-6a9d68c96d19",
"slug": "my-studio",
"name": "My Studio",
"status": "draft",
"public_url": null,
"preview_url": "https://cart.easy.tools/storefront-preview/b10f5980-d653-4494-ad1c-6a9d68c96d19?expires=1788355193&signature=e491397e0a53d7fef406f950b1ae8def3f435f9acbfbf2ec26d2660259826440",
"domains": [
{
"domain": "mysite.com",
"status": "configured",
"include_www": true
}
],
"created_at": "2026-03-12T10:00:00+00:00",
"updated_at": "2026-09-02T12:19:53+00:00",
"published_at": null
}

preview_url is a fresh signature on every call, including when the storefront was already a draft. The expires / signature query in this example will already be stale; the shape is what matters. See Draft preview.

Response Fields​

Same lean projection as a Get Storefronts list item, plus:

FieldTypeNullableDescription
preview_urlstringNoTemporary signed URL of the saved draft. Expires after about one hour. See Draft preview.

Error Responses​

Bad Request (400)​

Returned when {id} is not a UUID.

{
"message": "Invalid storefront ID"
}

Not Found Error (404)​

Returned when the UUID does not exist, belongs to another store, or points at a deleted storefront.

{
"message": "Storefront not found"
}

Unauthorized (401)​

{
"message": "Unauthenticated."
}

Forbidden (403)​

Returned when your API key has not been granted access to the requested store.

{
"message": "You do not have API access to the requested store."
}

Too Many Requests (429)​

Returned when you exceed the rate limit. The Retry-After response header gives the number of seconds to wait.

{
"message": "Too many requests. Please retry after 60 seconds."
}