What Reliable Reporting changes
Reporting is most useful when you can answer three separate questions: what has been reported, whether the report is complete for the scope you asked for, and whether a later correction can change it. Reliable Reporting is the AdCP 3.2 model for answering those questions with an explicit record rather than a guess based on how recently a source responded. The terms on this page describe the contract being prepared for that rollout. They do not change the behaviour of existing 3.0 and 3.1 reporting ingestion: seller webhooks, polling, and bucket delivery continue to feed the current day-grain reporting pipeline.Three levels of assurance
Reliable Reporting has three levels. Each level builds on the one before it.
Core does not require a destination or receipt. Managed delivery adds evidence
that a consumer can read the delivered data. Reconciled billing adds the
consumer’s acknowledgement, so billing can distinguish data that was produced
from data that was received and checked.
The records behind a report
An obligation is created before the report is due. It fixes the reporting period, schedule, required finality, selected media buys, and coverage rule for that period. A later campaign or configuration change affects a future obligation, not the one already recorded. When data is ready, it becomes an immutable revision. A revision identifies the report definition, period, coverage, finality, row count, and control totals (the totals used to check the report). A zero-row revision is still a report: it says that the source checked the period and found no rows. A correction is a new revision, called a restatement. It links to the revision it replaces; it never overwrites the earlier revision. That leaves a reader able to see both what was first published and what superseded it.Status is an operational answer
The plannedget_reporting_status read will provide one of five health states
for the requested scope:
Coverage and finality remain separate. A fresh report can be partial; a complete
report can still be a snapshot; and an official report can later be restated.
The status read is designed to make those limits visible instead of treating a
recent timestamp as proof.
Notifications and recovery
The planned notification types are compact doorbells, not report delivery:reporting.status_changedwill signal a committed health change.reporting.delivery_readywill signal a verified managed delivery.reporting.ledger_changedwill signal a receipt or other reconciliation change.
get_reporting_status to recover the authoritative state. Apostra
will advertise a notification only when that notification and its signed
delivery path are available.
What to use today
For delivery and pacing today, callget_delivery or the day-grain buyer
reporting endpoint. Treat them as seller-reported delivery. They do not expose
Reliable Reporting revisions, authoritative status, managed-delivery evidence,
or billing receipts. See Reading reporting and
Reporting overview.
For several sources or platforms under one campaign, see
Multi-platform reporting.