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 partner that owns the parent channel.
Request body
The request body contains data with the following structure:
JSON representation
{"newSites": [{object (Site)}],// Union field owner can be only one of the following:"advertiserId": string// End of list of possible types for union field owner.}
The sites that will replace the existing sites assigned to the channel, 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\u003eDisplay & Video 360 API v1 is sunset and this document outlines the specifications for replacing sites under a single channel.\u003c/p\u003e\n"],["\u003cp\u003eThis operation replaces existing sites under a channel with new sites provided in the request.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires specifying the channel ID, partner ID, and a list of new sites.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization is needed with the \u003ccode\u003ehttps://www.googleapis.com/auth/display-video\u003c/code\u003e scope.\u003c/p\u003e\n"]]],["This document details the process for replacing sites within a channel using the Display & Video 360 API. A POST request is sent to `https://displayvideo.googleapis.com/v1/partners/{partnerId}/channels/{channelId}/sites:replace`. The request body must include `newSites`, an array of site objects that will replace existing channel sites. The request requires both a `partnerId` and `channelId` as path parameters. It also specifies an owner, either `partnerId` or `advertiserId`. The successful response will be of the type `ReplaceSitesResponse`. The process requires the `https://www.googleapis.com/auth/display-video` OAuth scope.\n"],null,["# Method: partners.channels.sites.replace\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\nReplaces all of the sites under a single channel.\n\nThe operation will replace the sites under a channel with the sites provided in [ReplaceSitesRequest.new_sites](/display-video/api/reference/rest/v1/partners.channels.sites/replace#body.request_body.FIELDS.new_sites).\n\n### HTTP request\n\n`POST https://displayvideo.googleapis.com/v1/partners/{partnerId}/channels/{channelId}/sites:replace`\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 whose sites will be replaced. |\n| `partnerId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The ID of the partner 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| ``` { \"newSites\": [ { object (/display-video/api/reference/rest/v1/advertisers.channels.sites#Site) } ], // Union field `owner` can be only one of the following: \"advertiserId\": string // End of list of possible types for union field `owner`. } ``` |\n\n| Fields ||\n|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `newSites[]` | `object (`[Site](/display-video/api/reference/rest/v1/advertisers.channels.sites#Site)`)` The sites that will replace the existing sites assigned to the channel, 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 [ReplaceSitesResponse](/display-video/api/reference/rest/v1/ReplaceSitesResponse).\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)."]]