Starting September 8, 2025, every new line item will need to declare whether or not they will serve Eurpoean Union (EU) political ads. Display & Video 360 API and SDF uploads that don't provide declarations will fail. See our deprecations page for more details on how to update your integration to make this declaration.
The ID of the advertiser that owns the parent channel.
Request body
The request body contains data with the following structure:
JSON representation
{"deletedSites": [string],"createdSites": [{object (Site)}],// Union field owner can be only one of the following:"partnerId": string// End of list of possible types for union field owner.}
Fields
deletedSites[]
string
The sites to delete in batch, specified as a list of site url_or_app_ids.
The sites to create in batch, specified as a list of Sites.
Union field owner. Required. Identifies the DV360 entity that owns the parent channel. It can be either a partner or an advertiser. owner can be only one of the following:
[null,null,["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eBulk edits sites under a single channel, allowing for batch deletion and creation.\u003c/p\u003e\n"],["\u003cp\u003eRequires specifying the advertiser and channel IDs in the request path.\u003c/p\u003e\n"],["\u003cp\u003eThe request body includes lists of sites to delete (by url_or_app_ids) and sites to create (as Site objects).\u003c/p\u003e\n"],["\u003cp\u003eUtilizes the \u003ccode\u003edisplay-video\u003c/code\u003e OAuth scope for authorization.\u003c/p\u003e\n"]]],["This document details the bulk editing of sites within a channel using the Display & Video 360 API. Key actions include deleting sites specified by `url_or_app_ids` in `deletedSites` and creating new sites from the `createdSites` list. The request, sent via a POST HTTP method, requires `advertiserId` and `channelId` path parameters, alongside a JSON body containing the lists of sites to delete and create. Access requires OAuth scope authorization, and successful operations return a `BulkEditSitesResponse`.\n"],null,["# Method: advertisers.channels.sites.bulkEdit\n\n| Display \\& Video 360 API v1 has been sunset.\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n- [Authorization Scopes](#body.aspect)\n- [Try it!](#try-it)\n\nBulk edits sites under a single channel.\n\nThe operation will delete the sites provided in [BulkEditSitesRequest.deleted_sites](/display-video/api/reference/rest/v1/partners.channels.sites/bulkEdit#body.request_body.FIELDS.deleted_sites) and then create the sites provided in [BulkEditSitesRequest.created_sites](/display-video/api/reference/rest/v1/partners.channels.sites/bulkEdit#body.request_body.FIELDS.created_sites).\n\n### HTTP request\n\n`POST https://displayvideo.googleapis.com/v1/advertisers/{advertiserId}/channels/{channelId}/sites:bulkEdit`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `channelId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` Required. The ID of the parent channel to which the sites belong. |\n| `advertiserId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The ID of the advertiser that owns the parent channel. |\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"deletedSites\": [ string ], \"createdSites\": [ { object (/display-video/api/reference/rest/v1/advertisers.channels.sites#Site) } ], // Union field `owner` can be only one of the following: \"partnerId\": string // End of list of possible types for union field `owner`. } ``` |\n\n| Fields ||\n|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `deletedSites[]` | `string` The sites to delete in batch, specified as a list of site [url_or_app_ids](/display-video/api/reference/rest/v1/advertisers.channels.sites#Site.FIELDS.url_or_app_id). |\n| `createdSites[]` | `object (`[Site](/display-video/api/reference/rest/v1/advertisers.channels.sites#Site)`)` The sites to create in batch, specified as a list of [Sites](/display-video/api/reference/rest/v1/advertisers.channels.sites#Site). |\n| Union field `owner`. Required. Identifies the DV360 entity that owns the parent channel. It can be either a partner or an advertiser. `owner` can be only one of the following: ||\n| `partnerId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The ID of the partner that owns the parent channel. |\n| `advertiserId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The ID of the advertiser that owns the parent channel. |\n\n### Response body\n\nIf successful, the response body contains an instance of [BulkEditSitesResponse](/display-video/api/reference/rest/v1/BulkEditSitesResponse).\n\n### Authorization Scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/display-video`\n\nFor more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2)."]]