Record a decision on a pending creative review
Approve or reject a pending creative review. Only pending → approved or pending → rejected transitions are allowed; revoking an approved creative is a separate gesture.
Documentation Index
Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API key or access token
Path Parameters
AdCP creative id as supplied by the buyer.
1"cr_abc123"
Body
Request body for the operator decide endpoint. Records a terminal decision against a pending creative review row.
Decision to record. Must be approved or rejected — revoked is a separate gesture and is not allowed here.
approved, rejected Optional free-text note from the reviewer (e.g. reason for rejection). Visible to the buyer in their sync_creatives follow-up.
2000Response
Record a decision on a pending creative review
A single creative review queue row — one buyer-submitted creative awaiting (or having received) an operator decision.
Surrogate row id (BIGINT serialized as string).
"42"
Storefront the submission was made against.
"1234"
AdCP creative id as submitted by the buyer.
"cr_abc123"
AdCP media_buy_id this creative was associated with at submit time, if any. Null when the buyer attaches creatives independently of a buy.
customer_id of the buyer that submitted the creative — the tenancy boundary on buyer-side reads.
-9007199254740991 <= x <= 9007199254740991Verbatim AdCP sync_creatives entry. The storefront stores the raw payload so the forwarder can reproduce it 1:1 to the upstream salesagent when the creative is approved.
Lifecycle state of a buyer-submitted creative awaiting storefront review. pending until an operator decides; approved or rejected after a decision; revoked if an operator pulls a previously-approved creative.
pending, approved, rejected, revoked User id of the operator who decided this review (BIGINT serialized as string). Null while pending.
Decision timestamp (ISO 8601). Null while pending.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Free-text reviewer note attached at decide time. Null when the operator did not supply one.
Submission timestamp (ISO 8601).
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Last-modified timestamp (ISO 8601). Equal to created_at while pending; bumped when the row transitions to a decided state.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$