Skip to main content
GET
/
planning-briefs
/
{briefId}
Get planning brief
curl --request GET \
  --url https://api.interchange.io/api/v2/buyer/planning-briefs/{briefId} \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "customerId": 0,
  "advertiserId": 0,
  "buyerName": "<string>",
  "advertiserName": "<string>",
  "campaignName": "<string>",
  "audience": "<string>",
  "geo": "<string>",
  "channels": [],
  "exclusions": [
    {
      "values": [],
      "raw": "<string>"
    }
  ],
  "startDate": "<string>",
  "endDate": "<string>",
  "flexibility": {
    "days": 4503599627370495
  },
  "statedBudget": 123,
  "currency": "<string>",
  "primaryKpi": {
    "raw": "<string>",
    "parsed": {
      "value": 123
    }
  },
  "priceExpect": 123,
  "creativeReady": true,
  "rawPrompt": "<string>",
  "qualifiedBudget": 123,
  "recommendedProducts": [
    {
      "productId": "<string>",
      "name": "<string>",
      "estimatedCpm": 123,
      "estimatedImpressions": 4503599627370495,
      "estimatedReach": 4503599627370495,
      "matchPct": 50,
      "rationale": "<string>"
    }
  ],
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "targets": [
    {
      "id": "<string>",
      "demandSignalId": "<string>",
      "storefrontId": "<string>",
      "externalPublisherName": "<string>",
      "externalPublisherDomain": "<string>",
      "matchPct": 50,
      "dispatchAttemptedAt": "<string>",
      "dispatchedAt": "<string>",
      "acknowledgedAt": "<string>",
      "errorMessage": "<string>",
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ]
}

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

briefId
integer
required
Required range: x <= 9007199254740991

Response

Get planning brief

A demand signal plus its per-publisher target rows.

id
string
required
customerId
integer
required
Required range: -9007199254740991 <= x <= 9007199254740991
advertiserId
integer | null
required
Required range: -9007199254740991 <= x <= 9007199254740991
buyerName
string
required
advertiserName
string
required
campaignName
string | null
required
audience
string
required
geo
string
required
channels
enum<string>[]
required

Channel the buyer wants to reach. Maps to ADCP MediaType. Lower-case to match the AdCP wire format; only Postgres-enum types use UPPERCASE.

Available options:
display,
native,
video,
audio,
ctv,
dooh,
newsletter,
podcast
exclusions
object[]
required
startDate
string
required
endDate
string
required
flexibility
object
required
statedBudget
number
required
currency
string
required
primaryKpi
object
required
priceExpect
number | null
required
creativeReady
boolean | null
required
rawPrompt
string | null
required
status
enum<string>
required

Lifecycle of a demand signal. SEARCHING on create; QUOTED when at least one seller responds; BOOKED when at least one target converts to a deal; ABANDONED after idle; DECLINED if every target declined.

Available options:
SEARCHING,
QUOTED,
BOOKED,
ABANDONED,
DECLINED
targetingMode
enum<string>
required

DIRECT = buyer named the seller(s). FILTERED = matched ≤5 candidates. BROAD = >5.

Available options:
DIRECT,
FILTERED,
BROAD
qualifiedBudget
number | null
required
createdAt
string
required
updatedAt
string
required
targets
object[]
required