Skip to main content
GET /api/v2/buyer/planning-briefs Lists the planning briefs the caller customer has shared with publishers. Returns the buyer-facing view — the internal matchScore aggregate is never exposed. Filterable by status and advertiser, offset-paginated.

Request

curl
curl "https://api.interchange.io/api/v2/buyer/planning-briefs?status=QUOTED&limit=20" \
  -H "Authorization: Bearer $SCOPE3_API_KEY"

Parameters

FieldInTypeRequiredNotes
statusqueryenumNoSEARCHING, QUOTED, BOOKED, ABANDONED, or DECLINED
advertiserIdqueryintegerNoFilter to briefs for one advertiser
limitqueryintegerNoMax results (1–100)
offsetqueryintegerNoPagination offset (default 0)

Response

{
  "items": [
    {
      "id": "7391052846",
      "customerId": 100,
      "advertiserId": 12345,
      "buyerName": "Acme Media",
      "advertiserName": "Acme",
      "campaignName": "Q3 CTV Push",
      "audience": "Tech-savvy professionals 25-54",
      "geo": "US, CA",
      "channels": ["ctv", "video"],
      "exclusions": [],
      "startDate": "2026-07-01",
      "endDate": "2026-09-30",
      "flexibility": { "mode": "flexible", "days": 7 },
      "statedBudget": 250000,
      "currency": "USD",
      "primaryKpi": null,
      "priceExpect": null,
      "creativeReady": true,
      "rawPrompt": null,
      "status": "QUOTED",
      "targetingMode": "FILTERED",
      "qualifiedBudget": 180000,
      "recommendedProducts": [],
      "targetCount": 3,
      "responseSummary": { "quotes": 2, "clarifies": 1, "declines": 0, "books": 0 },
      "createdAt": "2026-06-01T10:00:00Z",
      "updatedAt": "2026-06-03T14:22:00Z"
    }
  ],
  "total": 1,
  "hasMore": false,
  "nextOffset": null
}
FieldTypeNotes
itemsarrayBuyer-facing brief views (no matchScore)
items[].idstringBrief ID
items[].statusenumSEARCHING, QUOTED, BOOKED, ABANDONED, DECLINED
items[].targetingModeenumDIRECT, FILTERED, BROAD
items[].targetCountintegerNumber of publisher targets on the brief
items[].responseSummaryobject{ quotes, clarifies, declines, books } counts
totalintegerTotal briefs matching the query
hasMorebooleanWhether more pages exist
nextOffsetinteger | nullOffset for the next page, or null

Errors

  • 400 VALIDATION_ERROR — invalid status enum or out-of-range limit.
  • 401 UNAUTHORIZED — missing or invalid bearer token.
See Errors for the full error contract.

Planning brief tasks

All planning brief operations

Share a planning brief

Create and dispatch

Get planning brief

Brief with target rows