Google Ads · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Google Ads Customers.campaign Drafts API

4 actions 4 updates phrasing extends openapi/google-ads-customers-campaigndrafts-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Google Ads's API. It is a proposal applied on top of the contract, not a document Google Ads publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 4

$.info
$.paths['/v25/customers/{customersId}/campaignDrafts/{campaignDraftsId}:promote'].post
$.paths['/v25/customers/{customersId}/campaignDrafts/{campaignDraftsId}:listAsyncErrors'].get
$.paths['/v25/customers/{customersId}/campaignDrafts:mutate'].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 Ads Customers.campaign Drafts API
  version: 1.0.0
extends: openapi/google-ads-customers-campaigndrafts-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-02'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 3
- target: $.paths['/v25/customers/{customersId}/campaignDrafts/{campaignDraftsId}:promote'].post
  update:
    x-apievangelist-phrasing:
      intent: Promote a campaign draft to its base
      effect: write
      questions:
      - How do I push the changes in a campaign draft back to the live campaign?
      - Is promoting a draft done asynchronously?
      instructions:
      - text: Promote campaign draft {draft} in account {customer} to its base campaign.
        slots:
          draft: path.campaignDraftsId
          customer: path.customersId
      - text: Check whether draft {draft} in account {customer} can be promoted without applying it.
        slots:
          draft: path.campaignDraftsId
          customer: path.customersId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/campaignDrafts/{campaignDraftsId}:listAsyncErrors'].get
  update:
    x-apievangelist-phrasing:
      intent: List errors from promoting a draft
      effect: read
      questions:
      - Why did my campaign draft promotion fail?
      - Can I see draft promote errors before the draft has been promoted?
      instructions:
      - text: List the promotion errors for campaign draft {draft} in account {customer}.
        slots:
          draft: path.campaignDraftsId
          customer: path.customersId
      - text: Show {size} async errors for draft {draft} in account {customer}.
        slots:
          size: query.pageSize
          draft: path.campaignDraftsId
          customer: path.customersId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/campaignDrafts:mutate'].post
  update:
    x-apievangelist-phrasing:
      intent: Create, update or remove campaign drafts
      effect: write
      questions:
      - Can I make a draft copy of a campaign to test changes safely?
      - Is there a way to delete old campaign drafts in bulk?
      instructions:
      - text: Create or update campaign drafts {operations} in account {customer}.
        slots:
          operations: requestBody.operations
          customer: path.customersId
      - text: Remove the campaign drafts listed in {operations} from account {customer}.
        slots:
          operations: requestBody.operations
          customer: path.customersId
      method: generated
      generated: '2026-10-02'