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