decline_proposals records that the buyer evaluated one or more proposals and will not pursue them. The operation is terminal: a seller must reject later refine_proposals or new logical create_media_buy attempts for a declined proposal with INVALID_STATE. Exact retries of an earlier successful call still follow the shared idempotency replay contract. A proposal that was already executed cannot subsequently be declined and returns unable.
Request schema: /schemas/3.0.23/media-buy/decline-proposals-request.json
declined or unable outcome and preserves request order. Retrying with the same idempotency key replays the original response. Declining the same proposal again under a new key also returns declined while preserving the first recorded reason and detail, making the terminal state semantically idempotent.
When opportunity is present, every proposal must belong to its opportunity_id. Proposal outcomes are independent, but the opportunity update is applied only if every result is declined; any unable result leaves the opportunity unchanged.
The request does not carry proposal_version. Each proposal_id identifies one immutable commercial snapshot; refine_proposals mints a new ID whenever terms change.