Method: networks.sources.content.update
Stay organized with collections
Save and categorize content based on your preferences.
API to create new content or update its metadata if the content already exists in Ad Manager. Returns the content on success or a google.rpc.Code
on failure.
An example request looks like:
{
"status": "ACTIVE",
"title": "Best video ever",
"updateTime": "2019-01-24T01:30:15.01Z",
"duration": "230s",
"cuePoints": ["55.532s", "192s"],
"publishTime": "2019-01-24T01:30:15.01Z",
"thumbnailUrl": "http://www.domain.com/tn.jpg",
"metadata": {
"keyValues": {
"category": "sports",
"tag": ["soccer", "messi"],
"views": 700000,
"rating": 5.5
}
}
}
HTTP request
PUT https://contentingestion.googleapis.com/v1/{name=networks/*/sources/*/content/*}
The URL uses gRPC Transcoding syntax.
Path parameters
Parameters |
name |
string
The resource name of the video content. VideoContent names have the form 'networks/{network_code}/sources/{content_source_id}/content/{cms_content_id}' The network code in Google Ad Manager to which this content belongs. The content source ID in Google Ad Manager to which this content should belong. The CMS content ID in Ad Manager, this is a required request parameter, formed as a part of the ad request to identify which ads Ad Manager can serve against the corresponding video. This value will be used for the vid parameter on a video ad request. It can be numeric or alphanumeric.
|
Request body
The request body contains an instance of VideoContent
.
Response body
If successful, the response body contains an instance of VideoContent
.
Authorization Scopes
Requires the following OAuth scope:
https://www.googleapis.com/auth/contentingestion
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-08-20 UTC.
[[["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 2025-08-20 UTC."],[[["\u003cp\u003eThe Content Ingestion API allows for the creation and metadata updates of video content within Google Ad Manager.\u003c/p\u003e\n"],["\u003cp\u003eThe API utilizes a \u003ccode\u003ePUT\u003c/code\u003e request to \u003ccode\u003ehttps://contentingestion.googleapis.com/v1/{name=networks/*/sources/*/content/*}\u003c/code\u003e for content management.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eVideoContent\u003c/code\u003e objects are used for both request and response bodies, containing details like title, duration, and metadata.\u003c/p\u003e\n"],["\u003cp\u003eTo use the API, you'll need the \u003ccode\u003ehttps://www.googleapis.com/auth/contentingestion\u003c/code\u003e OAuth scope.\u003c/p\u003e\n"],["\u003cp\u003eVideo content is uniquely identified using a resource name in the format \u003ccode\u003enetworks/{network_code}/sources/{content_source_id}/content/{cms_content_id}\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Method: networks.sources.content.update\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Path parameters](#body.PATH_PARAMETERS)\n- [Request body](#body.request_body)\n- [Response body](#body.response_body)\n- [Authorization Scopes](#body.aspect)\n\n| Deprecated: new clients should use the AdManager Video API: \u003chttps://developers.google.com/ad-manager/video\u003e.\nAPI to create new content or update its metadata if the content already exists in Ad Manager. Returns the content on success or a `google.rpc.Code` on failure.\n\nAn example request looks like: \n\n {\n \"status\": \"ACTIVE\",\n \"title\": \"Best video ever\",\n \"updateTime\": \"2019-01-24T01:30:15.01Z\",\n \"duration\": \"230s\",\n \"cuePoints\": [\"55.532s\", \"192s\"],\n \"publishTime\": \"2019-01-24T01:30:15.01Z\",\n \"thumbnailUrl\": \"http://www.domain.com/tn.jpg\",\n \"metadata\": {\n \"keyValues\": {\n \"category\": \"sports\",\n \"tag\": [\"soccer\", \"messi\"],\n \"views\": 700000,\n \"rating\": 5.5\n }\n }\n }\n\n`\n``\n`\n\n### HTTP request\n\n`PUT https://contentingestion.googleapis.com/v1/{name=networks/*/sources/*/content/*}`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Path parameters\n\n| Parameters ||\n|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `name` | `string` The resource name of the video content. VideoContent names have the form 'networks/{network_code}/sources/{content_source_id}/content/{cms_content_id}' The network code in Google Ad Manager to which this content belongs. The content source ID in Google Ad Manager to which this content should belong. The CMS content ID in Ad Manager, this is a required request parameter, formed as a part of the ad request to identify which ads Ad Manager can serve against the corresponding video. This value will be used for the vid parameter on a video ad request. It can be numeric or alphanumeric. |\n\n### Request body\n\nThe request body contains an instance of [VideoContent](/ad-manager/content-ingestion/rest/v1/networks.sources.content#VideoContent).\n\n### Response body\n\nIf successful, the response body contains an instance of [VideoContent](/ad-manager/content-ingestion/rest/v1/networks.sources.content#VideoContent).\n\n### Authorization Scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/contentingestion`\n\nFor more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).\n`\n``\n\n\n`"]]