Google Display & Video 360 Advertisers API

The advertiser-scoped slice of the Display & Video 360 API — 103 operations under /v4/advertisers covering campaigns, insertion orders, line items, ad groups, ad group ads, creatives, ad assets, channels and sites, location lists, negative keyword lists, invoices, reach forecasting and assigned targeting options.

Operations 107

GET /v4/advertisers/{advertisersId} Gets an advertiser. #
DELETE /v4/advertisers/{advertisersId} Deletes an advertiser. #
PATCH /v4/advertisers/{advertisersId} Updates an existing advertiser. #
GET /v4/advertisers/{advertisersId}:audit Audits an advertiser. #
POST /v4/advertisers Creates a new advertiser. #
GET /v4/advertisers Lists advertisers that are accessible to the current user. #
POST /v4/advertisers/{advertisersId}:editAssignedTargetingOptions Edits targeting options under a single advertiser. #
GET /v4/advertisers/{advertisersId}:listAssignedTargetingOptions Lists assigned targeting options of an advertiser across targeting types. #
POST /v4/advertisers/{advertisersId}/assets Uploads an asset. #
POST /v4/advertisers/{advertisersId}/adGroups Creates a new ad group. #
GET /v4/advertisers/{advertisersId}/adGroups Lists ad groups. #
POST /v4/advertisers/{advertisersId}/adGroups:bulkEditAssignedTargetingOptions Bulk edits targeting options for multiple ad groups. #
GET /v4/advertisers/{advertisersId}/adGroups/{adGroupsId} Gets an ad group. #
DELETE /v4/advertisers/{advertisersId}/adGroups/{adGroupsId} Deletes a AdGroup. #
PATCH /v4/advertisers/{advertisersId}/adGroups/{adGroupsId} Updates an existing ad group. #
GET /v4/advertisers/{advertisersId}/adGroups:bulkListAssignedTargetingOptions Lists assigned targeting options for multiple ad groups across targeting types. #
POST /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions Assigns a targeting option to an ad group. #
GET /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions Lists the targeting options assigned to an ad group. #
GET /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId} Gets a single targeting option assigned to an ad group. #
DELETE /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId} Deletes an assigned targeting option from an ad group. #
GET /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/youtubeAssetTypes/{youtubeAssetTypesId}/youtubeAssetAssociations Lists the YouTube asset associations linked to the given resource. #
POST /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/youtubeAssetTypes/{youtubeAssetTypesId}/youtubeAssetAssociations Creates a new association between the identified resource and a YouTube asset. #
DELETE /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/youtubeAssetTypes/{youtubeAssetTypesId}/youtubeAssetAssociations/{youtubeAssetAssociationsId} Deletes an existing association between the identified resource and a YouTube asset. #
POST /v4/advertisers/{advertisersId}/lineItems Creates a new line item. #
GET /v4/advertisers/{advertisersId}/lineItems Lists line items in an advertiser. #
GET /v4/advertisers/{advertisersId}/lineItems:bulkListAssignedTargetingOptions Lists assigned targeting options for multiple line items across targeting types. #
PATCH /v4/advertisers/{advertisersId}/lineItems/{lineItemsId} Updates an existing line item. #
GET /v4/advertisers/{advertisersId}/lineItems/{lineItemsId} Gets a line item. #
DELETE /v4/advertisers/{advertisersId}/lineItems/{lineItemsId} Deletes a line item. #
POST /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}:duplicate Duplicates a line item. #
POST /v4/advertisers/{advertisersId}/lineItems:bulkUpdate Updates multiple line items. #
POST /v4/advertisers/{advertisersId}/lineItems:bulkEditAssignedTargetingOptions Bulk edits targeting options under multiple line items. #
POST /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions Assigns a targeting option to a line item. #
GET /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions Lists the targeting options assigned to a line item. #
GET /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId} Gets a single targeting option assigned to a line item. #
DELETE /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId} Deletes an assigned targeting option from a line item. #
POST /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/youtubeAssetTypes/{youtubeAssetTypesId}/youtubeAssetAssociations Creates a new association between the identified resource and a YouTube asset. #
GET /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/youtubeAssetTypes/{youtubeAssetTypesId}/youtubeAssetAssociations Lists the YouTube asset associations linked to the given resource. #
DELETE /v4/advertisers/{advertisersId}/lineItems/{lineItemsId}/youtubeAssetTypes/{youtubeAssetTypesId}/youtubeAssetAssociations/{youtubeAssetAssociationsId} Deletes an existing association between the identified resource and a YouTube asset. #
PATCH /v4/advertisers/{advertisersId}/channels/{channelId} Updates a channel. #
GET /v4/advertisers/{advertisersId}/channels/{channelsId} Gets a channel for a partner or advertiser. #
GET /v4/advertisers/{advertisersId}/channels Lists channels for a partner or advertiser. #
POST /v4/advertisers/{advertisersId}/channels Creates a new channel. #
GET /v4/advertisers/{advertisersId}/channels/{channelsId}/sites Lists sites in a channel. #
POST /v4/advertisers/{advertiserId}/channels/{channelsId}/sites Creates a site in a channel. #
POST /v4/advertisers/{advertiserId}/channels/{channelsId}/sites:replace Replaces all of the sites under a single channel. #
DELETE /v4/advertisers/{advertiserId}/channels/{channelsId}/sites/{sitesId} Deletes a site from a channel. #
POST /v4/advertisers/{advertiserId}/channels/{channelsId}/sites:bulkEdit Bulk edits sites under a single channel. #
POST /v4/advertisers/{advertisersId}/creatives Creates a new creative. #
GET /v4/advertisers/{advertisersId}/creatives Lists creatives in an advertiser. #
GET /v4/advertisers/{advertisersId}/creatives/{creativesId} Gets a creative. #
DELETE /v4/advertisers/{advertisersId}/creatives/{creativesId} Deletes a creative. #
PATCH /v4/advertisers/{advertisersId}/creatives/{creativesId} Updates an existing creative. #
POST /v4/advertisers/{advertisersId}/adGroupAds Creates an ad group ad. #
GET /v4/advertisers/{advertisersId}/adGroupAds Lists ad group ads. #
GET /v4/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId} Gets an ad group ad. #
DELETE /v4/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId} Deletes an ad group ad. #
PATCH /v4/advertisers/{advertisersId}/adGroupAds/{adGroupAdsId} Updates an ad group ad. #
PATCH /v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId} Updates an existing insertion order. #
GET /v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId} Gets an insertion order. #
DELETE /v4/advertisers/{advertisersId}/insertionOrders/{insertionOrdersId} Deletes an insertion order. #
GET /v4/advertisers/{advertisersId}/insertionOrders Lists insertion orders in an advertiser. #
POST /v4/advertisers/{advertisersId}/insertionOrders Creates a new insertion order. #
GET /v4/advertisers/{advertisersId}/reachForecast:retrievePlannableUserLists Retrieves first and third party user lists available for forecasting. #
POST /v4/advertisers/{advertisersId}/reachForecast:generateReachForecast Generates a reach forecast for a given advertiser and targeting configuration. #
GET /v4/advertisers/{advertisersId}/reachForecast:retrievePlannableLocations Retrieves the list of countries where reach forecasting is supported. #
GET /v4/advertisers/{advertisersId}/reachForecast:retrievePlannableProducts Retrieves the list of products that can be planned for a location. #
GET /v4/advertisers/{advertisersId}/reachForecast:retrievePlannableUserInterests Retrieves Google Audiences (User Interests) available for forecasting. #
POST /v4/advertisers/{advertisersId}/campaigns Creates a new campaign. #
GET /v4/advertisers/{advertisersId}/campaigns Lists campaigns in an advertiser. #
GET /v4/advertisers/{advertisersId}/campaigns/{campaignsId} Gets a campaign. #
DELETE /v4/advertisers/{advertisersId}/campaigns/{campaignsId} Permanently deletes a campaign. #
PATCH /v4/advertisers/{advertisersId}/campaigns/{campaignsId} Updates an existing campaign. #
GET /v4/advertisers/{advertisersId}/locationLists/{locationListsId} Gets a location list. #
GET /v4/advertisers/{advertisersId}/locationLists Lists location lists based on a given advertiser id. #
POST /v4/advertisers/{advertisersId}/locationLists Creates a new location list. #
PATCH /v4/advertisers/{advertisersId}/locationLists/{locationListId} Updates a location list. #
POST /v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations Creates an assignment between a location and a location list. #
GET /v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations Lists locations assigned to a location list. #
DELETE /v4/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations/{assignedLocationsId} Deletes the assignment between a location and a location list. #
POST /v4/advertisers/{advertiserId}/locationLists/{locationListsId}/assignedLocations:bulkEdit Bulk edits multiple assignments between locations and a single location list. #
GET /v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId} Gets a single targeting option assigned to an advertiser. #
DELETE /v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions/{assignedTargetingOptionsId} Deletes an assigned targeting option from an advertiser. #
GET /v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions Lists the targeting options assigned to an advertiser. #
POST /v4/advertisers/{advertisersId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions Assigns a targeting option to an advertiser. #
POST /v4/advertisers/{advertisersId}/adAssets Creates an ad asset. #
GET /v4/advertisers/{advertisersId}/adAssets Lists ad assets under an advertiser ID. #
GET /v4/advertisers/{advertisersId}/adAssets/{adAssetsId} Gets an ad asset. #
PATCH /v4/advertisers/{advertisersId}/adAssets/{adAssetsId} Updates an ad asset. #
POST /v4/advertisers/{advertisersId}/adAssets:uploadAdAsset Uploads and creates an ad asset. #
POST /v4/advertisers/{advertisersId}/adAssets:bulkCreate Creates multiple ad assets in a single request. #
GET /v4/advertisers/{advertisersId}/invoices Lists invoices posted for an advertiser in a given month. #
GET /v4/advertisers/{advertisersId}/invoices:lookupInvoiceCurrency Retrieves the invoice currency used by an advertiser in a given month. #
GET /v4/advertisers/{advertisersId}/negativeKeywordLists Lists negative keyword lists based on a given advertiser id. #
POST /v4/advertisers/{advertisersId}/negativeKeywordLists Creates a new negative keyword list. #
PATCH /v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListId} Updates a negative keyword list. #
GET /v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId} Gets a negative keyword list given an advertiser ID and a negative keyword list ID. #
DELETE /v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId} Deletes a negative keyword list given an advertiser ID and a negative keyword list ID. #
POST /v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords Creates a negative keyword in a negative keyword list. #
POST /v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:replace Replaces all negative keywords in a single negative keyword list. #
DELETE /v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords/{negativeKeywordsId} Deletes a negative keyword from a negative keyword list. #
POST /v4/advertisers/{advertiserId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords:bulkEdit Bulk edits negative keywords in a single negative keyword list. #
GET /v4/advertisers/{advertisersId}/negativeKeywordLists/{negativeKeywordListsId}/negativeKeywords Lists negative keywords in a negative keyword list. #
GET /v4/advertisers/{advertiserId}/campaigns Google Display & Video 360 List campaigns #
GET /v4/advertisers/{advertiserId}/insertionOrders Google Display & Video 360 List insertion orders #
GET /v4/advertisers/{advertiserId}/lineItems Google Display & Video 360 List line items #
GET /v4/advertisers/{advertiserId}/creatives Google Display & Video 360 List creatives #

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-display-video-360-advertisers-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-display-video-360-advertisers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google Display Video 360 Advertisers API
  version: v4
  license:
    name: Google APIs Terms of Service
    url: https://developers.google.com/terms
  x-refined-note:
  - x-google-discovery-document differs across the merged source definitions and was not carried
  - x-google-discovery-revision differs across the merged source definitions and was not carried
  description: 'Operations tagged Advertisers across 2 of this provider''s published API definitions: google-display-video-360-api-openapi.yml, openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://displayvideo.googleapis.com
  description: Display & Video 360 API server
security:
- oauth2:
  - https://www.googleapis.com/auth/display-video
tags:
- name: Advertisers
paths:
  /v4/advertisers/{advertisersId}:
    get:
      operationId: advertisersGet
      summary: Gets an advertiser.
      description: Gets an advertiser.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser to fetch.
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.get
    delete:
      operationId: advertisersDelete
      summary: Deletes an advertiser.
      description: Deletes an advertiser. Deleting an advertiser will delete all of its child resources, for example, campaigns, insertion orders and line items. A deleted advertiser cannot be recovered.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: The ID of the advertiser we need to delete.
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Empty'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.delete
    patch:
      operationId: advertisersPatch
      summary: Updates an existing advertiser.
      description: Updates an existing advertiser. Returns the updated advertiser if successful.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Output only. The unique ID of the advertiser. Assigned by the system.
        required: true
      - name: updateMask
        in: query
        schema:
          type: string
          format: google-fieldmask
        description: Required. The mask to control which fields to update.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Advertiser'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.patch
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}:audit:
    get:
      operationId: advertisersAudit
      summary: Audits an advertiser.
      description: Audits an advertiser. Returns the counts of used entities per resource type under the advertiser provided. Used entities count towards their respective resource limit. See https://support.google.com/displayvideo/answer/6071450.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser to audit.
        required: true
      - name: readMask
        in: query
        schema:
          type: string
          format: google-fieldmask
        description: 'Optional. The specific fields to return. If no mask is specified, all fields in the response proto will be filled. Valid values are: * usedLineItemsCount * usedInsertionOrdersCount * usedCampaignsCount * channelsCount * negativelyTargetedChannelsCount * negativeKeywordListsCount * adGroupCriteriaCount * campaignCriteriaCount'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditAdvertiserResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.audit
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers:
    post:
      operationId: advertisersCreate
      summary: Creates a new advertiser.
      description: Creates a new advertiser. Returns the newly created advertiser if successful. **This method regularly experiences high latency.** We recommend [increasing your default timeout](/display-video/api/guides/best-practices/timeouts#client_library_timeout) to avoid errors.
      tags:
      - Advertisers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Advertiser'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advertiser'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.create
    get:
      operationId: advertisersList
      summary: Lists advertisers that are accessible to the current user.
      description: Lists advertisers that are accessible to the current user. The order is defined by the order_by parameter. A single partner_id is required. Cross-partner listing is not supported.
      tags:
      - Advertisers
      parameters:
      - name: pageToken
        in: query
        schema:
          type: string
        description: A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdvertisers` method. If not specified, the first page of results will be returned.
      - name: filter
        in: query
        schema:
          type: string
        description: 'Allows filtering by advertiser fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `advertiserId` * `displayName` * `entityStatus` * `updateTime` (input in ISO 8601 format, or `YYYY-MM-DDTHH:MM:SSZ`) Examples: * All active advertisers under a partner: `entityStatus="ENTITY_STATUS_ACTIVE"` * All advertisers with an update time less than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime<="2020-11-04T18:54:47Z"` * All advertisers with an update time greater than or equal to 2020-11-04T18:54:47Z (format of ISO 8601): `updateTime>="2020-11-04T18:54:47Z"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.'
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
        description: Requested page size. Must be between `1` and `200`. If unspecified will default to `100`.
      - name: partnerId
        in: query
        schema:
          type: string
          format: int64
        description: Required. The ID of the partner that the fetched advertisers should all belong to. The system only supports listing advertisers for one partner at a time.
      - name: orderBy
        in: query
        schema:
          type: string
        description: 'Field by which to sort the list. Acceptable values are: * `advertiserId` (default) * `displayName` * `entityStatus` * `updateTime` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. For example, `displayName desc`.'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAdvertisersResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.list
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}:editAssignedTargetingOptions:
    post:
      operationId: advertisersEditAssignedTargetingOptions
      summary: Edits targeting options under a single advertiser.
      description: Edits targeting options under a single advertiser. The operation will delete the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.delete_requests and then create the assigned targeting options provided in BulkEditAdvertiserAssignedTargetingOptionsRequest.create_requests .
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser.
        required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkEditAdvertiserAssignedTargetingOptionsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkEditAdvertiserAssignedTargetingOptionsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.editAssignedTargetingOptions
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}:listAssignedTargetingOptions:
    get:
      operationId: advertisersListAssignedTargetingOptions
      summary: Lists assigned targeting options of an advertiser across targeting types.
      description: Lists assigned targeting options of an advertiser across targeting types.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser the line item belongs to.
        required: true
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
        description: Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is '5000'. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
      - name: filter
        in: query
        schema:
          type: string
        description: 'Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the `OR` logical operator. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=) operator`. Supported fields: * `targetingType` Examples: * targetingType with value TARGETING_TYPE_CHANNEL `targetingType="TARGETING_TYPE_CHANNEL"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.'
      - name: pageToken
        in: query
        schema:
          type: string
        description: A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to `BulkListAdvertiserAssignedTargetingOptions` method. If not specified, the first page of results will be returned.
      - name: orderBy
        in: query
        schema:
          type: string
        description: 'Field by which to sort the list. Acceptable values are: * `targetingType` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`.'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkListAdvertiserAssignedTargetingOptionsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.listAssignedTargetingOptions
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}/assets:
    post:
      operationId: advertisersAssetsUpload
      summary: Uploads an asset.
      description: Uploads an asset. Returns the ID of the newly uploaded asset if successful. The asset file size should be no more than 10 MB for images, 200 MB for ZIP files, and 1 GB for videos. Must be used within the [multipart media upload process](/display-video/api/guides/how-tos/upload#multipart). Examples using provided client libraries can be found in our [Creating Creatives guide](/display-video/api/guides/creating-creatives/overview#upload_an_asset).
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser this asset belongs to.
        required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAssetResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-supports-media-upload: true
      x-google-method-id: displayvideo.advertisers.assets.upload
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}/adGroups:
    post:
      operationId: advertisersAdGroupsCreate
      summary: Creates a new ad group.
      description: Creates a new ad group. Returns the newly created ad group if successful. This method is only supported for Demand Gen ad groups.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Output only. The unique ID of the advertiser the ad group belongs to.
        required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdGroup'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdGroup'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.create
    get:
      operationId: advertisersAdGroupsList
      summary: Lists ad groups.
      description: Lists ad groups.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser the ad groups belongs to.
        required: true
      - name: orderBy
        in: query
        schema:
          type: string
        description: 'Optional. Field by which to sort the list. Acceptable values are: * `displayName` (default) * `entityStatus` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`.'
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
        description: Optional. Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
      - name: pageToken
        in: query
        schema:
          type: string
        description: Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListAdGroups` method. If not specified, the first page of results will be returned.
      - name: filter
        in: query
        schema:
          type: string
        description: 'Optional. Allows filtering by custom ad group fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` and `OR`. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported properties: * `adGroupId` * `displayName` * `entityStatus` * `lineItemId` * `adGroupFormat` Examples: * All ad groups under an line item: `lineItemId="1234"` * All `ENTITY_STATUS_ACTIVE` or `ENTITY_STATUS_PAUSED` `AD_GROUP_FORMAT_IN_STREAM` ad groups under an advertiser: `(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND adGroupFormat="AD_GROUP_FORMAT_IN_STREAM"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAdGroupsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.list
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}/adGroups:bulkEditAssignedTargetingOptions:
    post:
      operationId: advertisersAdGroupsBulkEditAssignedTargetingOptions
      summary: Bulk edits targeting options for multiple ad groups.
      description: Bulk edits targeting options for multiple ad groups. The same set of delete and create requests will be applied to all specified ad groups. Specifically, the operation will delete the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.delete_requests from each ad group, and then create the assigned targeting options provided in BulkEditAdGroupAssignedTargetingOptionsRequest.create_requests. This method is only supported for Demand Gen ad groups.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser the ad groups belong to.
        required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkEditAdGroupAssignedTargetingOptionsRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkEditAdGroupAssignedTargetingOptionsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.bulkEditAssignedTargetingOptions
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}:
    get:
      operationId: advertisersAdGroupsGet
      summary: Gets an ad group.
      description: Gets an ad group.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser this ad group belongs to.
        required: true
      - name: adGroupId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the ad group to fetch.
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdGroup'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.get
    delete:
      operationId: advertisersAdGroupsDelete
      summary: Deletes a AdGroup.
      description: Deletes a AdGroup. Returns error code `NOT_FOUND` if the ad group does not exist. This method is only supported for Demand Gen ad groups.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser this ad group belongs to.
        required: true
      - name: adGroupId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the ad group to delete.
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Empty'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.delete
    patch:
      operationId: advertisersAdGroupsPatch
      summary: Updates an existing ad group.
      description: Updates an existing ad group. Returns the updated ad group if successful. This method is only supported for Demand Gen ad groups.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Output only. The unique ID of the advertiser the ad group belongs to.
        required: true
      - name: adGroupId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Output only. The unique ID of the ad group. Assigned by the system.
        required: true
      - name: updateMask
        in: query
        schema:
          type: string
          format: google-fieldmask
        description: Required. The mask to control which fields to update.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdGroup'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdGroup'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.patch
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}/adGroups:bulkListAssignedTargetingOptions:
    get:
      operationId: advertisersAdGroupsBulkListAssignedTargetingOptions
      summary: Lists assigned targeting options for multiple ad groups across targeting types.
      description: Lists assigned targeting options for multiple ad groups across targeting types. Inherited assigned targeting options are not included.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser the line items belongs to.
        required: true
      - name: orderBy
        in: query
        schema:
          type: string
        description: 'Optional. Field by which to sort the list. Acceptable values are: * `adGroupId` (default) * `assignedTargetingOption.targetingType` The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `targetingType desc`.'
      - name: adGroupIds
        in: query
        schema:
          type: array
          items:
            type: string
            format: int64
        description: Required. The IDs of the ad groups to list assigned targeting options for.
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
        description: Optional. Requested page size. The size must be an integer between `1` and `5000`. If unspecified, the default is `5000`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.
      - name: pageToken
        in: query
        schema:
          type: string
        description: Optional. A token that lets the client fetch the next page of results. Typically, this is the value of next_page_token returned from the previous call to the `BulkListAdGroupAssignedTargetingOptions` method. If not specified, the first page of results will be returned.
      - name: filter
        in: query
        schema:
          type: string
        description: 'Optional. Allows filtering by assigned targeting option fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by the logical operator `OR`. * A restriction has the form of `{field} {operator} {value}`. * All fields must use the `EQUALS (=)` operator. Supported fields: * `targetingType` Examples: * `AssignedTargetingOption` resources of targeting type `TARGETING_TYPE_YOUTUBE_VIDEO` or `TARGETING_TYPE_YOUTUBE_CHANNEL`: `targetingType="TARGETING_TYPE_YOUTUBE_VIDEO" OR targetingType="TARGETING_TYPE_YOUTUBE_CHANNEL"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkListAdGroupAssignedTargetingOptionsResponse'
      security:
      - oauth2:
        - https://www.googleapis.com/auth/display-video
      x-google-method-id: displayvideo.advertisers.adGroups.bulkListAssignedTargetingOptions
    servers:
    - url: https://displayvideo.googleapis.com
      description: Display & Video 360 API server
  /v4/advertisers/{advertisersId}/adGroups/{adGroupsId}/targetingTypes/{targetingTypesId}/assignedTargetingOptions:
    post:
      operationId: advertisersAdGroupsTargetingTypesAssignedTargetingOptionsCreate
      summary: Assigns a targeting option to an ad group.
      description: Assigns a targeting option to an ad group. Returns the assigned targeting option if successful. This method is only supported for Demand Gen ad groups.
      tags:
      - Advertisers
      parameters:
      - name: advertiserId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the advertiser the ad group belongs to.
        required: true
      - name: adGroupId
        in: path
        schema:
          type: string
          format: int64
          pattern: ^[^/]+$
        description: Required. The ID of the ad group the assigned targeting option will belong to.
        required: true
      - name: targetingType
        in: path
        schema:
          type: string
          enum:
          - TARGETING_TYPE_UNSPECIFIED
          - TARGETING_TYPE_CHANNEL
          - TARGETING_TYPE_APP_CATEGORY
          - TARGETING_TYPE_APP
          - TARGETING_TYPE_URL
          - TARGETING_TYPE_DAY_AND_TIME
          - TARGETING_TYPE_AGE_RANGE
          - TARGETING_TYPE_REGIONAL_LOCATION_LIST
          - TARGETING_TYPE_PROXIMITY_LOCATION_LIST
          - TARGETING_TYPE_GENDER
          - TARGETING_TYPE_VIDEO_PLAYER_SIZE
          - TARGETING_TYPE_USER_REWARDED_CONTENT
          - TARGETING_TYPE_PARENTAL_STATUS
          - TARGETING_TYPE_CONTENT_INSTREAM_POSITION
          - TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION
          - TARGETING_TYPE_DEVICE_TYPE
          - TARGETING_TYPE_AUDIENCE_GROUP
          - TARGETING_TYPE_BROWSER
          - TARGETING_TYPE_HOUSEHOLD_INCOME
          - TARGETING_TYPE_ON_SCREEN_POSITION
          - TARGETING_TYPE_THIRD_PARTY_VERIFIER
          - TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION
          - TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION
          - TARGETING_TYPE_ENVIRONMENT
          - TARGETING_TYPE_CARRIER_AND_ISP
          - TARGETING_TYPE_OPERATING_SYSTEM
          - TARGETING_TYPE_DEVICE_MAKE_MODEL
          - TARGETING_TYPE_KEYWORD
          - TARGETING_TYPE_NEGATIVE_KEYWORD_LIST
          - TARGETING_TYPE_VIEWABILITY
          - TARGETING_TYPE_CATEGORY
          - TARGETING_TYPE_INVENTORY_SOURCE
          - TARGETING_TYPE_LANGUAGE
          - TARGETING_TYPE_AUTHORIZED_SELLER_STATUS
          - TARGETING_TYPE_GEO_REGION
          - TARGETING_TYPE_INVENTORY_SOURCE_GROUP
          - TARGETING_TYPE_EXCHANGE
          - TARGETING_TYPE_SUB_EXCHANGE
          - TARGETING_TYPE_POI
          - TARGETING_TYPE_BUSINESS_CHAIN
          - TARGETING_TYPE_CONTENT_DURATION
          - TARGETING_TYPE_CONTENT_STREAM_TYPE
          - TARGETING_TYPE_NATIVE_CONTENT_POSITION
          - TARGETING_TYPE_OMID
          - TARGETING_TYPE_AUDIO_CONTENT_TYPE
          - TARGETING_TYPE_CONTENT_GENRE
          - TARGETING_TYPE_YOUTUBE_VIDEO
          - TARGETING_TYPE_YOUTUBE_CHANNEL
          - TARGETING_TYPE_SESSION_POSITION
          - TARGETING_TYPE_CONTENT_THEME_EXCLUSION
          - TARGETING_TYPE_YOUTUBE_CHANNEL_PACK
          pattern: ^[^/]+$
        description: 'Required. Identifies the type of this assigned targeting option. Supported targeting types: * `TARGETING_TYPE_AGE_RANGE` * `TARGETING_TYPE_APP` * `TARGETING_TYPE_APP_CATEGORY` * `TARGETING_TYPE_AUDIENCE_GROUP` * `TARGETING_TYPE_CATEGORY` * `TARGETING_TYPE_GENDER` * `TARGETING_TYPE_GEO_REGION` * `TARGETING_TYPE_HOUSEHOLD_INCOME` * `TARGETING_TYPE_KEYWORD` * `TARGETING_TYPE_LANGUAGE` * `TARGETING_TYPE_PARENTAL_STATUS` * `TARGETING_TYPE_URL` * `TARGETING_TYPE_YOUTUBE_CHANNEL` * `TARGETING_TYPE_YOUTUBE_VIDEO` Allowed values — `TARGETING_TYPE_UNSPECIFIED`: Default value when type is not specified or is unknown in this version.; `TARGETING_TYPE_CHANNEL`: Target a channel (a custom group of related websites or apps).; `TARGETING_TYPE_APP_CATEGORY`: Target an app category (for example, education or puzzle games).; `TARGETING_TYPE_APP`: Target a specific app (for example, Angry Birds).; `TARGETING_TYPE_URL`: Target a specific url (for example, quora.com).; `TARGETING_TYPE_DAY_AND_TIME`: Ta

# --- truncated at 32 KB (758 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/openapi/google-display-video-360-advertisers-api-openapi.yml