---
title: "Validate a landing page display"
method: POST
path: "/v3/pages/{page_id}/page-displays/validate"
tags: ["Landing Pages"]
---

# Validate a landing page display

`POST /v3/pages/{page_id}/page-displays/validate`

Validates the same landing page display payload accepted by create without persisting a page-display record.

## Request body

- LandingPageDisplayRequest
  - `render_mode` 'html_mode' | 'builder', required — HTML Mode requests use `html_mode`. Builder payload details are intentionally not documented here and remain unsupported for public integration guidance; use HTML Mode for API-created pages.
  - `html_code` string — Body-only HTML for HTML Mode.
  - `css_code` string
  - `js_code` string
  - `additional_head_code` string — Additional HTML Mode document head code. Supports title, meta, link, style, script, and noscript tags. User-authored entries override managed SEO, crawler, and favicon convenience tags with the same identity, but do not override Scalev runtime tags or the document language.
  - `csp_policy` HtmlModeCspPolicy — Supported HTML Mode CSP keys. Unsupported keys are rejected.
    - `connect_src` string[]
    - `img_src` string[]
    - `script_src` string[]
    - `style_src` string[]
    - `frame_src` string[]
  - `meta` object, required
  - `form_display` LandingPageFormDisplayRequest
    - `store_id` integer — Required for HTML Checkout pages. After a page has a saved `store_id`, new displays for that page must use the same `form_display.store_id`; a different store or missing store context is rejected.
    - `variant_ids` integer[] — Selected product variants. HTML Checkout requires at least one `variant_id` or `bundle_price_option_id`.
    - `bundle_price_option_ids` integer[] — Selected bundle price options. HTML Checkout requires at least one `variant_id` or `bundle_price_option_id`.
    - `after_submit_event` 'success_page' | 'direct_to_whatsapp' | 'direct_to_custom_whatsapp' | 'other_page' | 'custom_url' | 'is_sending_email_invoice' | 'order_page'
    - `handler_assignment` 'rotator' | 'fixed' — Required for `direct_to_whatsapp`. When fixed, send `store_sales_person_id`.
    - `store_sales_person_id` integer, nullable
    - `custom_phone` string — Required for `direct_to_custom_whatsapp`.
    - `other_page_id` integer, nullable — Required for `other_page`.
    - `custom_url` string — Required for `custom_url`.
    - `onsubmit_fb_events` string[] — Meta/Facebook events fired after HTML Checkout order creation succeeds.
    - `onsubmit_tiktok_events` string[] — TikTok events fired after HTML Checkout order creation succeeds.
    - `onsubmit_kwai_client_events` string[] — SnackVideo browser events fired after HTML Checkout order creation succeeds.
    - `onsubmit_kwai_server_events` string[] — SnackVideo server events fired after HTML Checkout order creation succeeds.
    - `fb_events_onsubmit_parameters` object
    - `tiktok_events_onsubmit_parameters` object
    - `kwai_client_events_onsubmit_parameters` object
    - `kwai_server_events_onsubmit_parameters` object
  - `fb_pixel_ids` integer[] — Scalev record IDs for Meta/Facebook pixels to attach to this page display. These are the numeric Scalev pixel records, not the provider pixel code. Send an empty array for no Meta/Facebook pixels.
  - `tiktok_pixel_ids` integer[] — Scalev record IDs for TikTok pixels to attach to this page display. These are the numeric Scalev pixel records, not the provider pixel code. Send an empty array for no TikTok pixels.
  - `kwai_client_pixel_ids` integer[] — Scalev record IDs for SnackVideo browser pixels to attach to this page display. Send an empty array for no SnackVideo browser pixels.
  - `kwai_server_pixel_ids` integer[] — Scalev record IDs for SnackVideo Events API pixels to attach to this page display. Send an empty array for no SnackVideo server pixels.
  - `onload_fb_events` string[], required — Meta/Facebook events fired automatically when the page loads.
  - `onload_tiktok_events` string[], required — TikTok events fired automatically when the page loads.
  - `onload_kwai_client_events` string[], required — SnackVideo browser events fired automatically when the page loads.
  - `onload_kwai_server_events` string[], required — SnackVideo server events fired automatically when the page loads.
  - `fb_events_onload_parameters` object, required
  - `tiktok_events_onload_parameters` object, required
  - `kwai_client_events_onload_parameters` object, required
  - `kwai_server_events_onload_parameters` object, required

## Response `200`

Landing page display validation result

- LandingPageDisplayValidationResult
  - `valid` boolean, required
  - `validation_warnings` LandingPageDisplayValidationIssue[], required
    - `code` string, required
    - `field` string, required
    - `message` string, required
    - `severity` 'error' | 'warning', required
  - `validation_errors` LandingPageDisplayValidationIssue[], required
    - `code` string, required
    - `field` string, required
    - `message` string, required
    - `severity` 'error' | 'warning', required

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/scalev/apis/nexus-commerce-api.md) · [All operations](https://skmtc.net/scalev/apis/nexus-commerce-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scalev/nexus-commerce-api/revisions/4354959d76dc/schema)
