Skip to main content
POST /api/v2/storefront/creative-reviews/{creativeId}/preview Requests a preview for one exact package and placement context returned on the creative review row. The context is opaque: the server revalidates the review version, delivery route, provider, capability, package, and placement rather than accepting those identities from the caller.

Request

Parameters

Response

The explicit preview action (labelled Preview on <provider domain>, or Preview on placement for a seller route) sends the exact manifest to the authorized provider, where code or network activity may occur. Existing V2 callers continue to receive preview.result and, when present, the representativeSellerPreview response as opaque inert data. Interchange never executes, mounts, iframes, srcdocs, or prefetches either payload. A separate validated externalOpen envelope is offered only after a second explicit View provider preview gesture through the standard MCP host openLink bridge. The widget never renders an anchor or navigates directly. Every status: "completed" response, including an optional representativeSellerPreview, carries the exact valid expiry supplied by the authorized provider. If the provider expiry is missing, invalid, or already expired, its opaque payload remains inert and has no externalOpen; it cannot be opened. The widget repeats URL, origin, and expiry validation immediately before calling the host bridge. This capability is generally available. The deployment kill switch can disable interactive preview during an operational incident; when disabled, the server issues interactive-preview availability as false, so the widget hides the request action while leaving source inspection and approval available. If no authorized render is available, the endpoint returns status: "source_only". Its authority is placement-specific metadata, while submitted display_tag code and remote VAST are not executed to invent a screenshot. Treat every returned URL or HTML render as untrusted. The separate server-owned artifact renderer remains required for an inline rendered preview; the MCP app does not substitute an iframe.

Errors

  • 400 VALIDATION_ERROR — the review reference or either version digest is malformed.
  • 404 NOT_FOUND — the review context does not exist, is stale, belongs to a different storefront, or no longer matches the requested content digest.
See Errors for the full error contract.

Get a review

Fetch the review and its current preview contexts

Decide a review

Approve or reject after inspection