Outbrain · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Outbrain Campaigns API
13 actions
13 updates
phrasing
extends
openapi/outbrain-campaigns-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 13
$.info
$.paths['/campaigns/{id}'].get
$.paths['/campaigns/{id}'].put
$.paths['/campaigns'].put
$.paths['/campaigns'].post
$.paths['/campaigns/{campaignIds}/multiple'].get
$.paths['/budgets/{id}/campaigns'].get
$.paths['/marketers/{id}/campaigns'].get
$.paths['/campaigns/{campaignId}/locations'].get
$.paths['/marketers/{marketerId}/campaigns'].get
$.paths['/marketers/{marketerId}/campaigns'].post
$.paths['/campaigns/{campaignId}'].get
$.paths['/campaigns/{campaignId}'].put
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 Campaigns API
version: 1.0.0
extends: openapi/outbrain-campaigns-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: 12
- target: $.paths['/campaigns/{id}'].get
update:
x-apievangelist-phrasing:
intent: Retrieve a campaign with extra fields
effect: read
questions:
- How do I see a campaign's CPC, targeting and budget in one call?
- Can I request extra fields like custom audience when retrieving a campaign?
instructions:
- text: Show campaign {id}.
slots:
id: path.id
- text: Retrieve campaign {id} including extra fields {extraFields}.
slots:
id: path.id
extraFields: query.extraFields
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a campaign's CPC, name or targeting
effect: write
questions:
- How do I raise the CPC on a running campaign?
- Can I change a campaign's platform or location targeting after launch?
instructions:
- text: Pause campaign {id}.
slots:
id: path.id
- text: Raise the CPC on campaign {id} to 0.70 and exclude ad-block users.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns'].put
update:
x-apievangelist-phrasing:
intent: Update up to 25 campaigns at once
effect: write
questions:
- Can I change several campaigns in a single request?
- What happens if some campaigns in a bulk update fail and others succeed?
instructions:
- text: Pause all ten of my holiday campaigns in one bulk update.
- text: Set the same CPC on this list of campaigns at once.
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns'].post
update:
x-apievangelist-phrasing:
intent: Create a campaign with budget and targeting
effect: write
questions:
- What do I need to launch a new campaign, like budget and CPC?
- Can I attach RSS feeds and a tracking code suffix to a new campaign?
instructions:
- text: Create a campaign called Spring Launch on my existing budget with a 0.50 CPC.
- text: Launch a new campaign with desktop-only targeting and my tracking suffix appended.
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaignIds}/multiple'].get
update:
x-apievangelist-phrasing:
intent: Retrieve up to 50 campaigns by ID
effect: read
questions:
- Can I fetch several specific campaigns in one call?
- How many campaigns can I retrieve by ID at once?
instructions:
- text: Get campaigns {campaignIds}.
slots:
campaignIds: path.campaignIds
- text: Retrieve campaigns {campaignIds} with extra fields {extraFields}.
slots:
campaignIds: path.campaignIds
extraFields: query.extraFields
method: generated
generated: '2026-09-26'
- target: $.paths['/budgets/{id}/campaigns'].get
update:
x-apievangelist-phrasing:
intent: List campaigns drawing from a budget
effect: read
questions:
- Which campaigns are spending from a particular budget?
- Is a shared budget attached to more than one campaign?
instructions:
- text: List campaigns on budget {id}.
slots:
id: path.id
- text: Show which campaigns share budget {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/marketers/{id}/campaigns'].get
update:
x-apievangelist-phrasing:
intent: Filter and page a marketer's campaigns
effect: read
questions:
- How do I list a marketer's campaigns including archived ones?
- Can I get only campaigns that changed in the last few days?
- Can I filter campaigns by budget start and end dates?
instructions:
- text: List campaigns for marketer {id} including archived, {limit} per page.
slots:
id: path.id
limit: query.limit
- text: Show marketer {id} campaigns changed in the last {days} days.
slots:
id: path.id
days: query.daysToLookBackForChanges
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaignId}/locations'].get
update:
x-apievangelist-phrasing:
intent: Get a campaign's targeted and excluded locations
effect: read
questions:
- Which countries and regions is my campaign geotargeting?
- Can I see the locations a campaign excludes?
instructions:
- text: Show the geotargeting for campaign {campaignId}.
slots:
campaignId: path.campaignId
- text: List excluded locations on campaign {campaignId}.
slots:
campaignId: path.campaignId
method: generated
generated: '2026-09-26'
- target: $.paths['/marketers/{marketerId}/campaigns'].get
update:
x-apievangelist-phrasing:
intent: List all campaigns belonging to a marketer
effect: read
questions:
- What campaigns does my marketer account own?
- Where can I get every campaign for a marketer without filters?
instructions:
- text: List every campaign for marketer {marketerId}.
slots:
marketerId: path.marketerId
- text: Give me the names of all campaigns under marketer {marketerId}.
slots:
marketerId: path.marketerId
method: generated
generated: '2026-09-26'
- target: $.paths['/marketers/{marketerId}/campaigns'].post
update:
x-apievangelist-phrasing:
intent: Create a campaign under a marketer with objective
effect: write
questions:
- How do I create a campaign under a specific marketer with an objective?
- Can I set the CPC and budget when adding a campaign to a marketer?
instructions:
- text: Create campaign {name} for marketer {marketerId} with CPC {cpc}.
slots:
name: requestBody.name
marketerId: path.marketerId
cpc: requestBody.cpc
- text: Add campaign {name} under marketer {marketerId} at CPC {cpc} on budget {budgetId} with objective {objective}.
slots:
name: requestBody.name
marketerId: path.marketerId
cpc: requestBody.cpc
budgetId: requestBody.budgetId
objective: requestBody.objective
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaignId}'].get
update:
x-apievangelist-phrasing:
intent: Look up a campaign by its campaign ID
effect: read
questions:
- How do I fetch a campaign when all I have is its campaignId?
- What basic record does a campaign lookup by identifier return?
instructions:
- text: Look up campaign {campaignId}.
slots:
campaignId: path.campaignId
- text: Fetch the campaign record with identifier {campaignId}.
slots:
campaignId: path.campaignId
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaignId}'].put
update:
x-apievangelist-phrasing:
intent: Change a campaign's name, CPC, budget or objective
effect: write
questions:
- Can I move a campaign to a different budget and change its objective?
- How do I rename a campaign and set its CPC in one update?
instructions:
- text: Rename campaign {campaignId} to {name} with CPC {cpc}.
slots:
campaignId: path.campaignId
name: requestBody.name
cpc: requestBody.cpc
- text: Move campaign {campaignId} ({name}, CPC {cpc}) onto budget {budgetId}, enabled set to {enabled}.
slots:
campaignId: path.campaignId
name: requestBody.name
cpc: requestBody.cpc
budgetId: requestBody.budgetId
enabled: requestBody.enabled
method: generated
generated: '2026-09-26'