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("HERO","PROMOTIONAL_BANNER","CATEGORY_SHOWCASE","FEATURED_PRODUCTS","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”default(string, required).fr(string, optional).en(string, optional).ar(string, optional).