Skip to main content
POST
/
creative-reviews
/
{creativeId}
/
decide
Record a decision on a pending creative review
curl --request POST \
  --url https://api.interchange.io/api/v2/storefront/creative-reviews/{creativeId}/decide \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "id": "42",
  "storefrontId": "1234",
  "creativeId": "cr_abc123",
  "mediaBuyId": "<string>",
  "buyerCustomerId": 0,
  "submittedPayload": "<unknown>",
  "reviewedBy": "<string>",
  "reviewedAt": "2023-11-07T05:31:56Z",
  "reviewerNotes": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z"
}

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

Authorization
string
header
required

API key or access token

Path Parameters

creativeId
string
required

AdCP creative id as supplied by the buyer.

Minimum string length: 1
Example:

"cr_abc123"

Body

application/json

Request body for the operator decide endpoint. Records a terminal decision against a pending creative review row.

status
enum<string>
required

Decision to record. Must be approved or rejectedrevoked is a separate gesture and is not allowed here.

Available options:
approved,
rejected
reviewer_notes
string

Optional free-text note from the reviewer (e.g. reason for rejection). Visible to the buyer in their sync_creatives follow-up.

Maximum string length: 2000

Response

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.

id
string
required

Surrogate row id (BIGINT serialized as string).

Example:

"42"

storefrontId
string
required

Storefront the submission was made against.

Example:

"1234"

creativeId
string
required

AdCP creative id as submitted by the buyer.

Example:

"cr_abc123"

mediaBuyId
string | null
required

AdCP media_buy_id this creative was associated with at submit time, if any. Null when the buyer attaches creatives independently of a buy.

buyerCustomerId
integer
required

customer_id of the buyer that submitted the creative — the tenancy boundary on buyer-side reads.

Required range: -9007199254740991 <= x <= 9007199254740991
submittedPayload
any
required

Verbatim 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.

status
enum<string>
required

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.

Available options:
pending,
approved,
rejected,
revoked
reviewedBy
string | null
required

User id of the operator who decided this review (BIGINT serialized as string). Null while pending.

reviewedAt
string<date-time> | null
required

Decision timestamp (ISO 8601). Null while pending.

Pattern: ^(?:(?:\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))$
reviewerNotes
string | null
required

Free-text reviewer note attached at decide time. Null when the operator did not supply one.

createdAt
string<date-time>
required

Submission timestamp (ISO 8601).

Pattern: ^(?:(?:\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))$
updatedAt
string<date-time>
required

Last-modified timestamp (ISO 8601). Equal to created_at while pending; bumped when the row transitions to a decided state.

Pattern: ^(?:(?:\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))$