Skip to main content
A storefront gives every media buy you book through it one revision number. It goes up by one each time the buy changes, whoever made the change. The history answers the next question: what changed at revision 7, and where did the change come from? Ask for it with include_history on get_media_buys, the AdCP read a storefront serves. Send a whole number from 1 to 1000. Each buy comes back with its latest entries, newest first. Leave it out, or send 0, and the buy carries no history.
The V3 get tool (kind: "media_buy") does not return history today. Read it from the storefront’s get_media_buys.

What an entry says

Where a change came from

origin is an AdCP 3.3 field. Storefronts here speak AdCP 3.2, so it travels as ext.apostra.origin for now and moves onto the entry itself when Apostra moves to AdCP 3.3. Treat an origin you do not know as unknown.

What to rely on

  • Entries are never edited or removed. Cache an entry by its revision.
  • You may get fewer entries than revisions. include_history returns at most the number you ask for, applied to each buy. A buy that existed before history was kept has no entries for its earlier revisions, and its history starts at its next change. A missing entry for an old revision is not a missing change.
  • The history is the storefront’s own. It is numbered with the storefront’s revision, the one you cite. A media partner’s own history and revision numbers are not passed through.
  • Some storefronts do not return this history yet. A storefront whose inventory runs through a platform adapter answers get_media_buys itself, and its answer does not carry the history described here.
  • A failed read is an error, not an empty history. If the storefront cannot read the history it answers SERVICE_UNAVAILABLE with the reason media_buy_history_unavailable. Retry, or leave include_history out. See Errors for how to read an error.