← Back to product·Simulmedia Switchboard Docs · v1 draft·Concepts / Agreements
Concepts

Agreements

An agreement is the relationship, made explicit. It answers what this buyer can see from this seller, at what rates, for which buy types, and how money settles. If you know programmatic, the mental model is a deal ID: presenting it is proof of the relationship, and proof unlocks the terms.

{
  "agreement_id": "agr_71c0d2",
  "buyer": "yourco",
  "seller": "acme",
  "catalog_scope": ["open", "private"],
  "rate_card_refs": ["acme-yourco-2026q4"],
  "permitted_buy_types": ["preemptible", "non_preemptible", "fixed_position", "audience_guaranteed"],
  "settlement_mode": "direct",
  "effective": {
    "start": "2026-10-01",
    "end": "2027-09-30"
  }
}

rate_card_refs names the buyer-scoped cards only you can transact; settlement_mode is direct or cleared, and cleared agreements also carry a credit block. The field-by-field reference lives at the agreement object.

What an agreement unlocks

Presenting an agreement changes what you can see and do on the marketplace, across five dimensions:

  • Visibility: private catalogs and buyer-scoped rate cards appear only when your agreement carries them; open catalogs need no agreement beyond platform access.
  • Pricing: sellers mint rate cards per agreement, the deal-ID-floor pattern: your negotiated rates, invisible to everyone else, validated under the same price-clearance invariant.
  • Buy types and workflow: a seller can allow instant book for trusted buyers and request-and-approve for everyone else.
  • Settlement: direct vs cleared is an agreement property, echoed on every order.
  • Terms: cancellation notice and any posting policy override travel with the relationship, and the order snapshots them at create.

Cancellation and posting terms

Cancellation is negotiated per relationship, not published per package, so it lives here: cancellation_terms carries notice_days and an optional notes for whatever the structured field does not capture. The order snapshots the effective terms by value at create, next to the rate lock, so a later agreement change can never alter a booked order's cancellation rights. Present an agreement_id on POST /orders and its terms attach to that order; omit it and nothing attaches.

The same record may carry posting_policy_overrides, each {package_id, posting_policy} with package_id optionally "*". A make-good trigger you negotiated overrides the one the seller published, per package, and reconciliation resolves the two in that order.

Who enforces what

The platform enforces market rules: identity, catalog integrity, the price invariant, the state machine, the audit trail, settlement mechanics. Participants enforce commercial policy through agreements and their own gates: who may buy, at what rates, with what approvals and credit. Switchboard makes your policy enforceable; it does not write it for you.

Network-scoped PMP deals

A common shape for first private deals: an agreement pinned to a single network's inventory set, with the buyer defining the standing parameters (daypart mix, copy splits, lengths, rate types) that apply to every order drawn under it, the way a deal ID parameterizes a line in a DSP. On Switchboard, that is an agreement whose catalog scope is one network and whose buyer-scoped rate card carries the negotiated terms; orders under it validate against the buyer's declared parameters automatically.