Every new line item needs 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.
Method: advertisers.lineItems.duplicate
Stay organized with collections
Save and categorize content based on your preferences.
Duplicates a line item. Returns the ID of the created line item if successful.
YouTube & Partners line items cannot be created or updated using the API.
This method regularly experiences high latency. We recommend increasing your default timeout to avoid errors.
HTTP request
POST https://displayvideo.googleapis.com/v4/advertisers/{advertiserId}/lineItems/{lineItemId}:duplicate
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
advertiserId |
string (int64 format)
Required. The ID of the advertiser this line item belongs to.
|
lineItemId |
string (int64 format)
Required. The ID of the line item to duplicate.
|
Request body
The request body contains data with the following structure:
Fields |
targetDisplayName |
string
The display name of the new line item. Must be UTF-8 encoded with a maximum size of 240 bytes.
|
containsEuPoliticalAds |
enum (EuPoliticalAdvertisingStatus )
Whether this line item will serve European Union political ads. If containsEuPoliticalAds has been set to DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING in the parent advertiser, then this field will be assigned DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING if not otherwise specified. This field can then be updated using the UI, API, or Structured Data Files. This field must be assigned when creating a new line item. Otherwise, the advertisers.lineItems.create request will fail.
|
Response body
If successful, the response body contains data with the following structure:
JSON representation |
{
"duplicateLineItemId": string
} |
Fields |
duplicateLineItemId |
string (int64 format)
The ID of the created line item.
|
Authorization scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/display-video
For more information, see the OAuth 2.0 Overview.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-09 UTC.
[null,null,["Last updated 2025-09-09 UTC."],[],["The Display & Video 360 API v4 (beta) allows line item duplication via a POST request to `https://displayvideo.googleapis.com/v4/advertisers/{advertiserId}/lineItems/{lineItemId}:duplicate`. It requires `advertiserId` and `lineItemId` path parameters. The request body must include a `targetDisplayName` for the new item. The successful response provides a `duplicateLineItemId`. YouTube & Partners line items cannot be managed and high latency is common. The authorization scope needed is `https://www.googleapis.com/auth/display-video`.\n"],null,["- [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 - [JSON representation](#body.DuplicateLineItemResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nDuplicates a line item. Returns the ID of the created line item if successful.\n\nYouTube \\& Partners line items cannot be created or updated using the API.\n\n**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.\n\nHTTP request\n\n`POST https://displayvideo.googleapis.com/v4/advertisers/{advertiserId}/lineItems/{lineItemId}:duplicate`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\nPath parameters\n\n| Parameters ||\n|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| `advertiserId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` Required. The ID of the advertiser this line item belongs to. |\n| `lineItemId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` Required. The ID of the line item to duplicate. |\n\nRequest body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"targetDisplayName\": string, \"containsEuPoliticalAds\": enum (/display-video/api/reference/rest/v4/EuPoliticalAdvertisingStatus) } ``` |\n\n| Fields ||\n|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `targetDisplayName` | `string` The display name of the new line item. Must be UTF-8 encoded with a maximum size of 240 bytes. |\n| `containsEuPoliticalAds` | `enum (`[EuPoliticalAdvertisingStatus](/display-video/api/reference/rest/v4/EuPoliticalAdvertisingStatus)`)` Whether this line item will serve European Union political ads. If [containsEuPoliticalAds](/display-video/api/reference/rest/v4/advertisers#Advertiser.FIELDS.contains_eu_political_ads) has been set to `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` in the parent advertiser, then this field will be assigned `DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING` if not otherwise specified. This field can then be updated using the UI, API, or Structured Data Files. This field must be assigned when creating a new line item. Otherwise, **the `advertisers.lineItems.create` request will fail**. |\n\nResponse body If successful, the response body contains data with the following structure:\n\n| JSON representation |\n|-------------------------------------------|\n| ``` { \"duplicateLineItemId\": string } ``` |\n\n| Fields ||\n|-----------------------|----------------------------------------------------------------------------------------------------------------------|\n| `duplicateLineItemId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The ID of the created line item. |\n\nAuthorization 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](/identity/protocols/OAuth2)."]]