Facebook Business Manager · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Facebook Business Manager Facebook Marketing Campaigns API

6 actions 6 updates phrasing extends openapi/facebook-business-manager-campaigns-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Facebook Business Manager's API. It is a proposal applied on top of the contract, not a document Facebook Business Manager publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/act_{ad_account_id}/campaigns'].get
$.paths['/act_{ad_account_id}/campaigns'].post
$.paths['/{campaign_id}'].get
$.paths['/{campaign_id}'].post
$.paths['/{campaign_id}'].delete

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 Facebook Business Manager Facebook Marketing Campaigns API
  version: 1.0.0
extends: openapi/facebook-business-manager-campaigns-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 5
- target: $.paths['/act_{ad_account_id}/campaigns'].get
  update:
    x-apievangelist-phrasing:
      intent: List the campaigns in an ad account
      effect: read
      questions:
      - Which campaigns are in my ad account right now?
      - Can I filter the campaign list, for example to only active ones?
      - How do I get the next page when an account has many campaigns?
      instructions:
      - text: List the campaigns in ad account {ad_account_id}.
        slots:
          ad_account_id: path.ad_account_id
      - text: Show campaigns in account {ad_account_id} matching filter {filtering}.
        slots:
          ad_account_id: path.ad_account_id
          filtering: query.filtering
      method: generated
      generated: '2026-10-01'
- target: $.paths['/act_{ad_account_id}/campaigns'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an advertising campaign
      effect: write
      questions:
      - 'What do I need to launch a new campaign: name, objective and status?'
      - Do I have to declare special ad categories like housing or credit when creating a campaign?
      - Can I give a new campaign a lifetime budget up front?
      instructions:
      - text: Create campaign {name} in account {ad_account_id} with objective {objective}, status {status} and special ad categories {special_ad_categories}.
        slots:
          ad_account_id: path.ad_account_id
          name: requestBody.name
          objective: requestBody.objective
          status: requestBody.status
          special_ad_categories: requestBody.special_ad_categories
      - text: Launch a new {objective} campaign named {name} with a daily budget of {daily_budget}, no special ad categories {special_ad_categories}, status {status}.
        slots:
          objective: requestBody.objective
          name: requestBody.name
          daily_budget: requestBody.daily_budget
          special_ad_categories: requestBody.special_ad_categories
          status: requestBody.status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/{campaign_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one campaign's objective and status
      effect: read
      questions:
      - What objective and status does a particular campaign have?
      - Can I fetch only certain fields of a single campaign?
      instructions:
      - text: Show me campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Get the {fields} of campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
          fields: query.fields
      method: generated
      generated: '2026-10-01'
- target: $.paths['/{campaign_id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename, pause or rebudget a campaign
      effect: write
      questions:
      - Can I pause a campaign that's already running?
      - How do I change the budget on an existing campaign?
      instructions:
      - text: Pause campaign {campaign_id} by setting its status to {status}.
        slots:
          campaign_id: path.campaign_id
          status: requestBody.status
      - text: Rename campaign {campaign_id} to {name}.
        slots:
          campaign_id: path.campaign_id
          name: requestBody.name
      - text: Change the lifetime budget of campaign {campaign_id} to {lifetime_budget}.
        slots:
          campaign_id: path.campaign_id
          lifetime_budget: requestBody.lifetime_budget
      method: generated
      generated: '2026-10-01'
- target: $.paths['/{campaign_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a campaign so it stops serving
      effect: destructive
      questions:
      - What happens to a campaign's ads when I delete it?
      - Can I permanently remove a campaign I no longer need?
      instructions:
      - text: Delete campaign {campaign_id}.
        slots:
          campaign_id: path.campaign_id
      - text: Remove campaign {campaign_id} so it stops serving ads.
        slots:
          campaign_id: path.campaign_id
      method: generated
      generated: '2026-10-01'