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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eDisplay & Video 360 API v1 is sunset and this documentation outlines the bulk editing process for assigned locations within location lists.\u003c/p\u003e\n"],["\u003cp\u003eBulk edits involve deleting specified assigned locations and creating new ones using the provided IDs and assigned location objects.\u003c/p\u003e\n"],["\u003cp\u003eThe HTTP request utilizes a POST method to a specific endpoint with advertiser and location list IDs as path parameters.\u003c/p\u003e\n"],["\u003cp\u003eRequest and response bodies follow defined JSON structures, with detailed field descriptions and data types provided.\u003c/p\u003e\n"],["\u003cp\u003eAuthorization requires the 'https://www.googleapis.com/auth/display-video' scope for OAuth 2.0 authentication.\u003c/p\u003e\n"]]],["This content describes how to use the Display & Video 360 API to bulk edit location assignments. Key actions involve using a `POST` request to a specific URL, providing an `advertiserId` and `locationListId` as path parameters. The request body specifies lists of `deletedAssignedLocations` (IDs to remove) and `createdAssignedLocations` (new location objects to add). The successful response body includes a list of newly `assignedLocations`. OAuth authorization is required.\n"],null,["| 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 - [JSON representation](#body.BulkEditAssignedLocationsResponse.SCHEMA_REPRESENTATION)\n- [Authorization Scopes](#body.aspect)\n- [Try it!](#try-it)\n\nBulk edits multiple assignments between locations and a single location list.\n\nThe operation will delete the assigned locations provided in [BulkEditAssignedLocationsRequest.deleted_assigned_locations](/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations/bulkEdit#body.request_body.FIELDS.deleted_assigned_locations) and then create the assigned locations provided in [BulkEditAssignedLocationsRequest.created_assigned_locations](/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations/bulkEdit#body.request_body.FIELDS.created_assigned_locations).\n\nHTTP request\n\n`POST https://displayvideo.googleapis.com/v1/advertisers/{advertiserId}/locationLists/{locationListId}/assignedLocations:bulkEdit`\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 DV360 advertiser to which the location list belongs. |\n| `locationListId` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` Required. The ID of the location list to which these assignments are assigned. |\n\nRequest body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"deletedAssignedLocations\": [ string ], \"createdAssignedLocations\": [ { object (/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations#AssignedLocation) } ] } ``` |\n\n| Fields ||\n|------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `deletedAssignedLocations[]` | `string (`[int64](https://developers.google.com/discovery/v1/type-format)` format)` The IDs of the assigned locations to delete in bulk, specified as a list of [assigned_location_ids](/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations#AssignedLocation.FIELDS.assigned_location_id). |\n| `createdAssignedLocations[]` | `object (`[AssignedLocation](/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations#AssignedLocation)`)` The assigned locations to create in bulk, specified as a list of [AssignedLocations](/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations#AssignedLocation). |\n\nResponse body\n\nIf successful, the response body contains data with the following structure:\nResponse message for AssignedLocationService.BulkEditAssignedLocations.\n\n| JSON representation |\n|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"assignedLocations\": [ { object (/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations#AssignedLocation) } ] } ``` |\n\n| Fields ||\n|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `assignedLocations[]` | `object (`[AssignedLocation](/display-video/api/reference/rest/v1/advertisers.locationLists.assignedLocations#AssignedLocation)`)` The list of assigned locations that have been successfully created. This list will be absent if empty. |\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](https://developers.google.com/identity/protocols/OAuth2)."]]