Outbrain · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Outbrain Budgets API

9 actions 9 updates phrasing extends openapi/outbrain-budgets-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 9

$.info
$.paths['/budgets/{id}'].get
$.paths['/budgets/{id}'].put
$.paths['/budgets/{id}'].delete
$.paths['/marketers/{id}/budgets'].get
$.paths['/marketers/{id}/budgets'].post
$.paths['/marketers/{marketerId}/budgets'].get
$.paths['/marketers/{marketerId}/budgets'].post
$.paths['/budgets/{budgetId}'].get

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 Budgets API
  version: 1.0.0
extends: openapi/outbrain-budgets-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: 8
- target: $.paths['/budgets/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Retrieve a budget with remaining spend details
      effect: read
      questions:
      - How much is left unspent on one of my Outbrain budgets?
      - Can I see whether a budget is shared between several campaigns?
      instructions:
      - text: Show the amount remaining and pacing for budget {id}.
        slots:
          id: path.id
      - text: Check if budget {id} is shared across campaigns.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/budgets/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a budget's amount or dates
      effect: write
      questions:
      - How do I raise the amount on an existing budget?
      - Can I move a budget's start date after it has already started spending?
      - What is the minimum amount for a daily or monthly budget when I edit it?
      instructions:
      - text: Increase the amount of budget {id} to 5000.
        slots:
          id: path.id
      - text: Change the end date of budget {id} to the end of next month.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/budgets/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an unused, detached budget
      effect: destructive
      questions:
      - Can I delete a budget that is still attached to a campaign?
      - How do I remove a budget that never spent anything?
      instructions:
      - text: Delete budget {id}.
        slots:
          id: path.id
      - text: Remove the detached, unspent budget {id} from my account.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/marketers/{id}/budgets'].get
  update:
    x-apievangelist-phrasing:
      intent: List a marketer's budgets, optionally detached only
      effect: read
      questions:
      - Which budgets aren't attached to any campaign yet?
      - How many budgets does my marketer account have in total?
      instructions:
      - text: List only the detached budgets for marketer {id}.
        slots:
          id: path.id
      - text: Count all budgets under marketer {id}, including detached ones if {detachedOnly} is false.
        slots:
          id: path.id
          detachedOnly: query.detachedOnly
      method: generated
      generated: '2026-09-26'
- target: $.paths['/marketers/{id}/budgets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a budget that can run forever or end
      effect: write
      questions:
      - Can I create a budget with no end date so it runs forever?
      - Does a new budget name have to be unique for the marketer?
      instructions:
      - text: Create a monthly budget called Q1 Spend for marketer {id} starting January 15.
        slots:
          id: path.id
      - text: Set up an open-ended daily budget of 100 under marketer {id} with runForever on.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/marketers/{marketerId}/budgets'].get
  update:
    x-apievangelist-phrasing:
      intent: List all budgets belonging to a marketer
      effect: read
      questions:
      - What budgets belong to my marketer account?
      - Where do I see every budget a marketer owns in one list?
      instructions:
      - text: List all budgets for marketer {marketerId}.
        slots:
          marketerId: path.marketerId
      - text: Give me the names and amounts of every budget owned by marketer {marketerId}.
        slots:
          marketerId: path.marketerId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/marketers/{marketerId}/budgets'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a shared budget with a currency
      effect: write
      questions:
      - How do I create a shared budget that several campaigns can draw from?
      - Can I set the currency and budget type when creating a shared budget?
      instructions:
      - text: Create a shared {type} budget named {name} of {amount} for marketer {marketerId}.
        slots:
          type: requestBody.type
          name: requestBody.name
          amount: requestBody.amount
          marketerId: path.marketerId
      - text: Make a {amount} {currency} shared budget called {name}, type {type}, from {startDate} to {endDate} for marketer {marketerId}.
        slots:
          amount: requestBody.amount
          currency: requestBody.currency
          name: requestBody.name
          type: requestBody.type
          startDate: requestBody.startDate
          endDate: requestBody.endDate
          marketerId: path.marketerId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/budgets/{budgetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a budget by its budget ID
      effect: read
      questions:
      - How do I fetch a budget when I only have its budgetId?
      - What does a budget record look like when I look it up by identifier?
      instructions:
      - text: Look up budget {budgetId}.
        slots:
          budgetId: path.budgetId
      - text: Fetch the budget record with identifier {budgetId}.
        slots:
          budgetId: path.budgetId
      method: generated
      generated: '2026-09-26'