Google Campaign Manager · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Google Campaign Manager Campaign Manager 360 Placements API

7 actions 7 updates phrasing extends openapi/google-campaign-manager-placements-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Google Campaign Manager's API. It is a proposal applied on top of the contract, not a document Google Campaign Manager publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/userprofiles/{profileId}/placements'].get
$.paths['/userprofiles/{profileId}/placements'].post
$.paths['/userprofiles/{profileId}/placements/{placementId}'].get
$.paths['/userprofiles/{profileId}/placements/{placementId}'].put
$.paths['/userprofiles/{profileId}/placements/{placementId}'].patch
$.paths['/userprofiles/{profileId}/placements/generatetags'].post

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 Google Campaign Manager Campaign Manager 360 Placements API
  version: 1.0.0
extends: openapi/google-campaign-manager-placements-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: 6
- target: $.paths['/userprofiles/{profileId}/placements'].get
  update:
    x-apievangelist-phrasing:
      intent: List placements, optionally filtered
      effect: read
      questions:
      - Which placements are running on a particular publisher site?
      - Can I filter placements by campaign, advertiser or placement group?
      - What placements match a name I only partly remember?
      instructions:
      - text: List all placements for profile {profileId}.
        slots:
          profileId: path.profileId
      - text: Show placements in campaign {campaignIds} for profile {profileId}.
        slots:
          campaignIds: query.campaignIds
          profileId: path.profileId
      - text: Find placements on site {siteIds} whose name contains {searchString} for profile {profileId}.
        slots:
          siteIds: query.siteIds
          searchString: query.searchString
          profileId: path.profileId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/placements'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a placement on a publisher site
      effect: write
      questions:
      - How do I add a new ad slot on a publisher site to my campaign?
      - What do I need to supply when setting up a placement, like compatibility and tag formats?
      - Can I attach a pricing schedule when I first create a placement?
      instructions:
      - text: Create placement {name} in campaign {campaignId} for profile {profileId} with compatibility {compatibility} and tag formats {tagFormats}.
        slots:
          name: requestBody.name
          campaignId: requestBody.campaignId
          profileId: path.profileId
          compatibility: requestBody.compatibility
          tagFormats: requestBody.tagFormats
      - text: Add a new placement {name} on site {siteId} under campaign {campaignId} for profile {profileId}.
        slots:
          name: requestBody.name
          siteId: requestBody.siteId
          campaignId: requestBody.campaignId
          profileId: path.profileId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/placements/{placementId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one placement
      effect: read
      questions:
      - What site, size and pricing does a specific placement have?
      - Can I pull the full settings of one placement by its ID?
      instructions:
      - text: Show placement {placementId} for profile {profileId}.
        slots:
          placementId: path.placementId
          profileId: path.profileId
      - text: Get the details of placement {placementId} under profile {profileId}.
        slots:
          placementId: path.placementId
          profileId: path.profileId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/placements/{placementId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a placement's full configuration
      effect: write
      questions:
      - How do I resubmit a placement with its complete set of settings?
      - Can I overwrite an existing placement's whole configuration in one request?
      instructions:
      - text: Replace placement {placementId} on profile {profileId} as {name} in campaign {campaignId}, {compatibility}, tags {tagFormats}.
        slots:
          placementId: path.placementId
          profileId: path.profileId
          name: requestBody.name
          campaignId: requestBody.campaignId
          compatibility: requestBody.compatibility
          tagFormats: requestBody.tagFormats
      - text: Overwrite every setting of placement {placementId} for profile {profileId}.
        slots:
          placementId: path.placementId
          profileId: path.profileId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/placements/{placementId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Change selected fields on a placement
      effect: write
      questions:
      - Can I just change a placement's status without touching its other settings?
      - How do I edit only the comment or pricing on a placement that already exists?
      instructions:
      - text: Set only the status of placement {placementId} on profile {profileId} to {status}.
        slots:
          placementId: path.placementId
          profileId: path.profileId
          status: requestBody.status
      - text: Just update the comment on placement {placementId} for profile {profileId} to {comment}.
        slots:
          placementId: path.placementId
          profileId: path.profileId
          comment: requestBody.comment
      method: generated
      generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/placements/generatetags'].post
  update:
    x-apievangelist-phrasing:
      intent: Generate ad tags for placements
      effect: read
      questions:
      - How do I get the tag code a publisher needs to put on their site?
      - Can I generate tags for several placements in one campaign at once?
      - Which tag formats can I request for my placements?
      instructions:
      - text: Generate tags for placements {placementIds} in campaign {campaignId} for profile {profileId}.
        slots:
          placementIds: query.placementIds
          campaignId: query.campaignId
          profileId: path.profileId
      - text: Produce {tagFormats} tag snippets for placement {placementIds} under profile {profileId}.
        slots:
          tagFormats: query.tagFormats
          placementIds: query.placementIds
          profileId: path.profileId
      method: generated
      generated: '2026-10-01'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/google-campaign-manager-placements-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.