Outbrain · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Outbrain Amplify Performance Reporting API
24 actions
24 updates
phrasing
extends
openapi/outbrain-performance-reporting-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Outbrain's API. It is a proposal applied on top of the contract, not a document Outbrain publishes.
What the actions change
x-apievangelist-phrasing
Targets 24 · first 16 shown; the file carries all of them
$.info
$.paths['/reports/fullDay'].get
$.paths['/reports/dataFreshness'].get
$.paths['/reports/accounts/{primaryAccountId}/marketers'].get
$.paths['/reports/marketers/{id}/campaigns'].get
$.paths['/reports/marketers/{id}/promotedContent'].get
$.paths['/reports/marketers/{id}/periodic'].get
$.paths['/reports/marketers/{id}/campaigns/periodic'].get
$.paths['/reports/marketers/{id}/campaigns/periodicHourly'].get
$.paths['/reports/marketers/{id}/campaigns/periodicMinutely'].get
$.paths['/reports/marketers/{id}/campaigns/{campaignId}/periodicContent'].get
$.paths['/reports/marketers/{id}/campaigns/{campaignId}/periodicContentHourly'].get
$.paths['/reports/marketers/{id}/publishers'].get
$.paths['/reports/marketers/{id}/campaigns/publishers'].get
$.paths['/reports/marketers/{id}/sections'].get
$.paths['/reports/marketers/{id}/campaigns/sections'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Outbrain Amplify Performance Reporting API
version: 1.0.0
extends: openapi/outbrain-performance-reporting-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 23
- target: $.paths['/reports/fullDay'].get
update:
x-apievangelist-phrasing:
intent: Find the last day with complete report data
effect: read
questions:
- Up to which date is performance data complete and final?
- When was the last full day of reporting data last modified?
instructions:
- text: Tell me the most recent day with full performance data.
- text: Check the last complete reporting day before I pull yesterday's numbers.
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/dataFreshness'].get
update:
x-apievangelist-phrasing:
intent: Check how fresh performance report data is
effect: read
questions:
- How far behind real time is the performance reporting data?
- What's the latest timestamp for final versus real-time report data?
instructions:
- text: Show the data freshness timestamps for performance reports.
- text: Check the real-time and final data cutoffs before I run a report.
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/accounts/{primaryAccountId}/marketers'].get
update:
x-apievangelist-phrasing:
intent: Report performance for marketers under an account
effect: read
questions:
- How are all the marketers in my agency's primary account performing?
- Can I compare spend across every marketer under one primary account?
instructions:
- text: Report marketer performance for primary account {account} from {from} to {to}.
slots:
account: path.primaryAccountId
from: query.from
to: query.to
- text: Rank marketers under primary account {account} by {sort} between {from} and {to}.
slots:
account: path.primaryAccountId
sort: query.sort
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns'].get
update:
x-apievangelist-phrasing:
intent: Report campaign performance totals for a marketer
effect: read
questions:
- What were the clicks, spend and conversions per campaign for my marketer this month?
- Can I include conversion details and viewed impressions in the campaign totals report?
instructions:
- text: Show campaign totals for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Report stats for campaign {campaignId} of marketer {id} from {from} to {to} with conversion details.
slots:
campaignId: query.campaignId
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/promotedContent'].get
update:
x-apievangelist-phrasing:
intent: Report performance by promoted link for a marketer
effect: read
questions:
- Which individual ads, including carousels and app installs, drove the most clicks?
- Can I filter promoted content stats down to one budget or campaign?
instructions:
- text: Report promoted content performance for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Show stats for promoted link {promotedLinkId} under marketer {id} from {from} to {to}.
slots:
promotedLinkId: query.promotedLinkId
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/periodic'].get
update:
x-apievangelist-phrasing:
intent: Report a marketer's performance over time
effect: read
questions:
- How did my overall spend trend day by day or week by week?
- Can I get a periodic breakdown for one campaign or budget?
instructions:
- text: Show {breakdown} performance for marketer {id} from {from} to {to}.
slots:
breakdown: query.breakdown
id: path.id
from: query.from
to: query.to
- text: Chart budget {budgetId} results by {breakdown} for marketer {id} between {from} and {to}.
slots:
budgetId: query.budgetId
breakdown: query.breakdown
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/periodic'].get
update:
x-apievangelist-phrasing:
intent: Report each campaign's performance over time
effect: read
questions:
- How did each campaign perform per day of the week or hour of day?
- Can I get a monthly trend split out per campaign?
instructions:
- text: Break down each campaign of marketer {id} by {breakdown} from {from} to {to}.
slots:
id: path.id
breakdown: query.breakdown
from: query.from
to: query.to
- text: Show day-of-week by hour results per campaign for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/periodicHourly'].get
update:
x-apievangelist-phrasing:
intent: Report recent hourly performance per campaign
effect: read
questions:
- How has each campaign performed hour by hour over the last day?
- Can I choose how many recent hours of per-campaign data to pull?
instructions:
- text: Show hourly results per campaign for marketer {id} over the last {hours} hours.
slots:
id: path.id
hours: query.hours
- text: Pull per-campaign hourly stats for marketer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/periodicMinutely'].get
update:
x-apievangelist-phrasing:
intent: Report recent minute-by-minute performance per campaign
effect: read
questions:
- Can I watch campaign performance minute by minute right after a launch?
- How many minutes back does the minutely per-campaign report go?
instructions:
- text: Show minute-level results per campaign for marketer {id} over the last {minutes} minutes.
slots:
id: path.id
minutes: query.minutes
- text: Pull minutely campaign stats for marketer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/{campaignId}/periodicContent'].get
update:
x-apievangelist-phrasing:
intent: Report a campaign's ads over time
effect: read
questions:
- How did each ad in one campaign trend day by day?
- Can I get a weekly breakdown per promoted link within a single campaign?
instructions:
- text: Show daily results per ad for campaign {campaignId} of marketer {id} from {from} to {to}.
slots:
campaignId: path.campaignId
id: path.id
from: query.from
to: query.to
- text: Break down campaign {campaignId} ads by {breakdown} for marketer {id} between {from} and {to}.
slots:
campaignId: path.campaignId
breakdown: query.breakdown
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/{campaignId}/periodicContentHourly'].get
update:
x-apievangelist-phrasing:
intent: Report a campaign's ads hour by hour
effect: read
questions:
- How have the ads in one campaign performed hourly over the last 48 hours?
- Is the hourly per-ad campaign report limited to recent data?
instructions:
- text: Show hourly per-ad stats for campaign {campaignId} of marketer {id} for the last {hours} hours.
slots:
campaignId: path.campaignId
id: path.id
hours: query.hours
- text: Pull the last two days of hourly ad results in campaign {campaignId} under marketer {id}.
slots:
campaignId: path.campaignId
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/publishers'].get
update:
x-apievangelist-phrasing:
intent: Report a marketer's performance by publisher site
effect: read
questions:
- Which publisher sites did my ads appear on and how did they perform?
- Does the publisher report include sites I've already blocked?
instructions:
- text: Report performance by publisher for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Find the worst publishers for campaign {campaignId} under marketer {id} from {from} to {to}.
slots:
campaignId: query.campaignId
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/publishers'].get
update:
x-apievangelist-phrasing:
intent: Report publisher results split per campaign
effect: read
questions:
- For each of my campaigns, which publishers delivered the traffic?
- Can I see publisher stats grouped under every campaign at once?
instructions:
- text: Show publisher results per campaign for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Group publisher performance by campaign for marketer {id} between {from} and {to}, including archived.
slots:
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/sections'].get
update:
x-apievangelist-phrasing:
intent: Report a marketer's performance by site section
effect: read
questions:
- Which publisher sections, like sports or business, perform best for me?
- Does the section report show sections I've already blocked?
instructions:
- text: Report performance by section for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Show section results for budget {budgetId} under marketer {id} from {from} to {to}.
slots:
budgetId: query.budgetId
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/sections'].get
update:
x-apievangelist-phrasing:
intent: Report section results split per campaign
effect: read
questions:
- For each campaign, which site sections got clicks?
- Why are some low-traffic sections missing from the per-campaign section report?
instructions:
- text: Show section results per campaign for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Group section performance under each campaign of marketer {id} between {from} and {to}.
slots:
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/sections/date'].get
update:
x-apievangelist-phrasing:
intent: Report section performance day by day
effect: read
questions:
- How did each site section perform on each day of the range?
- Can I get a daily breakdown of section results?
instructions:
- text: Show daily section performance for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Break section results into days for marketer {id} between {from} and {to}.
slots:
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/sections/dateHourly'].get
update:
x-apievangelist-phrasing:
intent: Report section performance hour by hour
effect: read
questions:
- How have site sections performed each hour over the last two days?
- How many hours back can the hourly section report go?
instructions:
- text: Show hourly section results for marketer {id} over the last {hours} hours.
slots:
id: path.id
hours: query.hours
- text: Pull hour-by-hour section stats for marketer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/sections/dateMinutely'].get
update:
x-apievangelist-phrasing:
intent: Report section performance minute by minute
effect: read
questions:
- Can I see section results by the minute over the last six hours?
- What's the lookback window for minutely section data?
instructions:
- text: Show minutely section results for marketer {id} over the last {minutes} minutes.
slots:
id: path.id
minutes: query.minutes
- text: Pull minute-level section stats for marketer {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/platforms'].get
update:
x-apievangelist-phrasing:
intent: Report a marketer's performance by device platform
effect: read
questions:
- Do my ads do better on desktop, mobile or tablet?
- Can I get platform results for a single campaign or budget?
instructions:
- text: Report performance by platform for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Compare devices for campaign {campaignId} of marketer {id} from {from} to {to}.
slots:
campaignId: query.campaignId
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/platforms'].get
update:
x-apievangelist-phrasing:
intent: Report platform results split per campaign
effect: read
questions:
- For each campaign, how did desktop and mobile compare?
- Can I see device platform stats grouped under every campaign?
instructions:
- text: Show platform results per campaign for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Group device performance by campaign for marketer {id} between {from} and {to}.
slots:
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/geo'].get
update:
x-apievangelist-phrasing:
intent: Report a marketer's performance by geography
effect: read
questions:
- Which countries, regions or DMAs bring me the best results?
- Can I break geographic performance down to DMA level?
instructions:
- text: Report geographic results at {breakdown} level for marketer {id} from {from} to {to}.
slots:
breakdown: query.breakdown
id: path.id
from: query.from
to: query.to
- text: Show country-level results for campaign {campaignId} of marketer {id} from {from} to {to} at {breakdown} level.
slots:
campaignId: query.campaignId
id: path.id
from: query.from
to: query.to
breakdown: query.breakdown
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/campaigns/geo'].get
update:
x-apievangelist-phrasing:
intent: Report geographic results split per campaign
effect: read
questions:
- For each campaign, which regions performed best?
- Can I get country or region stats grouped under every campaign?
instructions:
- text: Show geo results at {breakdown} level for each campaign of marketer {id} from {from} to {to}.
slots:
breakdown: query.breakdown
id: path.id
from: query.from
to: query.to
- text: Group geographic performance by campaign at {breakdown} level for marketer {id} between {from} and {to}.
slots:
breakdown: query.breakdown
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'
- target: $.paths['/reports/marketers/{id}/interests'].get
update:
x-apievangelist-phrasing:
intent: Report a marketer's performance by audience interest
effect: read
questions:
- Which audience interests are engaging with my ads the most?
- Why can one click count toward several interests in the interest report?
instructions:
- text: Report interest-level engagement for marketer {id} from {from} to {to}.
slots:
id: path.id
from: query.from
to: query.to
- text: Show top interests for campaign {campaignId} under marketer {id} from {from} to {to}.
slots:
campaignId: query.campaignId
id: path.id
from: query.from
to: query.to
method: generated
generated: '2026-09-26'