POST /api/v2/storefront/creative-reviews/{creativeId}/decide
Records a terminal decision on a pending creative review. Only pending → approved and pending → rejected transitions are allowed — revoking a previously-approved creative is a separate gesture and revoked is not a valid value here. Approved creatives are forwarded to the underlying sales agent verbatim; your reviewer note travels back to the buyer in their sync_creatives follow-up.
Request
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
creativeId | string | Yes | Path param — AdCP creative id as supplied by the buyer |
status | enum | Yes | Decision to record. approved or rejected only — revoked is not allowed here |
reviewer_notes | string | No | Free-text note visible to the buyer in their sync_creatives follow-up. Max 2000 chars |
Response
CreativeReviewResponse. reviewedBy, reviewedAt, and updatedAt are stamped at decision time. Deciding a row that is already decided is rejected — re-deciding is not a no-op.
Errors
400 VALIDATION_ERROR— missingstatus, orstatusis notapprovedorrejected.404 NOT_FOUND— no creative review row with that id exists for your storefront.
Related
Get a review
Inspect the creative before deciding
List reviews
See the pending queue
Creative review tasks
All creative-review operations
Creative reviews overview
Queue lifecycle and concepts