Google Ads Customers.batch Jobs API

The customers.batchJobs API from Google Ads — 4 operation(s) for customers.batchjobs.

Operations 4

POST /v25/customers/{customersId}/batchJobs/{batchJobsId}:run Runs the batch job #
POST /v25/customers/{customersId}/batchJobs/{batchJobsId}:addOperations Add operations to the batch job #
POST /v25/customers/{customersId}/batchJobs:mutate Mutates a batch job #
GET /v25/customers/{customersId}/batchJobs/{batchJobsId}:listResults Returns the results of the batch job #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-ads-customers-batchjobs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-ads-customers-batchjobs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google Ads Customers.batch Jobs 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
servers:
- url: https://googleads.googleapis.com
  description: Google Ads API production server
security:
- oauth2:
  - https://www.googleapis.com/auth/adwords
tags:
- name: customers.batchJobs
paths:
  /v25/customers/{customersId}/batchJobs/{batchJobsId}:run:
    parameters:
    - 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.
    post:
      operationId: googleads_customers_batchJobs_run
      summary: Runs the batch job
      tags:
      - customers.batchJobs
      description: 'Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: resourceName
        in: path
        required: true
        schema:
          pattern: ^customers/[^/]+/batchJobs/[^/]+$
          type: string
        description: Required. The resource name of the BatchJob to run.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__RunBatchJobRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleLongrunning__Operation'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/batchJobs/{batchJobsId}:addOperations:
    parameters:
    - 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.
    post:
      operationId: googleads_customers_batchJobs_addOperations
      summary: Add operations to the batch job
      tags:
      - customers.batchJobs
      description: 'Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()'
      parameters:
      - name: resourceName
        in: path
        required: true
        schema:
          pattern: ^customers/[^/]+/batchJobs/[^/]+$
          type: string
        description: Required. The resource name of the batch job.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__AddBatchJobOperationsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__AddBatchJobOperationsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/batchJobs:mutate:
    parameters:
    - 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.
    post:
      operationId: googleads_customers_batchJobs_mutate
      summary: Mutates a batch job
      tags:
      - customers.batchJobs
      description: 'Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()'
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          pattern: ^[^/]+$
          type: string
        description: Required. The ID of the customer for which to create a batch job.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateBatchJobRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__MutateBatchJobResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
  /v25/customers/{customersId}/batchJobs/{batchJobsId}:listResults:
    parameters:
    - 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.
    get:
      operationId: googleads_customers_batchJobs_listResults
      summary: Returns the results of the batch job
      tags:
      - customers.batchJobs
      description: 'Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()'
      parameters:
      - name: resourceName
        in: path
        required: true
        schema:
          pattern: ^customers/[^/]+/batchJobs/[^/]+$
          type: string
        description: Required. The resource name of the batch job whose results are being listed.
      - name: pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
        description: Number of elements to retrieve in a single page. The default and the page_size limit is 1000. A value of 0 or an unset page size will be defaulted to 1000. A page size less than 0 or greater than 1000 will result in an INVALID_PAGE_SIZE error.
      - name: pageToken
        in: query
        required: false
        schema:
          type: string
        description: Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.
      - name: responseContentType
        in: query
        required: false
        schema:
          x-enumDescriptions:
          - Not specified. Will return the resource name only in the response.
          - The mutate response will be the resource name.
          - The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned.
          enum:
          - UNSPECIFIED
          - RESOURCE_NAME_ONLY
          - MUTABLE_RESOURCE
          type: string
        description: The response content type setting. Determines whether the mutable resource or just the resource name should be returned.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__ListBatchJobResultsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/adwords
components:
  schemas:
    GoogleAdsGoogleadsV25Resources_Campaign_VanityPharma:
      type: object
      properties:
        vanityPharmaText:
          description: The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.
          type: string
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Prescription treatment website with website content in English.
          - Prescription treatment website with website content in Spanish (Sitio de tratamientos con receta).
          - Prescription device website with website content in English.
          - Prescription device website with website content in Spanish (Sitio de dispositivos con receta).
          - Medical device website with website content in English.
          - Medical device website with website content in Spanish (Sitio de dispositivos médicos).
          - Preventative treatment website with website content in English.
          - Preventative treatment website with website content in Spanish (Sitio de tratamientos preventivos).
          - Prescription contraception website with website content in English.
          - Prescription contraception website with website content in Spanish (Sitio de anticonceptivos con receta).
          - Prescription vaccine website with website content in English.
          - Prescription vaccine website with website content in Spanish (Sitio de vacunas con receta).
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - PRESCRIPTION_TREATMENT_WEBSITE_EN
          - PRESCRIPTION_TREATMENT_WEBSITE_ES
          - PRESCRIPTION_DEVICE_WEBSITE_EN
          - PRESCRIPTION_DEVICE_WEBSITE_ES
          - MEDICAL_DEVICE_WEBSITE_EN
          - MEDICAL_DEVICE_WEBSITE_ES
          - PREVENTATIVE_TREATMENT_WEBSITE_EN
          - PREVENTATIVE_TREATMENT_WEBSITE_ES
          - PRESCRIPTION_CONTRACEPTION_WEBSITE_EN
          - PRESCRIPTION_CONTRACEPTION_WEBSITE_ES
          - PRESCRIPTION_VACCINE_WEBSITE_EN
          - PRESCRIPTION_VACCINE_WEBSITE_ES
        vanityPharmaDisplayUrlMode:
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Replace vanity pharma URL with manufacturer website url.
          - Replace vanity pharma URL with description of the website.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - MANUFACTURER_WEBSITE_URL
          - WEBSITE_DESCRIPTION
          type: string
          description: The display mode for vanity pharma URLs.
      description: Describes how unbranded pharma ads will be displayed.
    GoogleAdsGoogleadsV25Resources_ListingGroupFilterDimension_ProductType:
      type: object
      properties:
        value:
          description: Value of the type.
          type: string
        level:
          type: string
          description: Level of the type.
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - Level 1.
          - Level 2.
          - Level 3.
          - Level 4.
          - Level 5.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - LEVEL1
          - LEVEL2
          - LEVEL3
          - LEVEL4
          - LEVEL5
      description: Type of a product offer.
    GoogleAdsGoogleadsV25Common__HotelIdInfo:
      description: Advertiser-specific hotel ID.
      type: object
      properties:
        value:
          description: String value of the hotel ID.
          type: string
    GoogleAdsGoogleadsV25Resources__AdGroupAd:
      type: object
      properties:
        status:
          type: string
          description: The status of the ad.
          x-enumDescriptions:
          - No value has been specified.
          - The received value is not known in this version. This is a response-only value.
          - The ad group ad is enabled.
          - The ad group ad is paused.
          - The ad group ad is removed.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - ENABLED
          - PAUSED
          - REMOVED
        primaryStatus:
          x-enumDescriptions:
          - No value has been specified.
          - Used for return value only. Represents value unknown in this version.
          - The ad group ad is eligible to serve.
          - The ad group ad is paused.
          - The ad group ad is removed.
          - The ad cannot serve now, but may serve later without advertiser action.
          - The ad group ad is serving in a limited capacity.
          - The ad group ad is not eligible to serve.
          description: Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.
          type: string
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - ELIGIBLE
          - PAUSED
          - REMOVED
          - PENDING
          - LIMITED
          - NOT_ELIGIBLE
        adStrength:
          description: Output only. Overall ad strength for this ad group ad.
          type: string
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - PENDING
          - NO_ADS
          - POOR
          - AVERAGE
          - GOOD
          - EXCELLENT
          x-enumDescriptions:
          - Not specified.
          - Used for return value only. Represents value unknown in this version.
          - The ad strength is currently pending.
          - No ads could be generated.
          - Poor strength.
          - Average strength.
          - Good strength.
          - Excellent strength.
        actionItems:
          description: Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.".
          items:
            type: string
          type: array
        policySummary:
          description: Output only. Policy information for the ad.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AdGroupAdPolicySummary'
        ad:
          description: Immutable. The ad.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__Ad'
        primaryStatusReasons:
          description: Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.
          items:
            x-enumDescriptions:
            - No value has been specified.
            - Used for return value only. Represents value unknown in this version.
            - The user-specified campaign status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.
            - The user-specified campaign status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.
            - The user-specified time for this campaign to start is in the future. Contributes to AdGroupAdPrimaryStatus.PENDING.
            - The user-specified time for this campaign to end has passed. Contributes to AdGroupAdPrimaryStatus.ENDED.
            - The user-specified ad group status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.
            - The user-specified ad group status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.
            - The user-specified ad status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.
            - The user-specified ad status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.
            - The ad is disapproved. Contributes to AdGroupAdPrimaryStatus.NOT_ELIGIBLE.
            - The ad is under review. Contributes to AdGroupAdPrimaryStatus.PENDING.
            - The ad is poor quality. This is determined by the serving stack that served the Ad. Contributes to AdGroupAdPrimaryStatus.LIMITED.
            - No eligible ads instances could be generated. Contributes to AdGroupAdPrimaryStatus.PENDING.
            - The ad is internally labeled with a limiting label. Contributes to AdGroupAdPrimaryStatus.LIMITED.
            - The ad is only serving in the user-specified area of interest. Contributes to AdGroupAdPrimaryStatus.LIMITED.
            - The ad is part of an ongoing appeal. This reason does not impact AdGroupAdPrimaryStatus.
            enum:
            - UNSPECIFIED
            - UNKNOWN
            - CAMPAIGN_REMOVED
            - CAMPAIGN_PAUSED
            - CAMPAIGN_PENDING
            - CAMPAIGN_ENDED
            - AD_GROUP_PAUSED
            - AD_GROUP_REMOVED
            - AD_GROUP_AD_PAUSED
            - AD_GROUP_AD_REMOVED
            - AD_GROUP_AD_DISAPPROVED
            - AD_GROUP_AD_UNDER_REVIEW
            - AD_GROUP_AD_POOR_QUALITY
            - AD_GROUP_AD_NO_ADS
            - AD_GROUP_AD_APPROVED_LABELED
            - AD_GROUP_AD_AREA_OF_INTEREST_ONLY
            - AD_GROUP_AD_UNDER_APPEAL
            type: string
          type: array
        adGroup:
          description: Immutable. The ad group to which the ad belongs.
          type: string
        labels:
          type: array
          description: Output only. The resource names of labels attached to this ad group ad.
          items:
            type: string
        startDateTime:
          type: string
          description: The date and time when ad group ad starts serving. This is added on top of the campaign's start date and time, if present, to further restrict the duration of an ad group ad. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Only supported for some ad types.
        resourceName:
          description: 'Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`'
          type: string
        endDateTime:
          description: The last day and time when ad group ad serves. This is added on top of the campaign's end date and time, if present, to further restrict the duration of an ad group ad. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Only supported for some ad types.
          type: string
        adGroupAdAssetAutomationSettings:
          type: array
          description: Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.
          items:
            $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AdGroupAdAssetAutomationSetting'
      description: An ad group ad.
    GoogleAdsGoogleadsV25Services__MutateAdGroupCriterionCustomizerResult:
      description: The result for the ad group criterion customizer mutate.
      type: object
      properties:
        resourceName:
          description: Returned for successful operations.
          type: string
        adGroupCriterionCustomizer:
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Resources__AdGroupCriterionCustomizer'
          description: The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE".
    GoogleAdsGoogleadsV25Resources_Campaign_AssetAutomationSetting:
      description: Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status
      type: object
      properties:
        assetAutomationType:
          x-enumDescriptions:
          - Not specified.
          - Used as a return value only. Represents value unknown in this version.
          - Text asset automation (text customization) includes headlines and descriptions, allowing Google to create customized text assets using your existing ads, landing page copy, and generative AI across your campaign's ads. By default, advertisers are opted-in for Performance Max and opted-out for Search. Contrast this with `FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION`, which dynamically generates text assets to match the content of dynamically selected landing pages when final URL expansion is active.
          - Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.
          - Shortens video assets to better capture user attention using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAdInfo.
          - Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.
          - Generates text information from the landing page to be shown in the engagement panel. Opted in by default for DemandGenVideoResponsiveAdInfo.
          - Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.
          - Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.
          - Generates image extraction. It defaults to account level Dynamic Image Extension control value.
          - Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.
          - Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns. Enabling final URL expansion also enables text asset automation. There is no way to opt out of text asset automation and still use final URL expansion. Contrast this with standard `TEXT_ASSET_AUTOMATION` (text customization), which customizes copy across all ads in the campaign even when final URL expansion does not occur.
          - Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd.
          - Generates animated images using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - TEXT_ASSET_AUTOMATION
          - GENERATE_VERTICAL_YOUTUBE_VIDEOS
          - GENERATE_SHORTER_YOUTUBE_VIDEOS
          - GENERATE_LANDING_PAGE_PREVIEW
          - GENERATE_LANDING_PAGE_TEXT
          - GENERATE_ENHANCED_YOUTUBE_VIDEOS
          - GENERATE_IMAGE_ENHANCEMENT
          - GENERATE_IMAGE_EXTRACTION
          - GENERATE_DESIGN_VERSIONS_FOR_IMAGES
          - FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION
          - GENERATE_VIDEOS_FROM_OTHER_ASSETS
          - GENERATE_ANIMATED_IMAGES_FROM_OTHER_ASSETS
          type: string
          description: The asset automation type advertiser would like to opt-in/out.
        assetAutomationStatus:
          description: The opt-in/out status of asset automation type.
          type: string
          x-enumDescriptions:
          - Not specified.
          - Used as a return value only. Represents value unknown in this version.
          - Opted-in will enable generating and serving an asset automation type.
          - Opted-out will stop generating and serving an asset automation type.
          enum:
          - UNSPECIFIED
          - UNKNOWN
          - OPTED_IN
          - OPTED_OUT
    GoogleAdsGoogleadsV25Common__AudienceSegmentDimension:
      description: Dimension specifying users by their membership in other audience segments.
      type: object
      properties:
        segments:
          description: Included audience segments. Users are included if they belong to at least one segment.
          items:
            $ref: '#/components/schemas/GoogleAdsGoogleadsV25Common__AudienceSegment'
          type: array
    GoogleAdsGoogleadsV25Services__MutateBatchJobRequest:
      description: Request message for BatchJobService.MutateBatchJob.
      type: object
      properties:
        operation:
          description: Required. The operation to perform on an individual batch job.
          $ref: '#/components/schemas/GoogleAdsGoogleadsV25Services__BatchJobOperation'
    GoogleAdsGoogleadsV25Services__MutateCustomConversionGoalResult

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