Google Campaign Manager · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Google Campaign Manager Campaign Manager 360 Ads API
6 actions
6 updates
phrasing
extends
openapi/google-campaign-manager-ads-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.
What the actions change
x-apievangelist-phrasing
Targets 6
$.info
$.paths['/userprofiles/{profileId}/ads'].get
$.paths['/userprofiles/{profileId}/ads'].post
$.paths['/userprofiles/{profileId}/ads/{adId}'].get
$.paths['/userprofiles/{profileId}/ads/{adId}'].put
$.paths['/userprofiles/{profileId}/ads/{adId}'].patch
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 Google Campaign Manager Campaign Manager 360 Ads API
version: 1.0.0
extends: openapi/google-campaign-manager-ads-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['/userprofiles/{profileId}/ads'].get
update:
x-apievangelist-phrasing:
intent: List ads, optionally filtered
effect: read
questions:
- Which ads are active in a given campaign right now?
- Can I list only archived ads, or filter by ad type?
- What ads are assigned to a particular placement?
instructions:
- text: List all ads for profile {profileId}.
slots:
profileId: path.profileId
- text: Show active ads in campaign {campaignIds} for profile {profileId}.
slots:
campaignIds: query.campaignIds
profileId: path.profileId
- text: Find ads named like {searchString} assigned to placement {placementIds} for profile {profileId}.
slots:
searchString: query.searchString
placementIds: query.placementIds
profileId: path.profileId
method: generated
generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/ads'].post
update:
x-apievangelist-phrasing:
intent: Create an ad in a campaign
effect: write
questions:
- How do I create a new ad with a start and end date under my campaign?
- Can I set geo and day-part targeting when I first create an ad?
- What fields are required to add an ad to a campaign?
instructions:
- text: Create ad {name} of type {type} in campaign {campaignId} for advertiser {advertiserId}, running {startTime} to {endTime}, under profile {profileId}.
slots:
name: requestBody.name
type: requestBody.type
campaignId: requestBody.campaignId
advertiserId: requestBody.advertiserId
startTime: requestBody.startTime
endTime: requestBody.endTime
profileId: path.profileId
- text: Add a new ad {name} to campaign {campaignId} on profile {profileId} with geo targeting {geoTargeting}.
slots:
name: requestBody.name
campaignId: requestBody.campaignId
profileId: path.profileId
geoTargeting: requestBody.geoTargeting
method: generated
generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/ads/{adId}'].get
update:
x-apievangelist-phrasing:
intent: Look up one ad
effect: read
questions:
- What targeting and creative rotation does a specific ad use?
- Can I see the full settings of a single ad by its ID?
instructions:
- text: Show ad {adId} for profile {profileId}.
slots:
adId: path.adId
profileId: path.profileId
- text: Get the details of ad {adId} under profile {profileId}.
slots:
adId: path.adId
profileId: path.profileId
method: generated
generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/ads/{adId}'].put
update:
x-apievangelist-phrasing:
intent: Replace an ad's full configuration
effect: write
questions:
- How do I resubmit an ad with all of its writable fields filled in?
- Can I overwrite an existing ad's complete setup in one request?
instructions:
- text: 'Replace ad {adId} on profile {profileId} with a full body: name {name}, campaign {campaignId}, advertiser {advertiserId}, type {type}, {startTime} to {endTime}.'
slots:
adId: path.adId
profileId: path.profileId
name: requestBody.name
campaignId: requestBody.campaignId
advertiserId: requestBody.advertiserId
type: requestBody.type
startTime: requestBody.startTime
endTime: requestBody.endTime
- text: Overwrite every writable field of ad {adId} for profile {profileId}.
slots:
adId: path.adId
profileId: path.profileId
method: generated
generated: '2026-10-01'
- target: $.paths['/userprofiles/{profileId}/ads/{adId}'].patch
update:
x-apievangelist-phrasing:
intent: Change selected fields on an ad
effect: write
questions:
- Can I pause an ad by changing only its active flag?
- How do I push back just an ad's end date without resending everything?
instructions:
- text: Set only the active flag on ad {adId} for profile {profileId} to {active}.
slots:
adId: path.adId
profileId: path.profileId
active: requestBody.active
- text: Just change the end time of ad {adId} on profile {profileId} to {endTime}.
slots:
adId: path.adId
profileId: path.profileId
endTime: requestBody.endTime
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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/google-campaign-manager-ads-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.