# Google Display & Video 360 > The Display & Video 360 API automates programmatic display, video and audio buying: partners and > advertisers, campaigns, insertion orders, line items, ad groups and ads, creatives and ad assets, > audiences, inventory sources, and the assigned targeting options that decide what a line item buys. > One REST surface at https://displayvideo.googleapis.com, version v4, 179 operations. > Google OAuth 2.0 only — there is no API key. Enterprise product, no self-serve signup, no published > API pricing. Generated by API Evangelist on 2026-08-13; Google publishes no llms.txt for this API > (probed developers.google.com/llms.txt, developers.google.com/display-video/llms.txt, > displayvideo.googleapis.com/llms.txt, marketingplatform.google.com/llms.txt — all 404). ## Start here - [Getting started overview](https://developers.google.com/display-video/api/guides/getting-started/overview): prerequisites — a DV360 account, a Google Cloud project with the API enabled, and a Google Account holding a DV360 user profile. - [Authorize requests](https://developers.google.com/display-video/api/guides/how-tos/authorizing): OAuth 2.0 flow and the four scopes. - [REST reference](https://developers.google.com/display-video/api/reference/rest): per-method reference for every resource. - [Client libraries](https://developers.google.com/display-video/api/guides/getting-started/libraries): official Google API clients per language. ## The contract - [Google API Discovery Document](https://displayvideo.googleapis.com/$discovery/rest?version=v4): the only machine-readable contract Google publishes for this API. Revision 20260813, 179 methods, 414 schemas. Google publishes no OpenAPI. - [OpenAPI 3.1.0, full surface](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/openapi/google-display-video-360-api-openapi.yml): generated by API Evangelist from that Discovery Document. 179 operations, 402 schemas, 16 tags. - [OpenAPI 3.1.0, advertiser surface](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/openapi/google-display-video-360-advertisers-api-openapi.yml): the 103 operations under /v4/advertisers. - [Overlay](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/overlays/google-display-video-360-api-overlay.yaml): projects Google's documented error responses onto the spec, which the Discovery Document omits. ## How to call it correctly - Auth: OAuth 2.0 authorization code. Authorize at https://accounts.google.com/o/oauth2/v2/auth, token at https://oauth2.googleapis.com/token. Scopes: `https://www.googleapis.com/auth/display-video` (full), `.../display-video-mediaplanning` (campaign entities + invoices), `.../display-video-user-management`, `.../doubleclickbidmanager` (reports). - The OAuth token is not sufficient on its own. The Google Account must also have a DV360 user profile with Read only, Standard or Admin permission on the partner or advertiser being addressed, or every call returns 403 PERMISSION_DENIED. - Pagination: `pageSize` + `pageToken`, response carries `nextPageToken`. Opaque token — pass it back verbatim. 42 operations paginate. - Updates: every PATCH requires `updateMask`, a comma-separated list of fully qualified field names. Fields in the body but not in the mask are ignored; fields in the mask but not in the body are cleared. This is the most common cause of a write that appears to succeed and changes nothing. - Filtering and sorting: `filter` (35 operations) and `orderBy` (39 operations). - Custom verbs: 33 colon-suffixed methods, e.g. `POST /v4/advertisers/{id}/lineItems:bulkUpdate`. Prefer the 12 bulk methods for volume — one bulk call costs one write against quota rather than N. - Async: SDF generation is a long-running operation. Start it, then poll `sdfdownloadtasks.operations.get`. Failures surface on the finished Operation, not on the call that started it. - Errors: `{"error": {"code", "message", "status"}}` where `status` is a google.rpc.Code name. Branch on `status`, never on `message`. Not RFC 9457. - Idempotency: none. No idempotency key exists. A retried create is a second create — dedupe client-side. - Quotas: 1500 total / 700 write requests per minute per project; 300 total / 150 write per minute per advertiser. Five methods cost 5x write quota. Exhaustion returns 429 RESOURCE_EXHAUSTED with no rate-limit headers of any kind. Increases cannot be requested. - Events: none. No webhooks, no callbacks, no push. Poll. ## Data model Partner > Advertiser > Campaign > InsertionOrder > LineItem > AdGroup > AdGroupAd is the spine; creatives, ad assets, channels, sites, location lists, negative keyword lists, invoices and assigned targeting options hang off it. IDs are opaque numeric strings with no type prefix, but every entity also carries a Google resource `name` of the form `advertisers/{advertiserId}/lineItems/{lineItemId}`, which is self-describing. - [Data model](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/data-model/google-display-video-360-data-model.yml): 31 entities, 24 relationships, derived from the spec. ## Artifacts - [Authentication](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/authentication/google-display-video-360-authentication.yml) - [OAuth scopes](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/scopes/google-display-video-360-scopes.yml) - [Conventions](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/conventions/google-display-video-360-conventions.yml) - [Error catalog](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/errors/google-display-video-360-problem-types.yml) - [Rate limits](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/rate-limits/google-display-video-360-rate-limits.yml) - [Lifecycle and deprecations](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/lifecycle/google-display-video-360-lifecycle.yml) - [Changelog](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/changelog/google-display-video-360-changelog.yml) - [Packages and SDKs](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/packages/google-display-video-360-packages.yml) - [Plans and pricing](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/plans/google-display-video-360-plans-pricing.yml) - [Conformance](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/conformance/google-display-video-360-conformance.yml) - [MCP candidate tool surface](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/mcp/google-display-video-360-mcp.yml) - [Agentic access contracts](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/agentic-access/google-display-video-360-agentic-access.yml) - [Well-known probe](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/well-known/google-display-video-360-well-known.yml) - [Agent skills](https://raw.githubusercontent.com/api-evangelist/google-display-video-360/refs/heads/main/skills/_index.yml) ## Operational pages - [Release notes](https://developers.google.com/display-video/api/release-notes) - [Announced deprecations](https://developers.google.com/display-video/api/deprecations) - [API limits and quotas](https://developers.google.com/display-video/api/limits) - [Errors and warnings](https://developers.google.com/display-video/api/guides/concepts/general/errors-warnings) - [Support](https://developers.google.com/display-video/api/support) - [Google Ads Developer Blog, DV360 label](https://ads-developers.googleblog.com/search/label/display_video_360) ## Not available - No official MCP server. Every DV360 MCP server on the market is third-party. - No A2A agent card on any Google host probed. - No webhooks, events or AsyncAPI. - No sandbox, test mode or test credentials — you develop against a live DV360 account. - No first-party CLI. - No published status page for this API specifically. - No self-serve signup, free tier, trial or published API pricing.