Google Ads · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Google Ads Customers.experiments API

7 actions 7 updates phrasing extends openapi/google-ads-customers-experiments-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 7

$.info
$.paths['/v25/customers/{customersId}/experiments/{experimentsId}:scheduleExperiment'].post
$.paths['/v25/customers/{customersId}/experiments/{experimentsId}:graduateExperiment'].post
$.paths['/v25/customers/{customersId}/experiments/{experimentsId}:promoteExperiment'].post
$.paths['/v25/customers/{customersId}/experiments:mutate'].post
$.paths['/v25/customers/{customersId}/experiments/{experimentsId}:endExperiment'].post
$.paths['/v25/customers/{customersId}/experiments/{experimentsId}:listExperimentAsyncErrors'].get

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.experiments API
  version: 1.0.0
extends: openapi/google-ads-customers-experiments-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: 6
- target: $.paths['/v25/customers/{customersId}/experiments/{experimentsId}:scheduleExperiment'].post
  update:
    x-apievangelist-phrasing:
      intent: Schedule an experiment to start
      effect: write
      questions:
      - How do I start running a campaign experiment I've designed?
      - What status does an experiment get right after it's scheduled?
      instructions:
      - text: Schedule experiment {experiment} in account {customer} so its trial campaign starts serving.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      - text: Validate scheduling for experiment {experiment} in account {customer} without launching it.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/experiments/{experimentsId}:graduateExperiment'].post
  update:
    x-apievangelist-phrasing:
      intent: Graduate an experiment to a full campaign
      effect: write
      questions:
      - Can I turn a winning experiment campaign into its own standalone campaign?
      - Which budget does a graduated experiment campaign use?
      instructions:
      - text: Graduate experiment {experiment} in account {customer} into a full campaign.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      - text: Graduate experiment {experiment} in account {customer} using budget mappings {mappings}.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
          mappings: requestBody.campaignBudgetMappings
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/experiments/{experimentsId}:promoteExperiment'].post
  update:
    x-apievangelist-phrasing:
      intent: Apply an experiment's changes to the base
      effect: write
      questions:
      - How do I copy the changes from my trial campaign back onto the original campaign?
      - Is promoting an experiment tracked as a long-running operation?
      instructions:
      - text: Promote experiment {experiment} in account {customer} so its changes apply to the base campaign.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      - text: Check that experiment {experiment} in account {customer} can be promoted without actually promoting it.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/experiments:mutate'].post
  update:
    x-apievangelist-phrasing:
      intent: Create, update or remove experiments
      effect: write
      questions:
      - Can I set up a new campaign experiment in an account?
      - Is it possible to edit or delete several experiments in one request?
      instructions:
      - text: Create or update experiments {operations} in account {customer}.
        slots:
          operations: requestBody.operations
          customer: path.customersId
      - text: Remove experiments via {operations} in account {customer}, allowing partial failure.
        slots:
          operations: requestBody.operations
          customer: path.customersId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/experiments/{experimentsId}:endExperiment'].post
  update:
    x-apievangelist-phrasing:
      intent: End an experiment immediately
      effect: destructive
      questions:
      - Can I stop an experiment right now instead of waiting for its end date?
      - What happens to the end date when I end an experiment early?
      instructions:
      - text: End experiment {experiment} in account {customer} immediately.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      - text: Stop experiment {experiment} in account {customer} now and set its end date to today.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      method: generated
      generated: '2026-10-02'
- target: $.paths['/v25/customers/{customersId}/experiments/{experimentsId}:listExperimentAsyncErrors'].get
  update:
    x-apievangelist-phrasing:
      intent: List errors from an experiment update
      effect: read
      questions:
      - Why did scheduling or promoting my experiment fail?
      - Where can I page through the async errors from the last experiment update?
      instructions:
      - text: List the async errors for experiment {experiment} in account {customer}.
        slots:
          experiment: path.experimentsId
          customer: path.customersId
      - text: Show up to {size} errors from the last scheduling or promotion of {experiment} in account {customer}.
        slots:
          size: query.pageSize
          experiment: path.experimentsId
          customer: path.customersId
      method: generated
      generated: '2026-10-02'