If you are not receiving sets yet, nothing is missing — see
Availability.
Why a set is approved as a whole
Each member of a set carries anetAllocationDelta — the amount that media buy
gains or gives up. Those are transfers, not standalone recommendations, and they
sum to exactly zero across the set.
That is why there is no way to approve one media buy’s share on its own.
Approving a +4000 minor units without its offsetting -4000 would create
budget that the plan never freed; approving the -4000 alone would strand it. And rescaling a
subset so it balances by itself produces an allocation the optimizer never
evaluated against your goals or your sellers’ capacity. So the set is the unit:
you approve all of it, or none of it.
The per-media-buy breakdown is there so you can see what the transfer does —
read a single set to get it.
It is not there so that parts of it can be actioned separately.
The lifecycle of a set
1
Awaiting messages
The optimizer publishes one message per media buy it evaluated, and they
arrive independently. Until all of them have, the set is incomplete and
Interchange will not act on it — applying half a transfer would leave your
plan’s budget unbalanced. A set can sit here legitimately while the rest of
the run arrives.
2
Awaiting approval
The set is complete and balanced, and it is yours to decide. You are notified
when a set reaches this state.
Statuses you may see
SUPERSEDED, EXPIRED and PARKED are all terminal and require nothing from
you. Of the states above, only AWAITING_APPROVAL is actionable.
These are the states a set can reach today. The status filter accepts the full
enum, and further states will appear as automatic application of an approved set
ships — so treat an unrecognised status as “not actionable by me” rather than
assuming this list is closed.
Finding sets that need you
List plan suggestion sets and filter onstatus=AWAITING_APPROVAL to see just the decisions outstanding.
You can also filter by planId or campaignId.
The list gives you each set’s planMediaBuyCount but not its per-media-buy
breakdown — a single plan can span many media buys, and a list is for finding the
set you care about. Fetch that one set to see where the money goes.
planMediaBuyCount is the number of media buys the optimizer declared for
the run, not the number reported so far. A set still in AWAITING_MESSAGES can
declare four and return an empty mediaBuys array, because membership is fixed
only once the set is complete.
How a set relates to a suggestion
A plan suggestion set is made of ordinary optimization suggestions — one per member media buy — and each still appears throughGET /api/v2/buyer/optimization-suggestions as usual. What changes is where the
decision lives: a suggestion that belongs to a set cannot be approved or rejected
on its own, and attempting it returns 409 naming the set to decide instead.