Choose the setup path
If every buyer request passes through Interchange unchanged to an external
sales agent, stop here. You need the agent connection and authorization, not
an avails pack or a source-input worksheet.
Answer five questions first
Start in customer language. Different systems or people may answer each question, and the answers do not need to arrive in one file or at one time.
Record the answers in the
source input and authority worksheet.
The worksheet records suppliers, joins, authority, cadence, and owners. It does
not require the customer to design a software module.
Start with one representative exchange
You do not need to redesign your exports or send every system at once. For the first working session, use existing documentation and sanitized samples where possible:
Tell Scope3 the source system, covered scope, observed or effective period, and
owner for each item. Materials may arrive separately. Do not include
credentials, manifests, checksums, or production customer PII.
Scope3 will return a receipt and version summary, a draft input/authority map,
the joined campaign trace, and a list of integration and merchandising gaps.
You confirm or correct the map before a custom or manual capability is treated
as operational. This first exchange is enough to start a pilot design; it does
not by itself enable production transactions.
Prove the operating path
After locating the five core inputs, prove five distinct operating tracks:
The tracks join through stable source, inventory-scope, availability, property,
format, product, campaign, account, and reporting identifiers, but their APIs,
files, and human confirmations may arrive independently. A source is not fully
operational merely because its inventory is visible. Add an AdCP Collection
identifier only for canonical content identity such as a series, publication,
event series, or rotation. A media kit does not create capacity. An
availability feed does not decide the product story.
Send representative or redacted material when files contain buyer, campaign,
pricing, or personal data. Do not put credentials, private keys, API tokens,
or customer PII in an onboarding file. Enter live credentials only in the
dedicated connection flow.
What is production-importable today
Only use a file as a production import when its row shape is documented for an implemented parser.
The inventory source example pack
contains both parser-backed avails and clearly labeled evidence. Its manifest is
test-harness routing metadata maintained by Scope3. Customers do not author
manifests or calculate SHA-256 digests. Files, APIs, and human confirmations may
arrive independently; Scope3 records receipts and content evidence when each
item arrives.
Start with one durable source boundary
Define a source by coherent capacity and booking authority, not by vendor, credential, transport, or filename.- Keep one source when an ad server, publisher API, file, and human workflow describe the same bookable pool and have stable joins.
- Use separate sources when inventory has independently allocatable capacity, booking authority, execution, or reporting ledgers.
- Do not create a second source merely because a supported provider is connected later.
- Never merge existing sources by matching vendor names. First prove shared capacity and booking authority, map identity, compare in shadow, choose the surviving source ID, and retain a rollback path.
Standard provider paths and custom configuration
Built-in ad-server connections for Google Ad Manager, FreeWheel, SpringServe, and AdsWizz are standard supported paths within this model. CitrusAd is exposed through a standard provider recipe. A Scope3-managed sales agent is plumbing behind some of these connections, not a separate provider family. Each connector preconfigures only the inventory, execution, status, and reporting capabilities its published contract supports. A supported feed or accountable person may supply a remaining scope without changing the business-source boundary. Today, ad-server-backed and modular sources still have different setup surfaces. In-place provider conversion and a single generalized source workspace are pilot preview design, not shipped self-service behavior. Ask Scope3 to map supplemental material to the existing source instead of creating a duplicate. Enterprise-assisted custom configuration applies to a customer-specific or not-yet-supported provider/capability configuration, bespoke schema or API pull, custom authority or overlap rule, or negotiated manual service. The assistance applies to that capability and its production activation, not to a new kind of source. Standard supported paths are not Enterprise-gated merely because the source is modular. The current advanced modular-composition surface remains entitlement-gated while this converges. The standard-versus-custom boundary and its capability-specific support rules apply consistently across every source.Set up inventory and availability
Bring these materials
The Needed to prove column names the first capability that depends on the item. You can start before later materials arrive.
Download or copy the
source input and authority worksheet.
It records provider, scope, stable keys, authority, snapshot/delta/event
semantics, cadence, grace, stale consequence, owner, correction, and escalation.
It is supporting evidence, not a production import schema.
Stable identity and row grain
Use a stable ID from the system that owns the inventory. Do not use a display name, row number, or file position as identity. One static-avails row represents one availability window within a legacy compatibility grouping. Split rows when the capacity pool, dates, price, currency, property coverage, canonical creative format, or booking ownership changes. Use one event, issue, episode, takeover, or sponsorship row only when it has its own independently controlled capacity. This row grain does not create AdCP Collection identity. Audience scale, market reach, household counts, and co-viewing studies are evidence, not sellable capacity.Fields required by this starter kit
The production compatibility parser can derive collectionId and availId when they are omitted. This starter kit requires explicit stable IDs so later corrections join predictably. The exactcollection* names below
remain only for static-avails-feed:v1 parser compatibility.
Optional fields include
collectionDescription (legacy field name for the
compatibility grouping description), channel, CPM, currency, targeting,
sourceMetadata, and source-specific non-secret join keys. Channel is descriptive
and never determines creative format.
Net and gross capacity
Use impressionsCapacity only for net sellable capacity available to this source before new local holds or bookings. If the source reports gross capacity, provide one gross field such as avails and one upstream-booked field such as upstreamBookedImpressions. Preview calculates:Capacity, cadence, and correction worksheet
For every independently arriving stream, confirm:
A late reporting file does not invalidate current inventory identity. An invalid
availability revision does not rewrite accepted merchandising facts. Each
capability becomes stale or blocked only where its owning stream requires it.
Replacement, patch, and rejection recovery
The current static-avails contract is a patch/upsert keyed by availId:- reusing an ID updates that availability line;
- changing the ID creates another line;
- omitted rows remain active until they expire or the source is archived;
- omission is not deletion or cancellation; and
- a rejected update does not retire the last accepted row.
- Match rowNumber to the one-based data-row position. CSV data row 1 is file line 2; JSON row 1 is the first item in the avails array.
- Repair the named identity, date, number, currency, canonical-format, or property-selector error.
- Preview the entire intended patch again.
- Confirm row count, stable IDs, periods, price, format/property coverage, and normalized capacity.
- Commit only the reviewed preview. Resolve every rejection before treating a complete operational refresh as successful.
static-avails-feed:v1 compatibility templates
These files are maintained as parser tests. They are for the implemented static-avails-feed:v1 compatibility parser only. They are production- importable for that parser, not canonical generalized templates or the target Inventory Feed schema.Copy static-avails-feed:v1 compatibility CSV
One complete net-capacity row with canonical format and Property declarations; legacy collection* headers remain for parser compatibility.
Copy static-avails-feed:v1 compatibility JSON
One complete gross-minus-booked row for the JSON-text compatibility path.
Copy completed static-avails CSV
Three fictional rows covering net and gross-minus-booked capacity.
Open the completed fictional pack
Parser-backed CTV/display avails plus clearly classified evidence and proposal cases.
Get an ad-server wholesale template
Use the source-prefilled production download endpoint described in this guide.
CSV template: net capacity
JSON template: gross minus booked
Set up execution and trafficking
Inventory visibility does not establish an execution path. For each intended pilot scope, identify the system or accountable person that owns each operation and provide representative evidence for:
Classify each operation as connected automation, named human or secure-file
pilot step, or gap. A manual step counts for a pilot only when it has an
owner, response expectation, durable evidence, failure handling, and escalation.
One successful handoff does not prove update, cancellation, retry, or release.
This starter kit does not claim a generalized execution or trafficking
importer. Use supplied materials to prove the exact supported operation or to
rehearse a manual pilot; do not treat them as production API requests.
Set up reporting and reconciliation
Provide a representative delivery and spend report that can join to the exact booked line. Before calling the source reporting-ready, establish:- stable source, media-buy or package, upstream order, and line-item joins;
- report period, delivered quantity and unit, spend and currency;
- whether each value is observed, estimated, or modeled;
- preliminary, final, and corrected report identity and finality rules;
- cadence or trigger, timezone, expected arrival, grace window, and the effect of stale or missing data; and
- correction, quarantine, replay, owner, backup, and escalation behavior.
Add CRM and commercial context (optional)
CRM context is an optional input to buyer-specific merchandising and operating decisions. Useful evidence includes a CRM field dictionary, five to ten sanitized account or opportunity rows, buyer-account mappings, and representative proposal outcomes. Useful fields include stable CRM account and opportunity IDs, an account alias and type, opportunity stage, referenced product or package, expected flight, amount and currency, outcome or loss reason, seller-owner role, last activity time, and source update time. Remove contact names, email addresses, and other personal data. CRM material is supporting evidence, not inventory, availability, booking authority, a canonical buyer account, or a production import schema. A missing CRM feed does not block inventory, execution, or reporting setup unless a specific approved workflow declares that dependency. See the sanitized CRM example.Make it merchandisable
Once inventory identity and readiness are explicit, route buyer-facing decisions to their canonical owners:Prove source-scoped proposal behavior
Use the fictional briefs in the sample pack to run:- an obvious fit with the expected source-scoped product;
- a correct no-fit or policy rejection;
- a human-review case;
- a stale or conflicting-source case;
- a source-isolation case that must not return another source’s product; and
- a pricing or format edge case that must ask for clarification or decline instead of inventing support.
Know what proposal proof does not establish
A source-scoped proposal test is a pilot preview of discovery behavior. It does not contact a buyer, create a media buy, confirm upstream booking, traffic a campaign, import delivery, or prove production readiness.Rehearse one complete campaign
Open the sanitized complete-campaign example. It joins advertiser, campaign/order/line item, dates, budget, source product, targeting, quantity/unit, price, creative, approval, status, delivery, reporting, and returned IDs. It is supporting evidence and a manual pilot walkthrough, not a production API request or import schema. Classify every stage in the rehearsal:
Do not use a successful feed preview or compelling proposal as evidence that a
booking, campaign, trafficking, reporting, or conversion workflow exists.
Readiness decisions
Readiness is decided per track and per source scope. One green track does not make the others green.Inventory-ready
Stable inventory identity, authorization, property and format coverage, capacity semantics, source-price constraints, booking overlap, cadence, correction behavior, and owners are proven for the intended scope. This means the source can make truthful availability decisions. It does not prove that a campaign can be executed or reported.Merchandising-ready
Stable inventory identity and selling-rights evidence appropriate to the source, exact formats, current capacity/source constraints, product definition, structured selling price, positioning, Playbook guidance, and Business Rules support fit, rejection, review, edge, and source-isolation tests. Where publisher authorization applies, require current positive authorization evidence. For a connected platform account where it does not apply, use the connection-based selling rights rather than inventing anadagents.json
requirement. This means buyers can be shown a truthful pilot preview. It does
not mean they can transact.
Execution-ready
The exact offer has a proven reservation and booking path, creative and trafficking ownership, returned upstream IDs, status and failure handling, update, cancellation, retry, and release behavior. This decision is independent of whether reporting is ready.Transaction-ready
The exact offer is both inventory-ready and execution-ready, with no hard readiness blocker. A named human may satisfy a pilot stage only when the work item, response expectation, evidence, and escalation are operational.Reporting-ready
Delivery and spend join to the booked line with stable source IDs, an agreed cadence and finality rule, correction behavior, and an owned quarantine path. The general reporting example in this kit is evidence only until a production importer or approved manual workflow proves this stage.CRM context available (optional)
Sanitized account and opportunity context has stable joins, declared authority, privacy handling, cadence, and an owner for the workflow that consumes it. This is not a prerequisite for inventory-, execution-, transaction-, or reporting-readiness unless the approved workflow explicitly makes it one.Pilot preview
A pilot preview may classify materials, run current parsers, inspect projected products, and test source-scoped proposal behavior. It must display unsupported transaction, creative, trafficking, status, reporting, or conversion stages as manual or gaps. It is never a production-launch verdict.Operationally self-sufficient
The publisher team can refresh each stream, interpret diagnostics, correct revisions, operate manual queues, release capacity, reconcile reports, and escalate exceptions through named owners and backups. This is an operating milestone, not one API status.Related guides
Choose an inventory source
Compare current connection and pilot paths.
Modular source lifecycle
Use the current static-avails preview, patch, reservation, and work-item flow.
Discovery Card, Playbook, and Business Rules
Put confirmed structured facts in their authoritative Pages and use the Media Kit as supporting evidence.
Property Roster
Reconcile Properties, canonical AdCP Collections when present, formats, and authorization.