Built-in order page

The order-page endpoints let you read and update your company's order-page configuration. Only fields in the safe field catalog are writable through the API — sensitive settings (raw HTML/CSS/JS, payment amounts, commissions) are intentionally excluded.

Hosted order page as your storefront

The hosted order page is the fastest way to start selling, because there is no frontend to build: Lifepeaks serves the page and keeps checkout, payment and delivery working, and you shape it through these endpoints — branding, colors, copy, links and images. Treat it as the quick-start path.

Build your own storefront when you need a fully custom experience. That path uses the catalog, quote, order, checkout-session, and webhook resources described in Headless checkout. Order-page configuration endpoints apply only to the Lifepeaks-hosted storefront.

Endpoints

MethodPathScopeDescription
GET/v2/order-pageorderpage:readGet current config
PATCH/v2/order-pageorderpage:writePartially update config
GET/v2/order-page/schemaorderpage:readList safe configurable fields
GET/v2/order-page/revisionsorderpage:readList published, archived, and draft revisions
POST/v2/order-page/draftsorderpage:writeCreate an isolated draft
GET, PATCH/v2/order-page/drafts/{revision_id}orderpage:read / orderpage:writeRead or edit a draft
GET/v2/order-page/drafts/{revision_id}/previeworderpage:readRead the exact no-cache preview payload
POST/v2/order-page/drafts/{revision_id}/publishorderpage:writePublish a reviewed draft
POST/v2/order-page/revisions/{revision_id}/restoreorderpage:writeCopy an older revision into a new draft

For customer-facing changes, use a draft instead of patching the live page directly:

  1. Read GET /v2/order-page/schema and accept only its safe fields.
  2. Create a draft with a stable Idempotency-Key at POST /v2/order-page/drafts.
  3. Store the returned opr_… revision ID and ETag.
  4. Update fields with PATCH /v2/order-page/drafts/{revision_id} and the current If-Match value.
  5. Read the private, no-store preview payload.
  6. Publish the reviewed draft with the newest If-Match and an independent Idempotency-Key.
bash
curl -sS -X POST https://api.lifepeaks.dk/v2/order-page/drafts \
  -H "Authorization: Bearer $LIFEPEAKS_API_KEY" \
  -H "Idempotency-Key: order_page_draft_018f4f37" \
  -H "Content-Type: application/json" \
  -d '{"lang":"da-DK","name":"Autumn campaign"}'

If-Match prevents one editor from silently overwriting another. A stale tag returns 412; read the current draft, reconcile the changes, and retry with its new tag. Publishing archives the previous published revision rather than mutating it.

Restoring is also non-destructive. POST /v2/order-page/revisions/{revision_id}/restore copies the selected revision into a new draft for review and publication; it never rewrites history.

GET /v2/order-page

Returns the current order-page configuration, including all safe field values and image URLs.

Query parameters:

ParameterTypeDescription
langstringBCP 47 locale for i18n fields (e.g. da-DK, en-GB). Defaults to en-GB.
companystringSlug of an assigned company to read instead of your own. See Endpoints — Conventions.

Example request:

bash
curl -H "Authorization: Bearer lp_live_..." \
  "https://api.lifepeaks.dk/v2/order-page?lang=da-DK"

Response 200:

json
{
  "fields": {
    "orderform_company_box_bg": "#1a2b3c",
    "orderform_signup_text": "Tilmeld dig eksklusive fordele",
    "orderform_unsplash_enabled": 1,
    "gtm": "GTM-ABC1234"
  },
  "images": {
    "logo": ["https://cdn.lifepeaks.dk/company/42/logo.png"]
  }
}

PATCH /v2/order-page

Partially updates the order-page configuration. Include only the fields you want to change.

Query parameters:

ParameterTypeDescription
langstringBCP 47 locale for i18n fields (overridden by lang in the request body if both are supplied).
companystringSlug of an assigned company to update instead of your own. It may also be sent as a company field in the request body, where the query string wins if both carry it. See Endpoints — Conventions.

Example request — update brand color and Danish signup text:

bash
# Update brand color (not i18n, no lang needed)
curl -X PATCH \
  -H "Authorization: Bearer lp_live_..." \
  -H "Content-Type: application/json" \
  -d '{"orderform_company_box_bg": "#2d3a8c"}' \
  https://api.lifepeaks.dk/v2/order-page

# Update Danish copy (i18n field, pass lang)
curl -X PATCH \
  -H "Authorization: Bearer lp_live_..." \
  -H "Content-Type: application/json" \
  -d '{"orderform_signup_text": "Tilmeld dig eksklusive fordele", "lang": "da-DK"}' \
  https://api.lifepeaks.dk/v2/order-page

Returns the full updated config (200) on success. Returns 422 if a field is unknown, the wrong type, or exceeds its max length.

GET /v2/order-page/schema

Returns the allow-list of configurable fields with their types, constraints, and grouping.

Example response (abbreviated):

json
{
  "fields": [
    {
      "field": "orderform_signup_text",
      "type": "string",
      "max": 2000,
      "i18n": true,
      "group": "copy",
      "table": "company_orderform"
    },
    {
      "field": "orderform_company_box_bg",
      "type": "color",
      "max": 7,
      "i18n": false,
      "group": "theme",
      "table": "company_orderform"
    }
  ]
}

Safe field catalog

Fields are organized into five groups. Only these fields are accepted in PATCH /v2/order-page.

theme

Color tokens for the order-page UI.

FieldTypeMaxNotes
orderform_company_box_bgcolor7Background color of the company box. Must be #rrggbb.

copy (i18n-capable)

Text strings displayed on the order page. Pass lang to write or read in a specific locale.

FieldTypeMaxi18n
orderform_text_optionstringyes
orderform_text_valuestringyes
orderform_text_variantstringyes
orderform_text_eventstringyes
orderform_text_specialofferstringyes
orderform_text_ticketcouponstringyes
orderform_signup_textstring2000yes
taglinestringyes
payment_terms_allstringyes
payment_terms_ticketstringyes
payment_terms_benefitdealstringyes
footer_namestring4000yes

URLs and link-related strings.

FieldTypeMax
order_linkstring1000
order_link_textstring100
order_link_subheadingstring255
order_logo_link_urlstring1000
orderform_policy_linkstring255
orderform_policy_link_benefit_dealsstring255
orderform_thankyou_redirectstring1000

flags

Boolean toggles — integer 0 or 1.

FieldMeaning when 1
orderform_greetings_with_imageInclude image in greeting card flow
orderform_unsplash_enabledAllow Unsplash images in greetings
specials_with_greetingsEnable greetings for special offers
benefitdeals_with_greetingsEnable greetings for benefit deals
manually_created_personalizeEnable personalization for manually created items
variants_visible_only_directHide variants from aggregated listing
tickets_visible_only_directHide tickets from aggregated listing
specials_visible_only_directHide specials from aggregated listing
ticketcoupons_visible_only_directHide ticket coupons from aggregated listing
orderform_gc_phone_requiredRequire phone number on gift card checkout
link_priority_orderShow custom link above product list
custom_mail_sender_enabledUse company custom mail sender
variant_images_fullShow variant images full-width
orderform_logo_full_widthRender logo full-width
logo_in_menuShow logo inside navigation menu
postmail_use_phoneUse phone for postal mail contact

other

FieldTypeMaxNotes
orderform_languagescsv20Comma-separated locale codes, e.g. da-DK,en-GB
preset_buttonscsvComma-separated preset amount buttons
gtmgtm20Google Tag Manager ID, format GTM-XXXXXXX

Field type validation

TypeAccepted values
stringAny string within the max length limit
boolInteger 0 or 1 (or string "0" / "1")
color7-character hex #rrggbb (case-insensitive)
gtmGTM- followed by uppercase alphanumeric characters, max 20 chars
csvComma-separated string within the max length limit
intInteger value

i18n (per-locale values)

Fields with i18n: true can be written in any supported locale by passing a lang key alongside the field map:

json
{
  "orderform_signup_text": "Tilmeld dig eksklusive fordele",
  "lang": "da-DK"
}

Omitting lang writes to the default locale (en-GB). Supported locales include da-DK and en-GB. To read in a specific locale, pass ?lang=da-DK on GET /v2/order-page.

What is NOT writable

The following categories of fields are intentionally excluded from the safe-field catalog and will be rejected with 422:

  • Raw HTML, CSS, or JavaScript (orderform_css, orderform_code, etc.)
  • Payment fees and commission rates
  • Any field not returned by GET /v2/order-page/schema