# Method: advertisers.lineItems.bulkUpdate

> [!WARNING]
> Display \& Video 360 API v3 has sunset. Use [v4](https://developers.google.com/display-video/api/reference/rest/v4) instead.

- [HTTP request](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.request_body)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.response_body)
  - [JSON representation](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.BulkUpdateLineItemsResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.aspect)
- [Try it!](https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#try-it)

Updates multiple line items.

Requests to this endpoint cannot be made concurrently with the following requests updating the same line item:

- `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkEditAssignedTargetingOptions#google.ads.displayvideo.v3.LineItemAssignedTargetingOptionsService.BulkEditAssignedTargetingOptions`
- `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/patch#google.ads.displayvideo.v3.LineItemService.UpdateLineItem`
- `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems.targetingTypes.assignedTargetingOptions/create#google.ads.displayvideo.v3.LineItemAssignedTargetingOptionsService.CreateLineItemAssignedTargetingOption`
- `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems.targetingTypes.assignedTargetingOptions/delete#google.ads.displayvideo.v3.LineItemAssignedTargetingOptionsService.DeleteLineItemAssignedTargetingOption`

YouTube \& Partners line items cannot be created or updated using the API.

### HTTP request

`POST https://displayvideo.googleapis.com/v3/advertisers/{advertiserId}/lineItems:bulkUpdate`

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

### Path parameters

| Parameters ||
|---|---|
| `advertiserId` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. The ID of the advertiser this line item belongs to. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "lineItemIds": [ string ], "targetLineItem": { object (`https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems#LineItem`) }, "updateMask": string } ``` |

| Fields ||
|---|---|
| `lineItemIds[]` | `string (https://developers.google.com/discovery/v1/type-format format)` Required. IDs of line items to update. |
| `targetLineItem` | ``object (`https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems#LineItem`)`` Required. A line item object containing the fields to be updated and the new values to assign to all line items specified in `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems/bulkUpdate#body.request_body.FIELDS.line_item_ids`." |
| `updateMask` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#field-mask` format)`` Required. A field mask identifying which fields to update. Only the following fields are currently supported: - `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems#LineItem.FIELDS.entity_status` - `https://developers.google.com/display-video/api/reference/rest/v3/advertisers.lineItems#LineItem.FIELDS.contains_eu_political_ads` This is a comma-separated list of fully qualified names of fields. Example: `"user.displayName,photo"`. |

### Response body

Response message for LineItemService.BulkUpdateLineItems.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "updatedLineItemIds": [ string ], "failedLineItemIds": [ string ], "skippedLineItemIds": [ string ], "errors": [ { object (`https://developers.google.com/display-video/api/reference/rest/v3/sdfdownloadtasks.operations#Operation.Status`) } ] } ``` |

| Fields ||
|---|---|
| `updatedLineItemIds[]` | `string (https://developers.google.com/discovery/v1/type-format format)` The IDs of successfully updated line items. |
| `failedLineItemIds[]` | `string (https://developers.google.com/discovery/v1/type-format format)` The IDs of line items that failed to update. |
| `skippedLineItemIds[]` | `string (https://developers.google.com/discovery/v1/type-format format)` The IDs of line items that are skipped for updates. For example, unnecessary mutates that will result in effectively no changes to line items will be skipped and corresponding line item IDs can be tracked here. |
| `errors[]` | ``object (`https://developers.google.com/display-video/api/reference/rest/v3/sdfdownloadtasks.operations#Operation.Status`)`` Errors returned by line items that failed to update. |

### 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).