open_campaigns_page launches Campaigns — the buyer’s campaign list with
status, flight, and budget on each row. Opening a row shows that campaign’s
workspace: its media buys, creatives and their per-seller review status, and
for a draft campaign the Review & go live
receipt.
It is a widget launcher: the tool returns the shared MCP App directive for
ui://agentic-api/campaigns/mcp-app.html plus the focus it was given, and the
Page self-fetches through V3 search({kind: "campaign"}),
get({kind: "campaign"}), and, when it needs the seeded header label,
get({kind: "advertiser"}). The host keeps these named reads bound to this
Page; it is buyer-only and read-only.
Arguments
Resolve names to ids first with
search(kind: "advertiser") or
search(kind: "campaign"); never invent an id.
From an agent (MCP)
“Show my campaigns” opens the unscoped Page:content names what was opened — for example
Opened Campaigns Page focused on "Spring launch" (active, managing); scoped to advertiser "Acme".
— and structuredContent.params carries the seed the Page reads
(advertiserId, advertiserName, campaignId). When the focused campaign is
still a draft, the summary points at open_campaign_receipt.
Text answers
For an answer in words — how many campaigns, which are paused, one campaign’s budget — usesearch(kind: "campaign") and get(kind: "campaign", id)
instead. The launcher never enumerates campaigns.
Hosts without a widget surface
A host that cannot render MCP apps, such as Claude Code or a plain MCP client, still receives the text result. When the launch is scoped to an advertiser, that text ends with anOpen in the browser: link that opens the same
Campaigns Page in Apostra chat for the account your API key belongs
to, focused on the launched campaign when there was one. The same URL is
available as openInBrowserUrl in the structured result. An unscoped launch
carries no link, because the hosted chat opens the Page for one advertiser, and
a seller account opening its own-supply or sponsored-buyer campaigns carries no
link either, because the buyer hosted chat does not model those scopes.