Storefront (admin API)
Admin routes of the storefront module. Every route needs a staff session and the permission named on it; send X-Resolve-Locale: false to receive every locale of a translatable field for editing.
GET /v1/admin/storefront/pages
Section titled “GET /v1/admin/storefront/pages”Get storefront pages
Responses:
200: Pages retrieved.401: Unauthorized.403: Insufficient permissions.
GET /v1/admin/storefront/pages/{pageSlug}/sections
Section titled “GET /v1/admin/storefront/pages/{pageSlug}/sections”Get page sections (admin)
Parameters:
pageSlugin path (string, required).pagein query (number, min 1, optional).pageSizein query (number, min 1, max 100, optional).
Responses:
200: Sections retrieved.401: Unauthorized.403: Insufficient permissions.
POST /v1/admin/storefront/pages/{pageSlug}/sections
Section titled “POST /v1/admin/storefront/pages/{pageSlug}/sections”Create section
Parameters:
pageSlugin path (string, required).
Request body: CreateSectionAdminDto.
Responses:
201: Section created.400: Invalid input.401: Unauthorized.403: Insufficient permissions.
PATCH /v1/admin/storefront/pages/{pageSlug}/sections/reorder
Section titled “PATCH /v1/admin/storefront/pages/{pageSlug}/sections/reorder”Reorder sections
Parameters:
pageSlugin path (string, required).
Request body: ReorderSectionsAdminDto.
Responses:
204: Sections reordered.401: Unauthorized.403: Insufficient permissions.
GET /v1/admin/storefront/public-config
Section titled “GET /v1/admin/storefront/public-config”Public storefront origin and product URL shape
Responses:
200: Config returned.401: Unauthorized.403: Insufficient permissions.
DELETE /v1/admin/storefront/sections/{id}
Section titled “DELETE /v1/admin/storefront/sections/{id}”Delete section
Parameters:
idin path (string, required).
Responses:
204: Section deleted.401: Unauthorized.403: Insufficient permissions.404: Section not found.
PATCH /v1/admin/storefront/sections/{id}
Section titled “PATCH /v1/admin/storefront/sections/{id}”Update section
Parameters:
idin path (string, required).
Request body: UpdateSectionAdminDto.
Responses:
200: Section updated.400: Invalid input.401: Unauthorized.403: Insufficient permissions.404: Section not found.
PATCH /v1/admin/storefront/sections/{id}/visibility
Section titled “PATCH /v1/admin/storefront/sections/{id}/visibility”Toggle section visibility
Parameters:
idin path (string, required).
Request body: ToggleVisibilityAdminDto.
Responses:
200: Visibility toggled.400: Invalid input.401: Unauthorized.403: Insufficient permissions.404: Section not found.
Schemas
Section titled “Schemas”CreateSectionAdminDto
Section titled “CreateSectionAdminDto”pageSlug(string, pattern^[a-z0-9-/]+$, max length 200, optional).type("CATEGORY_SHOWCASE","FEATURED_PRODUCTS","HERO","PROMOTIONAL_BANNER","TRUST_SIGNALS", required).title(TranslatableDto, optional).config(object, required).sortOrder(number, min 0, optional).isVisible(boolean, optional).visibleFrom(string, optional).visibleUntil(string, optional).
ReorderSectionsAdminDto
Section titled “ReorderSectionsAdminDto”orderedIds(array of string, required).
ToggleVisibilityAdminDto
Section titled “ToggleVisibilityAdminDto”isVisible(boolean, required).visibleFrom(string, optional).visibleUntil(string, optional).
TranslatableDto
Section titled “TranslatableDto”fr(string, optional).en(string, optional).ar(string, optional).default(string, required).
UpdateSectionAdminDto
Section titled “UpdateSectionAdminDto”