Create a custom page
Create a merchant-authored page (kind=custom) in one locale. Starts as a draft — publish it via PATCH. A taken slug returns 409.
Create a custom page › Request Body
slug^[a-z0-9]+(?:-[a-z0-… · requiredlocaletitlebodyHtmlmetaTitlemetaDescriptionshowInFooterpositionCreate a custom page › Responses
Custom page created (draft)
successGet the legal profile
The merchant facts (RC/NIF, contact, return and delivery windows) substituted into the legal templates. Never null-guarded on the client — an unset store returns an all-null row shape.
Get the legal profile › Responses
The legal profile, or null if never set
successdataSave the legal profile
Partial update — send only the fields you want to change. Filling in a fact here does NOT retroactively edit already-seeded pages; use the reset endpoint per page to re-apply the template with the new facts.
Save the legal profile › Request Body
legalNamercNumbernifaddresscontactEmailcontactPhonereturnWindowDaysdeliveryMinDaysdeliveryMaxDaysSave the legal profile › Responses
Saved legal profile
successdataSeed the 4 default legal pages
Creates whichever of Terms/Privacy/Refund/Shipping this store does not already have. Idempotent — safe to call repeatedly; returns which kinds were newly created (empty array when all 4 already exist).
Seed the 4 default legal pages › Responses
Which kinds were created
successGet store page
Full page detail: settings and the complete body for every locale that has been saved.
path Parameters
idStore Page UUID
Store Page UUID
Get store page › Responses
Store page detail
successUpdate store page settings
Partial update of slug, publish status, footer visibility, and footer position. To edit the page's words, use the translation endpoints. A taken slug returns 409.
path Parameters
idStore Page UUID
Store Page UUID
Update store page settings › Request Body
slug^[a-z0-9]+(?:-[a-z0-…statusshowInFooterpositionUpdate store page settings › Responses
Store page updated
successDelete a custom page
Permanently delete a custom page. A legal page (terms/privacy/refund/shipping) cannot be deleted — unpublish it instead (PATCH status=draft). Refused with STORE_PAGE_CANNOT_DELETE_LEGAL otherwise.
path Parameters
idStore Page UUID
Store Page UUID
Delete a custom page › Responses
Page deleted
successSave a page's translation
Save this page's title and body in one locale. The body is sanitised server-side (the same allow-list used for product descriptions) before it is stored — this is the only way to write a page's content. Marks this locale as merchant-reviewed (source=merchant).
path Parameters
idStore Page UUID
Store Page UUID
localeSave a page's translation › Request Body
titlebodyHtmlmetaTitlemetaDescriptionSave a page's translation › Responses
Saved translation
successReset a translation to the Wocart template
Discards whatever is currently saved for this locale and re-renders it from the current legal template and this store's legal profile. Only legal kinds have a template — called on a custom page it is refused with STORE_PAGE_NOT_LEGAL.
path Parameters
idStore Page UUID
Store Page UUID
localeReset a translation to the Wocart template › Responses
Re-seeded translation
success