Landing Pages

Create a landing page

Changed on

Creates a business-scoped landing page using the same page creation behavior as Landing Page Studio. The request body below documents the HTML Mode payload. To create and publish an HTML Mode page in one call, include is_published: true with page_display. If is_published is omitted or false, the nested page_display is saved as an unpublished draft and is not returned as the page's current display; create or pick a page display, then call PATCH /v3/pages/{id} with is_published: true and current_page_display_id to publish it. A saved checkout form initializes an unbound page's store_id from page_display.form_display.store_id, including unpublished drafts. The store must belong to the same business.

post/v3/pages

Request

  • Base URL
    https://api.scalev.com
  • URL
    https://api.scalev.com/v3/pages
  • Auth
    • HTTP bearer
    • or API key in header authorization
    • or OAuth 2
      Authorization code: https://api.scalev.com/v3/oauth/authorize
      Token URL: https://api.scalev.com/v3/oauth/token scopes: page:create

Request body

namestring required
slugstring required
is_publishedboolean

When true, publishes the created nested page_display and makes it the current display. When omitted or false, the nested display is saved as an unpublished draft; the page response will have current_page_display_id: null, page_display: null, and a page-level render_mode fallback until a display is published.

store_idinteger nullable

Optional top-level store association within the same business. When unbound, the page takes its store from page_display.form_display.store_id even for an unpublished draft. Once assigned, the page store cannot be changed or cleared.

Example request

{
  "name": "API HTML Page",
  "slug": "api-html-page",
  "page_display": {
    "html_document": "<!doctype html><html lang=\"id\"><head><title>My page</title><style>main { color: #111827; }</style></head><body><main>Hello</main><script>console.log(Scalev.data.get());</script></body></html>"
  }
}

Response

Landing page

idinteger
unique_idstring
namestring
slugstring
render_mode'builder' | 'html_mode'
is_publishedboolean
published_atstring date-time nullable
store_idinteger nullable

Saved store association: null for a landing page, non-null for a checkout flow, including unpublished checkout drafts. Once assigned, this value is retained even if a later display has no checkout form.

storeobject nullable
tagsstring[]
is_pinnedboolean
created_byobject nullable
last_updated_byobject nullable
created_atstring date-time
last_updated_atstring date-time
uuidstring
businessobject nullable
is_sending_email_invoiceboolean

Deprecated page-level compatibility field; accepted and echoed as stored but not used for delivery. Configure form_display.is_sending_email_invoice on the page display instead. E-Payment invoices are exempt from the form preference, and store notification settings still apply.

is_disable_custom_fontboolean
is_disable_client_taggingboolean
client_analytics_config'head' | 'body_close_delay' | 'web_worker' nullable
custom_domainsobject[]
homepage_custom_domainsobject[]
current_page_display_idinteger nullable

Example response

{
  "page_display": {
    "html_document": "<!doctype html><html lang=\"id\"><head><title>My page</title><style>main { color: #111827; }</style></head><body><main>Hello</main><script>console.log(Scalev.data.get());</script></body></html>"
  }
}

Changes

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added subschema #1 subschema #2 to the request property anyOf list

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      the request property / became optional

    • info

      added the non-success response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the optional property ////// to the response with the status

    • info

      added the new optional request property //////

    • info

      added the optional property /////////// to the response with the status