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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'