Skip to main content
POST
/
creative-reviews
/
{creativeId}
/
evaluate
Evaluate a pending creative review
curl --request POST \
  --url https://api.interchange.io/api/v2/storefront/creative-reviews/{creativeId}/evaluate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "acceptance_policy_text": "<string>",
  "expected_brand": "<string>",
  "questions": [
    "<string>"
  ]
}
'
{
  "creativeId": "cr_abc123",
  "evaluatorId": "<string>",
  "evaluatorVersion": "<string>",
  "summary": "<string>",
  "checks": [
    {
      "label": "<string>",
      "detail": "<string>",
      "evaluator_id": "<string>",
      "evaluator_version": "<string>",
      "code": "<string>",
      "blocking": true,
      "confidence": 0.5,
      "evidence_refs": [
        "<string>"
      ],
      "remediation": "<string>"
    }
  ],
  "answers": [
    {
      "question": "<string>",
      "answer": "<string>",
      "confidence": 0.5
    }
  ]
}

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 advisory AI evaluation of a pending storefront creative review.

acceptance_policy_text
string

Optional storefront acceptance policy text for evaluating whether a buyer-submitted creative can be approved. This may include advertiser/category rules, creative asset rules, and manual-review workflow requirements.

Required string length: 1 - 50000
expected_brand
string

Optional brand the creative is expected to represent. If omitted, the evaluator tries to infer brand evidence from the submitted creative payload.

Required string length: 1 - 200
questions
string[]

Optional specific questions for the evaluator to answer about the creative.

Maximum array length: 8
Required string length: 1 - 300

Response

Evaluate a pending creative review

Advisory AI evaluation for a storefront creative review row. Evaluation does not approve or reject the creative.

creativeId
string
required

AdCP creative id that was evaluated.

Example:

"cr_abc123"

evaluatorId
string
required

Stable evaluator implementation id. Provider-backed evaluators expose the provider here.

evaluatorVersion
string
required

Evaluator implementation version.

status
enum<string>
required

Aggregate advisory status from the evaluator. fail means one or more checks recommend rejection.

Available options:
pass,
warn,
fail
recommendation
enum<string>
required

Advisory operator action. This endpoint never records the decision.

Available options:
approve,
manual_review,
reject
policyDecision
enum<string>
required

Policy confidence for automated creative approval. The safe default is needs_human_approval unless the evaluator has enough evidence to decide the creative is definitely on or off policy.

Available options:
definitely_on_policy,
definitely_not_on_policy,
needs_human_approval
summary
string
required

Short evaluator summary.

checks
object[]
required

Individual policy, brand, readiness, and visual checks supporting the recommendation.

answers
object[]
required

Answers to any requested evaluator questions.