Google Ads · Schema

GoogleAdsGoogleadsV25Services__AddBatchJobOperationsRequest

Request message for BatchJobService.AddBatchJobOperations.

AdvertisingCampaign ManagementDigital AdvertisingGoogleMarketingPPCGoogle AdsAdTech

Properties

Name Type Description
sequenceToken string A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_tok
mutateOperations array Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 c
View JSON Schema on GitHub

JSON Schema

google-ads-google-ads-googleads-v25-services-add-batch-job-operations-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-add-batch-job-operations-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__AddBatchJobOperationsRequest",
  "description": "Request message for BatchJobService.AddBatchJobOperations.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-batchjobs-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__AddBatchJobOperationsRequest",
  "type": "object",
  "properties": {
    "sequenceToken": {
      "description": "A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response.",
      "type": "string"
    },
    "mutateOperations": {
      "type": "array",
      "description": "Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to \"customers/1234/campaigns/-1\", and creating an ad group in the second operation with the campaign field also set to \"customers/1234/campaigns/-1\".",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__MutateOperation"
      }
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Actions_BookCampaignsOperation_Campaign": {
      "type": "object",
      "properties": {
        "campaign": {
          "type": "string",
          "description": "Campaign resource to book. Format: customers/{customer_id}/campaigns/{campaign_id}"
        },
        "requestType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Book the campaign. The campaign must have ENABLED status. If the campaign has a hold, it will remove the hold and confirm the contract.",
            "Hold the inventory for the campaign. The campaign must have PAUSED status to request a hold."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "BOOK",
            "HOLD"
          ],
          "type": "string",
          "description": "Determines if the current request should book the inventory or hold it."
        }
      },
      "description": "A single campaign to book."
    },
    "GoogleAdsGoogleadsV25Actions_QuoteCampaignsOperation_Campaign": {
      "type": "object",
      "properties": {
        "campaign": {
          "description": "Campaign for which the quote is requested. Format: customers/{customer_id}/campaigns/{campaign_id}",
          "type": "string"
        }
      },
      "description": "A campaign for which the quote is requested."
    },
    "GoogleAdsGoogleadsV25Actions__BookCampaignsOperation": {
      "type": "object",
      "properties": {
        "campaigns": {
          "description": "Campaigns to book. Maximum 2 campaigns per request.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Actions_BookCampaignsOperation_Campaign"
          },
          "type": "array"
        },
        "quoteSignature": {
          "description": "If provided, the signature of the previous quote. Clients should always provide the quote signature from previous quotes if they haven't changed the campaigns to prevent price fluctuations within a user session.",
          "type": "string"
        }
      },
      "description": "Request message for the BookCampaigns action. Request including this operation can have a latency of up to 30 seconds. This feature is not publicly available."
    },
    "GoogleAdsGoogleadsV25Actions__QuoteCampaignsOperation": {
      "type": "object",
      "properties": {
        "campaigns": {
          "type": "array",
          "description": "Campaigns for which the quotes are requested. Maximum 2 campaigns per request.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Actions_QuoteCampaignsOperation_Campaign"
          }
        },
        "quoteSignature": {
          "description": "If provided, the signature of the previous quote. Clients should always provide the quote signature from previous quotes if they haven't changed the campaigns to prevent price fluctuations within a user session.",
          "type": "string"
        }
      },
      "description": "Request message for the QuoteCampaigns action. Request including this operation can have a latency of up to 30 seconds. This feature is not publicly available."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraint": {
      "type": "object",
      "properties": {
        "countryCriterion": {
          "description": "Geo target constant resource name of the country in which serving is constrained.",
          "type": "string"
        }
      },
      "description": "Indicates that a resource's ability to serve in a particular country is constrained."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraintList": {
      "description": "A list of countries where a resource's serving is constrained.",
      "type": "object",
      "properties": {
        "totalTargetedCountries": {
          "format": "int32",
          "type": "integer",
          "description": "Total number of countries targeted by the resource."
        },
        "countries": {
          "type": "array",
          "description": "Countries in which serving is restricted.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_CountryConstraint"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicConstraint_ResellerConstraint": {
      "description": "Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.",
      "type": "object",
      "properties": {}
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationMismatch": {
      "type": "object",
      "properties": {
        "urlTypes": {
          "type": "array",
          "description": "The set of URLs that did not match each other.",
          "items": {
            "x-enumDescriptions": [
              "No value has been specified.",
              "The received value is not known in this version. This is a response-only value.",
              "The display url.",
              "The final url.",
              "The final mobile url.",
              "The tracking url template, with substituted desktop url.",
              "The tracking url template, with substituted mobile url."
            ],
            "enum": [
              "UNSPECIFIED",
              "UNKNOWN",
              "DISPLAY_URL",
              "FINAL_URL",
              "FINAL_MOBILE_URL",
              "TRACKING_URL",
              "MOBILE_TRACKING_URL"
            ],
            "type": "string"
          }
        }
      },
      "description": "Evidence of mismatches between the URLs of a resource."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationNotWorking": {
      "type": "object",
      "properties": {
        "httpErrorCode": {
          "format": "int64",
          "type": "string",
          "description": "The HTTP error code."
        },
        "expandedUrl": {
          "type": "string",
          "description": "The full URL that didn't work."
        },
        "device": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Landing page doesn't work on desktop device.",
            "Landing page doesn't work on Android device.",
            "Landing page doesn't work on iOS device."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DESKTOP",
            "ANDROID",
            "IOS"
          ],
          "type": "string",
          "description": "The type of device that failed to load the URL."
        },
        "dnsErrorType": {
          "description": "The type of DNS error.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Host name not found in DNS when fetching landing page.",
            "Google internal crawler issue when communicating with DNS. This error doesn't mean the landing page doesn't work. Google will recrawl the landing page."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HOSTNAME_NOT_FOUND",
            "GOOGLE_CRAWLER_DNS_ISSUE"
          ]
        },
        "lastCheckedDateTime": {
          "description": "The time the URL was last checked. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"",
          "type": "string"
        }
      },
      "description": "Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_DestinationTextList": {
      "type": "object",
      "properties": {
        "destinationTexts": {
          "type": "array",
          "description": "List of text found in the resource's destination page.",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "A list of strings found in a destination page that caused a policy finding."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_TextList": {
      "type": "object",
      "properties": {
        "texts": {
          "description": "The fragments of text from the resource that caused the policy finding.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "A list of fragments of text that violated a policy."
    },
    "GoogleAdsGoogleadsV25Common_PolicyTopicEvidence_WebsiteList": {
      "description": "A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here.",
      "type": "object",
      "properties": {
        "websites": {
          "type": "array",
          "description": "Websites that caused the policy finding.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityCityInfo": {
      "description": "The city where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity city. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityCountryInfo": {
      "description": "The country where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity country. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityIdInfo": {
      "description": "Advertiser-specific activity ID.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity ID."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityRatingInfo": {
      "description": "Rating of the activity as a number 1 to 5, where 5 is the best.",
      "type": "object",
      "properties": {
        "value": {
          "description": "Long value of the activity rating.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityStateInfo": {
      "description": "The state where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity state. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdAppDeepLinkAsset": {
      "description": "An app deep link used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this app deep link asset."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdAssetPolicySummary": {
      "type": "object",
      "properties": {
        "policyTopicEntries": {
          "description": "The list of policy findings for this asset.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PolicyTopicEntry"
          },
          "type": "array"
        },
        "reviewStatus": {
          "description": "Where in the review process this asset.",
          "type": "string",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Currently under review.",
            "Primary review complete. Other reviews may be continuing.",
            "The resource has been resubmitted for approval or its policy decision has been appealed.",
            "The resource is eligible and may be serving but could still undergo further review."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "REVIEW_IN_PROGRESS",
            "REVIEWED",
            "UNDER_APPEAL",
            "ELIGIBLE_MAY_SERVE"
          ]
        },
        "approvalStatus": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "Will not serve.",
            "Serves with restrictions.",
            "Serves without restrictions.",
            "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "DISAPPROVED",
            "APPROVED_LIMITED",
            "APPROVED",
            "AREA_OF_INTEREST_ONLY"
          ],
          "description": "The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.",
          "type": "string"
        }
      },
      "description": "Contains policy information for an asset inside an ad."
    },
    "GoogleAdsGoogleadsV25Common__AdCallToActionAsset": {
      "description": "A call to action asset used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this call to action asset."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdDemandGenCarouselCardAsset": {
      "type": "object",
      "properties": {
        "asset": {
          "description": "The Asset resource name of this discovery carousel card.",
          "type": "string"
        }
      },
      "description": "A Demand Gen carousel card asset used inside an ad."
    },
    "GoogleAdsGoogleadsV25Common__AdImageAsset": {
      "type": "object",
      "properties": {
        "asset": {
          "description": "The Asset resource name of this image.",
          "type": "string"
        }
      },
      "description": "An image asset used inside an ad."
    },
    "GoogleAdsGoogleadsV25Common__AdMediaBundleAsset": {
      "description": "A media bundle asset used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this media bundle."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdScheduleInfo": {
      "type": "object",
      "properties": {
        "dayOfWeek": {
          "description": "Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Monday.",
            "Tuesday.",
            "Wednesday.",
            "Thursday.",
            "Friday.",
            "Saturday.",
            "Sunday."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ]
        },
        "startHour": {
          "type": "integer",
          "description": "Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "format": "int32"
        },
        "endHour": {
          "type": "integer",
          "description": "Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "format": "int32"
        },
        "endMinute": {
          "type": "string",
          "description": "Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Zero minutes past the hour.",
            "Fifteen minutes past the hour.",
            "Thirty minutes past the hour.",
            "Forty-five minutes past the hour."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ZERO",
            "FIFTEEN",
            "THIRTY",
            "FORTY_FIVE"
          ]
        },
        "startMinute": {
          "description": "Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Zero minutes past the hour.",
            "Fifteen minutes past the hour.",
            "Thirty minutes past the hour.",
            "Forty-five minutes past the hour."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ZERO",
            "FIFTEEN",
            "THIRTY",
            "FORTY_FIVE"
          ]
        }
      },
      "description": "Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day."
    },
    "GoogleAdsGoogleadsV25Common__AdTextAsset": {
      "description": "A text asset used inside an ad.",
      "type": "object",
      "properties": {
        "pinnedField": {
          "type": "string",
          "description": "The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.",
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The asset is used in headline 1.",
            "The asset is used in headline 2.",
            "The asset is used in headline 3.",
            "The asset is used in description 1.",
            "The asset is used in description 2.",
            "The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums",
            "The asset was used as a headline in portrait image.",
            "The asset was used in a long headline (used in MultiAssetResponsiveAd).",
            "The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums",
            "The asset was used as description in portrait image.",
            "The asset was used as business name in portrait image.",
            "The asset was used as business name.",
            "The asset was used as a marketing image.",
            "The asset was used as a marketing image in portrait image.",
            "The asset was used as a square marketing image.",
            "The asset was used as a portrait marketing image.",
            "The asset was used as a logo.",
            "The asset was used as a landscape logo.",
            "The asset was used as a call-to-action.",
            "The asset was used as a YouTube video.",
            "This asset is used as a sitelink.",
            "This asset is used as a call.",
            "This asset is used as a mobile app.",
            "This asset is used as a callout.",
            "This asset is used as a structured snippet.",
            "This asset is used as a price.",
            "This asset is used as a promotion.",
            "This asset is used as an image.",
            "The asset is used as a lead form.",
            "The asset is used as a business logo.",
            "The asset is used as a description prefix.",
            "A headline asset used as a sitelink in position 1.",
            "A headline asset used as a sitelink in position 2.",
            "A description line asset used as a sitelink in position 1.",
            "A description line asset used as a sitelink in position 2."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "HEADLINE_1",
            "HEADLINE_2",
            "HEADLINE_3",
            "DESCRIPTION_1",
            "DESCRIPTION_2",
            "HEADLINE",
            "HEADLINE_IN_PORTRAIT",
            "LONG_HEADLINE",
            "DESCRIPTION",
            "DESCRIPTION_IN_PORTRAIT",
            "BUSINESS_NAME_IN_PORTRAIT",
            "BUSINESS_NAME",
            "MARKETING_IMAGE",
            "MARKETING_IMAGE_IN_PORTRAIT",
            "SQUARE_MARKETING_IMAGE",
            "PORTRAIT_MARKETING_IMAGE",
            "LOGO",
            "LANDSCAPE_LOGO",
            "CALL_TO_ACTION",
            "YOU_TUBE_VIDEO",
            "SITELINK",
            "CALL",
            "MOBILE_APP",
            "CALLOUT",
            "STRUCTURED_SNIPPET",
            "PRICE",
            "PROMOTION",
            "AD_IMAGE",
            "LEAD_FORM",
            "BUSINESS_LOGO",
            "DESCRIPTION_PREFIX",
            "HEADLINE_AS_SITELINK_POSITION_ONE",
            "HEADLINE_AS_SITELINK_POSITION_TWO",
            "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE",
            "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO"
          ]
        },
        "assetPerformanceLabel": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "This asset does not yet have any performance informantion. This may be because it is still under review.",
            "The asset has started getting impressions but the stats are not statistically significant enough to get an asset performance label.",
            "Worst performing assets.",
            "Good performing assets.",
            "Best performing assets.",
            "Performance label cannot be assigned to this asset. This may be because it's not used by asset based creatives."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PENDING",
            "LEARNING",
            "LOW",
            "GOOD",
            "BEST",
            "NOT_APPLICABLE"
          ],
          "type": "string",
          "description": "The performance label of this text asset."
        },
        "text": {
          "type": "string",
          "description": "Asset text."
        },
        "policySummaryInfo": {
          "description": "The policy summary of this text asset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdAssetPolicySummary"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAsset": {
      "description": "A video asset used inside an ad.",
      "type": "object",
      "properties": {
        "asset": {
          "type": "string",
          "description": "The Asset resource name of this video."
        },
        "adVideoAssetInfo": {
          "description": "Contains info fields for this AdVideoAsset.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAssetInfo"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAssetInfo": {
      "description": "Contains info fields for AdVideoAssets.",
      "type": "object",
      "properties": {
        "adVideoAssetInventoryPreferences": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAssetInventoryPreferences",
          "description": "List of inventory preferences for this AdVideoAsset. This field can only be set for DiscoveryVideoResponsiveAd. The video assets with an inventory asset preference set will be preferred over other videos from the same ad during serving time. For example, consider this ad being served for a specific inventory. The server will first try to match an eligible video with a matching preference for that inventory. Videos with no preferences are chosen only when a video with matching preference and eligible for a given ad slot can be found."
        },
        "adVideoAssetFeatureControl": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAssetLinkFeatureControl",
          "description": "Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAssetInventoryPreferences": {
      "type": "object",
      "properties": {
        "inStreamPreference": {
          "description": "When true, YouTube Video Asset with this inventory preference will be preferred when choosing a video to serve In Stream.",
          "type": "boolean"
        },
        "shortsPreference": {
          "type": "boolean",
          "description": "When true, YouTube Video Asset with this inventory preference will be preferred when choosing a video to serve on YouTube Shorts."
        },
        "inFeedPreference": {
          "description": "When true, YouTube Video Asset with this inventory preference will be preferred when choosing a video to serve In Feed.",
          "type": "boolean"
        }
      },
      "description": "YouTube Video Asset inventory preferences."
    },
    "GoogleAdsGoogleadsV25Common__AdVideoAssetLinkFeatureControl": {
      "type": "object",
      "properties": {
        "allowYoutubeComments": {
          "type": "boolean",
          "description": "Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts."
        }
      },
      "description": "YouTube Video Asset feature controls."
    },
    "GoogleAdsGoogleadsV25Common__AddressInfo": {
      "description": "Address for proximity criterion.",
      "type": "object",
      "properties": {
        "cityName": {
          "type": "string",
          "description": "Name of the city."
        },
        "countryCode": {
          "description": "Country code.",
          "type": "string"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal code."
        },
        "streetAddress": {
          "type": "string",
          "description": "Street address line 1."
        },
        "provinceCode": {
          "description": "Province or state code.",
          "type": "string"
        },
        "provinceName": {
          "type": "string",
          "description": "Province or state name."
        },
        "streetAddress2": {
          "description": "Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AgeDimension": {
      "type": "object",
      "properties": {
        "ageRanges": {
          "type": "array",
          "description": "Contiguous age range to be included in the dimension.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AgeSegment"
          }
        },
        "includeUndetermined": {
          "type": "boolean",
          "description": "Include users whose age is not determined."
        }
      },
      "description": "Dimension specifying users by their age."
    },
    "GoogleAdsGoogleadsV25Common__AgeRangeInfo": {
      "description": "An age range criterion.",
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Between 18 and 24 years old.",
            "Between 25 and 34 years old.",
            "Between 35 and 44 years old.",
            "Between 45 and 54 years old.",
            "Between 55 and 64 years old.",
            "65 years old and beyond.",
            "Undetermined age range."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AGE_RANGE_18_24",
            "AGE_RANGE_25_34",
            "AGE_RANGE_35_44",
            "AGE_RANGE_45_54",
            "AGE_RANGE_55_64",
            "AGE_RANGE_65_UP",
            "AGE_RANGE_UNDETERMINED"
          ],
          "type": "string",
          "description": "Type of the age range."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AgeSegment": {
      "description": "Contiguous age range.",
      "type": "object",
      "properties": {
        "maxAge": {
          "format": "int32",
          "type": "integer",
          "description": "Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64."
        },
        "minAge": {
          "format": "int32",
          "description": "Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.",
          "type": "integer"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AppAdInfo": {
      "type": "object",
      "properties": {
        "mandatoryAdText": {
          "description": "Mandatory ad text.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
        },
        "youtubeVideos": {
          "type": "array",
          "description": "List of YouTube video assets that may be displayed with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdVideoAsset"
          }
        },
        "descriptions": {
          "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "html5MediaBundles": {
          "type": "array",
          "description": "List of media bundle assets that may be used with the ad.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdMediaBundleAsset"
          }
        },
        "headlines": {
          "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdTextAsset"
          },
          "type": "array"
        },
        "appDeepLink": {
          "description": "An app deep 

# --- truncated at 32 KB (904 KB total) ---
# Full source: https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-add-batch-job-operations-request-schema.json

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-ads-google-ads-googleads-v25-services-add-batch-job-operations-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.