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