Google Ads API

The complete Google Ads API v25 surface — 174 operations across campaigns, ad groups, ads, criteria, assets, budgets, bidding, conversions, planning, audience insights, batch jobs and reporting. Described by the OpenAPI 3.1 document derived from Google's own API Discovery Document, which is the only machine-readable contract Google publishes for this API.

Documentation

Specifications

Other Resources

OpenAPI Specification

google-ads-api-v25-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Ads API
  description: Manage your Google Ads accounts, campaigns, and reports with this API.
  version: v25
  x-discovery-revision: '20260721'
  contact:
    name: Google
    url: https://developers.google.com/google-ads/api/
  termsOfService: https://developers.google.com/terms
externalDocs:
  url: https://developers.google.com/google-ads/api/
servers:
- url: https://googleads.googleapis.com
  description: Google Ads API production server
tags:
- name: audienceInsights
- name: customers
- name: customers.AdGroupCriterionCustomizers
- name: customers.CampaignGoalConfigs
- name: customers.CustomerCustomizers
- name: customers.Goals
- name: customers.accountBudgetProposals
- name: customers.accountLinks
- name: customers.adGroupAdLabels
- name: customers.adGroupAds
- name: customers.adGroupAssetSets
- name: customers.adGroupAssets
- name: customers.adGroupBidModifiers
- name: customers.adGroupCriteria
- name: customers.adGroupCriterionLabels
- name: customers.adGroupCustomizers
- name: customers.adGroupLabels
- name: customers.adGroups
- name: customers.adParameters
- name: customers.ads
- name: customers.assetGenerations
- name: customers.assetGroupAssets
- name: customers.assetGroupListingGroupFilters
- name: customers.assetGroupSignals
- name: customers.assetGroups
- name: customers.assetSetAssets
- name: customers.assetSets
- name: customers.assets
- name: customers.audiences
- name: customers.batchJobs
- name: customers.biddingDataExclusions
- name: customers.biddingSeasonalityAdjustments
- name: customers.biddingStrategies
- name: customers.billingSetups
- name: customers.campaignAssetSets
- name: customers.campaignAssets
- name: customers.campaignBidModifiers
- name: customers.campaignBudgets
- name: customers.campaignConversionGoals
- name: customers.campaignCriteria
- name: customers.campaignCustomizers
- name: customers.campaignDrafts
- name: customers.campaignGroups
- name: customers.campaignLabels
- name: customers.campaignSharedSets
- name: customers.campaigns
- name: customers.conversionActions
- name: customers.conversionCustomVariables
- name: customers.conversionGoalCampaignConfigs
- name: customers.conversionValueRuleSets
- name: customers.conversionValueRules
- name: customers.customAudiences
- name: customers.customConversionGoals
- name: customers.customInterests
- name: customers.customerAssetSets
- name: customers.customerAssets
- name: customers.customerClientLinks
- name: customers.customerConversionGoals
- name: customers.customerLabels
- name: customers.customerManagerLinks
- name: customers.customerNegativeCriteria
- name: customers.customerSkAdNetworkConversionValueSchemas
- name: customers.customerUserAccessInvitations
- name: customers.customerUserAccesses
- name: customers.customizerAttributes
- name: customers.dataLinks
- name: customers.experimentArms
- name: customers.experiments
- name: customers.googleAds
- name: customers.incentives
- name: customers.invoices
- name: customers.keywordPlanAdGroupKeywords
- name: customers.keywordPlanAdGroups
- name: customers.keywordPlanCampaignKeywords
- name: customers.keywordPlanCampaigns
- name: customers.keywordPlans
- name: customers.labels
- name: customers.localServices
- name: customers.localServicesLeads
- name: customers.multiPartyAuthReview
- name: customers.offlineUserDataJobs
- name: customers.operations
- name: customers.paymentsAccounts
- name: customers.productLinkInvitations
- name: customers.productLinks
- name: customers.recommendationSubscriptions
- name: customers.recommendations
- name: customers.remarketingActions
- name: customers.reservations
- name: customers.sharedCriteria
- name: customers.sharedSets
- name: customers.smartCampaignSettings
- name: customers.thirdPartyAppAnalyticsLinks
- name: customers.userListCustomerTypes
- name: customers.userLists
- name: customers.youTubeVideoUploads
- name: geoTargetConstants
- name: googleAdsFields
- name: incentives
- name: keywordThemeConstants
- name: media
- name: v25
paths:
  /v25/customers/{customersId}:generateShareablePreviews:
    post:
      operationId: googleads_customers_generateShareablePreviews
      summary: Returns the requested Shareable Preview.
      tags:
      - customers
      description: Returns the requested Shareable Preview.
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The customer creating the shareable previews request.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateShareablePreviewsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateShareablePreviewsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: &id001
    - name: upload_protocol
      in: query
      required: false
      schema:
        type: string
      description: Upload protocol for media (e.g. "raw", "multipart").
    - name: quotaUser
      in: query
      required: false
      schema:
        type: string
      description: Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned
        to a user, but should not exceed 40 characters.
    - name: fields
      in: query
      required: false
      schema:
        type: string
      description: Selector specifying which fields to include in a partial response.
    - name: $.xgafv
      in: query
      required: false
      schema:
        type: string
        enum:
        - '1'
        - '2'
        x-enumDescriptions:
        - v1 error format
        - v2 error format
      description: V1 error format.
    - name: callback
      in: query
      required: false
      schema:
        type: string
      description: JSONP
    - name: prettyPrint
      in: query
      required: false
      schema:
        type: boolean
        default: 'true'
      description: Returns response with indentations and line breaks.
    - name: access_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth access token.
    - name: uploadType
      in: query
      required: false
      schema:
        type: string
      description: Legacy upload protocol for media (e.g. "media", "multipart").
    - name: key
      in: query
      required: false
      schema:
        type: string
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required
        unless you provide an OAuth 2.0 token.
    - name: oauth_token
      in: query
      required: false
      schema:
        type: string
      description: OAuth 2.0 token for the current user.
    - name: alt
      in: query
      required: false
      schema:
        x-enumDescriptions:
        - Responses with Content-Type of application/json
        - Media download with context-dependent Content-Type
        - Responses with Content-Type of application/x-protobuf
        type: string
        default: json
        enum:
        - json
        - media
        - proto
      description: Data format for response.
  /v25/customers:listAccessibleCustomers:
    get:
      operationId: googleads_customers_listAccessibleCustomers
      summary: Returns resource names of customers directly accessible by the user authenticating the call
      tags:
      - customers
      description: 'Returns resource names of customers directly accessible by the user authenticating the call. List of thrown
        errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__ListAccessibleCustomersResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateKeywordHistoricalMetrics:
    post:
      operationId: googleads_customers_generateKeywordHistoricalMetrics
      summary: Returns a list of keyword historical metrics
      tags:
      - customers
      description: 'Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]()
        [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: The ID of the customer with the recommendation.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateKeywordHistoricalMetricsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateKeywordHistoricalMetricsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:suggestKeywordThemes:
    post:
      operationId: googleads_customers_suggestKeywordThemes
      summary: Suggests keyword themes to advertise on.
      tags:
      - customers
      description: Suggests keyword themes to advertise on.
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestKeywordThemesRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestKeywordThemesResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateAudienceDefinition:
    post:
      operationId: googleads_customers_generateAudienceDefinition
      summary: Returns a collection of audience attributes using generative AI based on the provided audience description
      tags:
      - customers
      description: 'Returns a collection of audience attributes using generative AI based on the provided audience description.
        List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]()
        [InternalError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateAudienceDefinitionRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateAudienceDefinitionResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateTrendingInsights:
    post:
      operationId: googleads_customers_generateTrendingInsights
      summary: Returns insights for trending content on YouTube
      tags:
      - customers
      description: 'Returns insights for trending content on YouTube. List of thrown errors: [AuthenticationError]() [AuthorizationError]()
        [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateTrendingInsightsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateTrendingInsightsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateAudienceOverlapInsights:
    post:
      operationId: googleads_customers_generateAudienceOverlapInsights
      summary: Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube
        reach and that of a given input attribute
      tags:
      - customers
      description: 'Returns a collection of audience attributes along with estimates of the overlap between their potential
        YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]()
        [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateAudienceOverlapInsightsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateAudienceOverlapInsightsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:suggestSmartCampaignBudgetOptions:
    post:
      operationId: googleads_customers_suggestSmartCampaignBudgetOptions
      summary: Returns BudgetOption suggestions.
      tags:
      - customers
      description: Returns BudgetOption suggestions.
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer whose budget options are to be suggested.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestSmartCampaignBudgetOptionsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestSmartCampaignBudgetOptionsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateSuggestedTargetingInsights:
    post:
      operationId: googleads_customers_generateSuggestedTargetingInsights
      summary: Returns a collection of targeting insights (e.g
      tags:
      - customers
      description: 'Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested
        audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]()
        [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateSuggestedTargetingInsightsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateSuggestedTargetingInsightsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateKeywordForecastMetrics:
    post:
      operationId: googleads_customers_generateKeywordForecastMetrics
      summary: Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign
      tags:
      - customers
      description: 'Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign.
        List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]()
        [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateKeywordForecastMetricsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateKeywordForecastMetricsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateCreatorInsights:
    post:
      operationId: googleads_customers_generateCreatorInsights
      summary: Returns insights for a collection of YouTube Creators and Channels
      tags:
      - customers
      description: 'Returns insights for a collection of YouTube Creators and Channels. List of thrown errors: [AuthenticationError]()
        [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateCreatorInsightsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateCreatorInsightsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:uploadClickConversions:
    post:
      operationId: googleads_customers_uploadClickConversions
      summary: Processes the given click conversions
      tags:
      - customers
      description: 'Processes the given click conversions. List of thrown errors: [AuthenticationError]() [AuthorizationError]()
        [ConversionUploadError]() [HeaderError]() [InternalError]() [PartialFailureError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer performing the upload.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__UploadClickConversionsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__UploadClickConversionsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:suggestTravelAssets:
    post:
      operationId: googleads_customers_suggestTravelAssets
      summary: Returns Travel Asset suggestions
      tags:
      - customers
      description: Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees
        that all possible asset types will be returned for any given hotel property.
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestTravelAssetsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestTravelAssetsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:uploadUserData:
    post:
      operationId: googleads_customers_uploadUserData
      summary: Uploads the given user data
      tags:
      - customers
      description: 'Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]()
        [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()
        [UserDataError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer for which to update the user data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__UploadUserDataRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__UploadUserDataResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:uploadConversionAdjustments:
    post:
      operationId: googleads_customers_uploadConversionAdjustments
      summary: Processes the given conversion adjustments
      tags:
      - customers
      description: 'Processes the given conversion adjustments. List of thrown errors: [AuthenticationError]() [AuthorizationError]()
        [HeaderError]() [InternalError]() [PartialFailureError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer performing the upload.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__UploadConversionAdjustmentsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__UploadConversionAdjustmentsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:removeCampaignAutomaticallyCreatedAsset:
    post:
      operationId: googleads_customers_removeCampaignAutomaticallyCreatedAsset
      summary: Removes automatically created assets from a campaign
      tags:
      - customers
      description: 'Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]()
        [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer whose assets are being removed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__RemoveCampaignAutomaticallyCreatedAssetRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__RemoveCampaignAutomaticallyCreatedAssetResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateAudienceCompositionInsights:
    post:
      operationId: googleads_customers_generateAudienceCompositionInsights
      summary: Returns a collection of attributes that are represented in an audience of interest, with metrics that compare
        each attribute's share of the audience with its share of a baseline audience
      tags:
      - customers
      description: 'Returns a collection of attributes that are represented in an audience of interest, with metrics that
        compare each attribute''s share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]()
        [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]()
        [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateAudienceCompositionInsightsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateAudienceCompositionInsightsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:suggestSmartCampaignAd:
    post:
      operationId: googleads_customers_suggestSmartCampaignAd
      summary: Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting
        and the business to advertise.
      tags:
      - customers
      description: Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting
        and the business to advertise.
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestSmartCampaignAdRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__SuggestSmartCampaignAdResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:startIdentityVerification:
    post:
      operationId: googleads_customers_startIdentityVerification
      summary: Starts Identity Verification for a given verification program type
      tags:
      - customers
      description: 'Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown
        errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The Id of the customer for whom we are creating this verification.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__StartIdentityVerificationRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleProtobuf__Empty'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}:generateReachForecast:
    post:
      operationId: googleads_customers_generateReachForecast
      summary: Generates a reach forecast for a given targeting / product mix
      tags:
      - customers
      description: 'Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]()
        [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]()
        [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
          pattern: ^[^/]+$
        description: Required. The ID of the customer.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateReachForecastRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GenerateReachForecastResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
    parameters: *id001
  /v25/customers/{customersId}/getIdentityVerification:
    get:
      operationId: googleads_customers_getIdentityVerification
      summary: Returns Identity Verification information
      tags:
      - customers
      description: 'Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]()
        [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer for whom we are requesting verification information.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__GetIdentityVerificationResponse'
      security:
      - oauth2:
        - https://www.googleap

# --- truncated at 32 KB (2729 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-ads/refs/heads/main/openapi/google-ads-api-v25-openapi.yml