- [HTTP request](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.request_body)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.response_body)
- [Authorization scopes](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.aspect)
- [Try it!](https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#try-it)

Bulk edits sites under a single channel.

The operation will delete the sites provided in `https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.request_body.FIELDS.deleted_sites` and then create the sites provided in `https://developers.google.com/display-video/api/reference/rest/v4/partners.channels.sites/bulkEdit#body.request_body.FIELDS.created_sites`.

### HTTP request

`POST https://displayvideo.googleapis.com/v4/partners/{partnerId}/channels/{channelId}/sites:bulkEdit`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `channelId` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. The ID of the parent channel to which the sites belong. |
| Required. Identifies the DV360 entity that owns the parent channel. It can be either a partner or an advertiser. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `partnerId` | `string (https://developers.google.com/discovery/v1/type-format format)` The ID of the partner that owns the parent channel. |
| End of mutually exclusive fields. ||

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "deletedSites": [ string ], "createdSites": [ { object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.channels.sites#Site`) } ], // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "advertiserId": string // End of mutually exclusive fields. } ``` |

| Fields ||
|---|---|
| `deletedSites[]` | `string` The sites to delete in batch, specified as a list of site `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.channels.sites#Site.FIELDS.url_or_app_id`. |
| `createdSites[]` | ``object (`https://developers.google.com/display-video/api/reference/rest/v4/advertisers.channels.sites#Site`)`` The sites to create in batch, specified as a list of `https://developers.google.com/display-video/api/reference/rest/v4/advertisers.channels.sites#Site`. |
| Required. Identifies the DV360 entity that owns the parent channel. It can be either a partner or an advertiser. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: ||
| `partnerId` | `string (https://developers.google.com/discovery/v1/type-format format)` The ID of the partner that owns the parent channel. |
| `advertiserId` | `string (https://developers.google.com/discovery/v1/type-format format)` The ID of the advertiser that owns the parent channel. |
| End of mutually exclusive fields. ||

### Response body

If successful, the response body contains an instance of `https://developers.google.com/display-video/api/reference/rest/v4/BulkEditSitesResponse`.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/display-video`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).