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
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.
Related
Get a review
Fetch the review and its current preview contexts
Decide a review
Approve or reject after inspection