blob: 8f0c195cc96f04fff7a207206df02be68b6efd38 [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/adexchange.buyer": {
"description": "Manage your Ad Exchange buyer account configuration"
},
"https://www.googleapis.com/auth/realtime-bidding": {
"description": "See, create, edit, and delete your Authorized Buyers and Open Bidding account entities"
}
}
}
},
"basePath": "",
"baseUrl": "https://realtimebidding.googleapis.com/",
"batchPath": "batch",
"canonicalName": "Real-time Bidding",
"description": "Allows external bidders to manage their RTB integration with Google. This includes managing bidder endpoints, QPS quotas, configuring what ad inventory to receive via pretargeting, submitting creatives for verification, and accessing creative metadata such as approval status.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/authorized-buyers/apis/realtimebidding/reference/rest/",
"fullyEncodeReservedExpansion": true,
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"id": "realtimebidding:v1",
"kind": "discovery#restDescription",
"mtlsRootUrl": "https://realtimebidding.mtls.googleapis.com/",
"name": "realtimebidding",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"$.xgafv": {
"description": "V1 error format.",
"enum": [
"1",
"2"
],
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"type": "string"
},
"access_token": {
"description": "OAuth access token.",
"location": "query",
"type": "string"
},
"alt": {
"default": "json",
"description": "Data format for response.",
"enum": [
"json",
"media",
"proto"
],
"enumDescriptions": [
"Responses with Content-Type of application/json",
"Media download with context-dependent Content-Type",
"Responses with Content-Type of application/x-protobuf"
],
"location": "query",
"type": "string"
},
"callback": {
"description": "JSONP",
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
"location": "query",
"type": "string"
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"location": "query",
"type": "string"
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"bidders": {
"resources": {
"creatives": {
"methods": {
"list": {
"description": "Lists creatives.",
"flatPath": "v1/bidders/{biddersId}/creatives",
"httpMethod": "GET",
"id": "realtimebidding.bidders.creatives.list",
"parameterOrder": [
"parent"
],
"parameters": {
"filter": {
"description": "Query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\n\nExample: 'accountId=12345 AND (dealsStatus:DISAPPROVED AND\ndisapprovalReason:UNACCEPTABLE_CONTENT) OR\ndeclaredAttributes:IS_COOKIE_TARGETED'",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Requested page size. The server may return fewer creatives than requested\n(due to timeout constraint) even if more are available via another call.\nIf unspecified, server will pick an appropriate default.\nAcceptable values are 1 to 1000, inclusive.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativesResponse.nextPageToken\nreturned from the previous call to the 'ListCreatives' method.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Name of the parent buyer that owns the creatives.\n\nThe pattern for this resource is either `buyers/{buyerAccountId}` or\n`bidders/{bidderAccountId}`.\n\nFor `buyers/{buyerAccountId}`, the `buyerAccountId` can be one of the\nfollowing:\n1. The ID of the buyer that is accessing their own creatives.\n2. The ID of the child seat buyer under a bidder account.\n So for listing creatives pertaining to the child seat buyer (`456`)\n under bidder account (`123`), you would use the pattern: `buyers/456`.\n3. The ID of the bidder itself.\n So for listing creatives pertaining to bidder (`123`),\n you would use `buyers/123`.\n\nIf you want to access all creatives pertaining to both the bidder and all\nof its child seat accounts, you would use `bidders/{bidderAccountId}`,\ne.g., for all creatives pertaining to bidder (`123`), use `bidders/123`.",
"location": "path",
"pattern": "^bidders/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Controls the amount of information included in the response.\nBy default only\ncreativeServingDecision\nis included. To retrieve the entire creative\nresource (including the declared\nfields and the creative content) specify the view as \"FULL\".",
"enum": [
"CREATIVE_VIEW_UNSPECIFIED",
"SERVING_DECISION_ONLY",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1/{+parent}/creatives",
"response": {
"$ref": "ListCreativesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"watch": {
"description": "Watches all creatives pertaining to a bidder. It is sufficient to invoke\nthis endpoint once per bidder. A Pub/Sub topic will be created and\nnotifications will be pushed to the topic when any of the bidder's\ncreatives change status. All of the bidder's service accounts will have\naccess to read from the topic.\nSubsequent invocations of this method will return the existing\nPub/Sub configuration.",
"flatPath": "v1/bidders/{biddersId}/creatives:watch",
"httpMethod": "POST",
"id": "realtimebidding.bidders.creatives.watch",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. To watch all creatives pertaining to the bidder and all its child seat\naccounts, the bidder must follow the pattern `bidders/{bidderAccountId}`.",
"location": "path",
"pattern": "^bidders/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/creatives:watch",
"request": {
"$ref": "WatchCreativesRequest"
},
"response": {
"$ref": "WatchCreativesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
}
}
}
}
},
"buyers": {
"methods": {
"getRemarketingTag": {
"description": "Gets remarketing tag for a buyer. A remarketing tag is a piece of\nJavaScript code that can be placed on a web page. When a user\nvisits a page containing a remarketing tag, Google adds the user to a user\nlist.",
"flatPath": "v1/buyers/{buyersId}:getRemarketingTag",
"httpMethod": "GET",
"id": "realtimebidding.buyers.getRemarketingTag",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. To fetch remarketing tag for an account, name must follow the pattern\n`buyers/{accountId}` where `{accountId}`\nrepresents ID of a buyer that owns the remarketing tag. For a\nbidder accessing remarketing tag on behalf of a child seat buyer,\n`{accountId}` should represent the ID of the child seat buyer.\nTo fetch remarketing tag for a specific user list, name\nmust follow the pattern\n`buyers/{accountId}/userLists/{userListId}`. See\nUserList.name.",
"location": "path",
"pattern": "^buyers/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:getRemarketingTag",
"response": {
"$ref": "GetRemarketingTagResponse"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
}
},
"resources": {
"creatives": {
"methods": {
"create": {
"description": "Creates a creative.",
"flatPath": "v1/buyers/{buyersId}/creatives",
"httpMethod": "POST",
"id": "realtimebidding.buyers.creatives.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The name of the parent buyer that the new creative belongs to that must\nfollow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}`\nrepresents the account ID of the buyer who owns a creative. For a bidder\naccessing creatives on behalf of a child seat buyer, `{buyerAccountId}`\nshould represent the account ID of the child seat buyer.",
"location": "path",
"pattern": "^buyers/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/creatives",
"request": {
"$ref": "Creative"
},
"response": {
"$ref": "Creative"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"get": {
"description": "Gets a creative.",
"flatPath": "v1/buyers/{buyersId}/creatives/{creativesId}",
"httpMethod": "GET",
"id": "realtimebidding.buyers.creatives.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. Name of the creative to retrieve. See\ncreative.name.",
"location": "path",
"pattern": "^buyers/[^/]+/creatives/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Controls the amount of information included in the response.\nBy default only\ncreativeServingDecision\nis included. To retrieve the entire creative\nresource (including the declared\nfields and the creative content) specify the view as \"FULL\".",
"enum": [
"CREATIVE_VIEW_UNSPECIFIED",
"SERVING_DECISION_ONLY",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "Creative"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"list": {
"description": "Lists creatives.",
"flatPath": "v1/buyers/{buyersId}/creatives",
"httpMethod": "GET",
"id": "realtimebidding.buyers.creatives.list",
"parameterOrder": [
"parent"
],
"parameters": {
"filter": {
"description": "Query string to filter creatives. If no filter is specified,\nall active creatives will be returned.\n\nExample: 'accountId=12345 AND (dealsStatus:DISAPPROVED AND\ndisapprovalReason:UNACCEPTABLE_CONTENT) OR\ndeclaredAttributes:IS_COOKIE_TARGETED'",
"location": "query",
"type": "string"
},
"pageSize": {
"description": "Requested page size. The server may return fewer creatives than requested\n(due to timeout constraint) even if more are available via another call.\nIf unspecified, server will pick an appropriate default.\nAcceptable values are 1 to 1000, inclusive.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "A token identifying a page of results the server should return.\nTypically, this is the value of\nListCreativesResponse.nextPageToken\nreturned from the previous call to the 'ListCreatives' method.",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. Name of the parent buyer that owns the creatives.\n\nThe pattern for this resource is either `buyers/{buyerAccountId}` or\n`bidders/{bidderAccountId}`.\n\nFor `buyers/{buyerAccountId}`, the `buyerAccountId` can be one of the\nfollowing:\n1. The ID of the buyer that is accessing their own creatives.\n2. The ID of the child seat buyer under a bidder account.\n So for listing creatives pertaining to the child seat buyer (`456`)\n under bidder account (`123`), you would use the pattern: `buyers/456`.\n3. The ID of the bidder itself.\n So for listing creatives pertaining to bidder (`123`),\n you would use `buyers/123`.\n\nIf you want to access all creatives pertaining to both the bidder and all\nof its child seat accounts, you would use `bidders/{bidderAccountId}`,\ne.g., for all creatives pertaining to bidder (`123`), use `bidders/123`.",
"location": "path",
"pattern": "^buyers/[^/]+$",
"required": true,
"type": "string"
},
"view": {
"description": "Controls the amount of information included in the response.\nBy default only\ncreativeServingDecision\nis included. To retrieve the entire creative\nresource (including the declared\nfields and the creative content) specify the view as \"FULL\".",
"enum": [
"CREATIVE_VIEW_UNSPECIFIED",
"SERVING_DECISION_ONLY",
"FULL"
],
"location": "query",
"type": "string"
}
},
"path": "v1/{+parent}/creatives",
"response": {
"$ref": "ListCreativesResponse"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"patch": {
"description": "Updates a creative.",
"flatPath": "v1/buyers/{buyersId}/creatives/{creativesId}",
"httpMethod": "PATCH",
"id": "realtimebidding.buyers.creatives.patch",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Name of the creative to update. See\ncreative.name.",
"location": "path",
"pattern": "^buyers/[^/]+/creatives/[^/]+$",
"required": true,
"type": "string"
},
"updateMask": {
"description": "Field mask to use for partial in-place updates.",
"format": "google-fieldmask",
"location": "query",
"type": "string"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "Creative"
},
"response": {
"$ref": "Creative"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
}
}
},
"userLists": {
"methods": {
"close": {
"description": "Change the status of a user list to CLOSED. This prevents new users from\nbeing added to the user list.",
"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:close",
"httpMethod": "POST",
"id": "realtimebidding.buyers.userLists.close",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the user list to close.\nSee UserList.name",
"location": "path",
"pattern": "^buyers/[^/]+/userLists/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:close",
"request": {
"$ref": "CloseUserListRequest"
},
"response": {
"$ref": "UserList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"create": {
"description": "Create a new user list.",
"flatPath": "v1/buyers/{buyersId}/userLists",
"httpMethod": "POST",
"id": "realtimebidding.buyers.userLists.create",
"parameterOrder": [
"parent"
],
"parameters": {
"parent": {
"description": "Required. The name of the parent buyer of the user list to be retrieved that\nmust follow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}`\nrepresents the account ID of the buyer who owns user lists. For a bidder\naccessing user lists on behalf of a child seat buyer , `{buyerAccountId}`\nshould represent the account ID of the child seat buyer.",
"location": "path",
"pattern": "^buyers/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/userLists",
"request": {
"$ref": "UserList"
},
"response": {
"$ref": "UserList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"get": {
"description": "Gets a user list by its name.",
"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}",
"httpMethod": "GET",
"id": "realtimebidding.buyers.userLists.get",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the user list to be retrieved. See\nUserList.name.",
"location": "path",
"pattern": "^buyers/[^/]+/userLists/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"response": {
"$ref": "UserList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"getRemarketingTag": {
"description": "Gets remarketing tag for a buyer. A remarketing tag is a piece of\nJavaScript code that can be placed on a web page. When a user\nvisits a page containing a remarketing tag, Google adds the user to a user\nlist.",
"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:getRemarketingTag",
"httpMethod": "GET",
"id": "realtimebidding.buyers.userLists.getRemarketingTag",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. To fetch remarketing tag for an account, name must follow the pattern\n`buyers/{accountId}` where `{accountId}`\nrepresents ID of a buyer that owns the remarketing tag. For a\nbidder accessing remarketing tag on behalf of a child seat buyer,\n`{accountId}` should represent the ID of the child seat buyer.\nTo fetch remarketing tag for a specific user list, name\nmust follow the pattern\n`buyers/{accountId}/userLists/{userListId}`. See\nUserList.name.",
"location": "path",
"pattern": "^buyers/[^/]+/userLists/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:getRemarketingTag",
"response": {
"$ref": "GetRemarketingTagResponse"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"list": {
"description": "Lists the user lists visible to the current user.",
"flatPath": "v1/buyers/{buyersId}/userLists",
"httpMethod": "GET",
"id": "realtimebidding.buyers.userLists.list",
"parameterOrder": [
"parent"
],
"parameters": {
"pageSize": {
"description": "The number of results to return per page.",
"format": "int32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Continuation page token (as received from a previous response).",
"location": "query",
"type": "string"
},
"parent": {
"description": "Required. The name of the parent buyer for the user lists to be returned that must\nfollow the pattern `buyers/{buyerAccountId}`, where `{buyerAccountId}`\nrepresents the account ID of the buyer who owns user lists. For a bidder\naccessing user lists on behalf of a child seat buyer , `{buyerAccountId}`\nshould represent the account ID of the child seat buyer.",
"location": "path",
"pattern": "^buyers/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+parent}/userLists",
"response": {
"$ref": "ListUserListsResponse"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"open": {
"description": "Change the status of a user list to OPEN. This allows new users to be added\nto the user list.",
"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}:open",
"httpMethod": "POST",
"id": "realtimebidding.buyers.userLists.open",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Required. The name of the user list to open.\nSee UserList.name",
"location": "path",
"pattern": "^buyers/[^/]+/userLists/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}:open",
"request": {
"$ref": "OpenUserListRequest"
},
"response": {
"$ref": "UserList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
},
"update": {
"description": "Update the given user list. Only user lists with URLRestrictions can be\nupdated.",
"flatPath": "v1/buyers/{buyersId}/userLists/{userListsId}",
"httpMethod": "PUT",
"id": "realtimebidding.buyers.userLists.update",
"parameterOrder": [
"name"
],
"parameters": {
"name": {
"description": "Output only. Name of the user list that must follow the pattern\n`buyers/{buyer}/userLists/{user_list}`, where `{buyer}` represents\nthe account ID of the buyer who owns the user list. For a bidder accessing\nuser lists on behalf of a child seat buyer, `{buyer}` represents\nthe account ID of the child seat buyer. `{user_list}` is an int64\nidentifier assigned by Google to uniquely identify a user list.",
"location": "path",
"pattern": "^buyers/[^/]+/userLists/[^/]+$",
"required": true,
"type": "string"
}
},
"path": "v1/{+name}",
"request": {
"$ref": "UserList"
},
"response": {
"$ref": "UserList"
},
"scopes": [
"https://www.googleapis.com/auth/adexchange.buyer",
"https://www.googleapis.com/auth/realtime-bidding"
]
}
}
}
}
}
},
"revision": "20200623",
"rootUrl": "https://realtimebidding.googleapis.com/",
"schemas": {
"AdTechnologyProviders": {
"description": "Detected ad technology provider information.",
"id": "AdTechnologyProviders",
"properties": {
"detectedProviderIds": {
"description": "The detected ad technology provider IDs for this creative.\nSee https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for\nmapping of provider ID to provided name, a privacy policy URL, and a list\nof domains which can be attributed to the provider.\n\nIf the creative contains provider IDs that are outside of those listed in\nthe `BidRequest.adslot.consented_providers_settings.consented_providers`\nfield on the [Google bid\nprotocol](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto)\nand the\n`BidRequest.user.ext.consented_providers_settings.consented_providers`\nfield on the [OpenRTB\nprotocol](https://developers.google.com/authorized-buyers/rtb/downloads/openrtb-adx-proto),\nand a bid is submitted with that creative for an impression\nthat will serve to an EEA user, the bid will be filtered before the\nauction.",
"items": {
"format": "int64",
"type": "string"
},
"type": "array"
},
"hasUnidentifiedProvider": {
"description": "Whether the creative contains an unidentified ad technology provider.\n\nIf true for a given creative, any bid submitted with that creative for an\nimpression that will serve to an EEA user will be filtered before the\nauction.",
"type": "boolean"
}
},
"type": "object"
},
"AdvertiserAndBrand": {
"description": "Detected advertiser and brand information.",
"id": "AdvertiserAndBrand",
"properties": {
"advertiserId": {
"description": "See https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt\nfor the list of possible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "int64",
"type": "string"
},
"advertiserName": {
"description": "Advertiser name.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"type": "string"
},
"brandId": {
"description": "Detected brand ID or zero if no brand has been detected.\nSee https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt for\nthe list of possible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "int64",
"type": "string"
},
"brandName": {
"description": "Brand name.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"type": "string"
}
},
"type": "object"
},
"CloseUserListRequest": {
"description": "A request to close a specified user list.",
"id": "CloseUserListRequest",
"properties": {},
"type": "object"
},
"Creative": {
"description": "A creative and its classification data.",
"id": "Creative",
"properties": {
"accountId": {
"description": "Output only. ID of the buyer account that this creative is owned by.\nCan be used to filter the response of the\ncreatives.list\nmethod with equality and inequality check.",
"format": "int64",
"type": "string"
},
"adChoicesDestinationUrl": {
"description": "The link to AdChoices destination page. This is only supported for native\nads.",
"type": "string"
},
"advertiserName": {
"description": "The name of the company being advertised in the creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"type": "string"
},
"agencyId": {
"description": "The agency ID for this creative.",
"format": "int64",
"type": "string"
},
"apiUpdateTime": {
"description": "Output only. The last update timestamp of the creative via API.",
"format": "google-datetime",
"type": "string"
},
"creativeFormat": {
"description": "Output only. The format of this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"enum": [
"CREATIVE_FORMAT_UNSPECIFIED",
"HTML",
"VIDEO",
"NATIVE"
],
"enumDescriptions": [
"The format is unknown.",
"HTML creative.",
"Video creative.",
"Native creative."
],
"type": "string"
},
"creativeId": {
"description": "Buyer-specific creative ID that references this creative in bid responses.\nThis field is Ignored in update operations. Can be used to filter the\nresponse of the\ncreatives.list\nmethod.\nThe maximum length of the creative ID is 128 bytes.",
"type": "string"
},
"creativeServingDecision": {
"$ref": "CreativeServingDecision",
"description": "Output only. Top level status and detected attributes of a creative (for example domain,\nlanguage, advertiser, product category, etc.) that affect whether (status)\nand where (context) a creative will be allowed to serve."
},
"dealIds": {
"description": "Output only. IDs of all of the deals with which this creative has been used\nin bidding.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"items": {
"type": "string"
},
"type": "array"
},
"declaredAttributes": {
"description": "All declared attributes for the ads that may be shown from this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nIf the `excluded_attribute` field of a [bid\nrequest](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto\")\ncontains one of the attributes that were declared or detected for a given\ncreative, and a bid is submitted with that creative, the bid will be\nfiltered before the auction.",
"enumDescriptions": [
"Do not use. This is a placeholder value only.",
"The creative is of type image/rich media. For pretargeting.",
"The creative is of video type Adobe Flash FLV. For pretargeting.",
"The creative is tagged.",
"The creative is cookie targeted.",
"The creative is user interest targeted.",
"The creative does not expand.",
"The creative expands up.",
"The creative expands down.",
"The creative expands left.",
"The creative expands right.",
"The creative expands up and left.",
"The creative expands up and right.",
"The creative expands down and left.",
"The creative expands down and right.",
"The creative type is HTML.",
"The creative type is VAST video.",
"The creative expands up or down.",
"The creative expands left or right.",
"The creative expands on any diagonal.",
"The creative expands when rolled over.",
"The instream vast video type is vpaid flash.",
"The creative is MRAID.",
"The creative is Flash.",
"The creative is HTML5.",
"The creative has an instream VAST video type of skippable instream video.\nFor pretargeting.",
"The creative is SSL.",
"The creative is non-SSL.",
"The creative is an interstitial.",
"The creative has an instream VAST video type of non-skippable instream\nvideo. For pretargeting.",
"The creative is eligible for native.",
"The creative has an instream VAST video type of non-VPAID. For\npretargeting.",
"The creative is not eligible for native.",
"The creative has an interstitial size of any interstitial. For\npretargeting.",
"The creative has an interstitial size of non interstitial. For\npretargeting.",
"The video type is in-banner video.",
"The creative can dynamically resize to fill a variety of slot sizes.",
"The open measurement SDK is supported."
],
"items": {
"enum": [
"ATTRIBUTE_UNSPECIFIED",
"IMAGE_RICH_MEDIA",
"ADOBE_FLASH_FLV",
"IS_TAGGED",
"IS_COOKIE_TARGETED",
"IS_USER_INTEREST_TARGETED",
"EXPANDING_DIRECTION_NONE",
"EXPANDING_DIRECTION_UP",
"EXPANDING_DIRECTION_DOWN",
"EXPANDING_DIRECTION_LEFT",
"EXPANDING_DIRECTION_RIGHT",
"EXPANDING_DIRECTION_UP_LEFT",
"EXPANDING_DIRECTION_UP_RIGHT",
"EXPANDING_DIRECTION_DOWN_LEFT",
"EXPANDING_DIRECTION_DOWN_RIGHT",
"CREATIVE_TYPE_HTML",
"CREATIVE_TYPE_VAST_VIDEO",
"EXPANDING_DIRECTION_UP_OR_DOWN",
"EXPANDING_DIRECTION_LEFT_OR_RIGHT",
"EXPANDING_DIRECTION_ANY_DIAGONAL",
"EXPANDING_ACTION_ROLLOVER_TO_EXPAND",
"INSTREAM_VAST_VIDEO_TYPE_VPAID_FLASH",
"RICH_MEDIA_CAPABILITY_TYPE_MRAID",
"RICH_MEDIA_CAPABILITY_TYPE_FLASH",
"RICH_MEDIA_CAPABILITY_TYPE_HTML5",
"SKIPPABLE_INSTREAM_VIDEO",
"RICH_MEDIA_CAPABILITY_TYPE_SSL",
"RICH_MEDIA_CAPABILITY_TYPE_NON_SSL",
"RICH_MEDIA_CAPABILITY_TYPE_INTERSTITIAL",
"NON_SKIPPABLE_INSTREAM_VIDEO",
"NATIVE_ELIGIBILITY_ELIGIBLE",
"NON_VPAID",
"NATIVE_ELIGIBILITY_NOT_ELIGIBLE",
"ANY_INTERSTITIAL",
"NON_INTERSTITIAL",
"IN_BANNER_VIDEO",
"RENDERING_SIZELESS_ADX",
"OMSDK_1_0"
],
"type": "string"
},
"type": "array"
},
"declaredClickThroughUrls": {
"description": "The set of declared destination URLs for the creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"items": {
"type": "string"
},
"type": "array"
},
"declaredRestrictedCategories": {
"description": "All declared restricted categories for the ads that may be shown from this\ncreative. Can be used to filter the response of the\ncreatives.list\nmethod.",
"enumDescriptions": [
"Default value that should never be used.",
"The alcohol restricted category."
],
"items": {
"enum": [
"RESTRICTED_CATEGORY_UNSPECIFIED",
"ALCOHOL"
],
"type": "string"
},
"type": "array"
},
"declaredVendorIds": {
"description": "IDs for the declared ad technology vendors that may be used by this\ncreative. See\nhttps://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for\npossible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"html": {
"$ref": "HtmlContent",
"description": "An HTML creative."
},
"impressionTrackingUrls": {
"description": "The set of URLs to be called to record an impression.",
"items": {
"type": "string"
},
"type": "array"
},
"name": {
"description": "Output only. Name of the creative.\nFollows the pattern `buyers/{buyer}/creatives/{creative}`, where\n`{buyer}` represents the account ID of the buyer who owns the creative,\nand `{creative}` is the buyer-specific creative ID that references this\ncreative in the bid response.",
"type": "string"
},
"native": {
"$ref": "NativeContent",
"description": "A native creative."
},
"restrictedCategories": {
"description": "All restricted categories for the ads that may be shown from this creative.",
"enumDescriptions": [
"Default value that should never be used.",
"The alcohol restricted category."
],
"items": {
"enum": [
"RESTRICTED_CATEGORY_UNSPECIFIED",
"ALCOHOL"
],
"type": "string"
},
"type": "array"
},
"version": {
"description": "Output only. The version of this creative.\nVersion for a new creative is 1 and it increments during subsequent\ncreative updates.",
"format": "int32",
"type": "integer"
},
"video": {
"$ref": "VideoContent",
"description": "A video creative."
}
},
"type": "object"
},
"CreativeServingDecision": {
"description": "Top level status and detected attributes of a creative.",
"id": "CreativeServingDecision",
"properties": {
"adTechnologyProviders": {
"$ref": "AdTechnologyProviders",
"description": "The detected ad technology providers."
},
"chinaServingStatus": {
"$ref": "ServingStatus",
"description": "The serving status of this creative in China.\nWhen approved or disapproved, this status applies to both deals and open\nauction in China. When pending review, this creative is allowed to serve\nfor deals but not for open auction."
},
"dealsServingStatus": {
"$ref": "ServingStatus",
"description": "Status of this creative when bidding on PG and PD deals (outside of\nRussia and China)."
},
"detectedAdvertisers": {
"description": "Detected advertisers and brands.",
"items": {
"$ref": "AdvertiserAndBrand"
},
"type": "array"
},
"detectedAttributes": {
"description": "Publisher-excludable attributes that were detected for this creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nIf the `excluded_attribute` field of a [bid\nrequest](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto)\ncontains one of the attributes that were declared or detected for a given\ncreative, and a bid is submitted with that creative, the bid will be\nfiltered before the auction.",
"enumDescriptions": [
"Do not use. This is a placeholder value only.",
"The creative is of type image/rich media. For pretargeting.",
"The creative is of video type Adobe Flash FLV. For pretargeting.",
"The creative is tagged.",
"The creative is cookie targeted.",
"The creative is user interest targeted.",
"The creative does not expand.",
"The creative expands up.",
"The creative expands down.",
"The creative expands left.",
"The creative expands right.",
"The creative expands up and left.",
"The creative expands up and right.",
"The creative expands down and left.",
"The creative expands down and right.",
"The creative type is HTML.",
"The creative type is VAST video.",
"The creative expands up or down.",
"The creative expands left or right.",
"The creative expands on any diagonal.",
"The creative expands when rolled over.",
"The instream vast video type is vpaid flash.",
"The creative is MRAID.",
"The creative is Flash.",
"The creative is HTML5.",
"The creative has an instream VAST video type of skippable instream video.\nFor pretargeting.",
"The creative is SSL.",
"The creative is non-SSL.",
"The creative is an interstitial.",
"The creative has an instream VAST video type of non-skippable instream\nvideo. For pretargeting.",
"The creative is eligible for native.",
"The creative has an instream VAST video type of non-VPAID. For\npretargeting.",
"The creative is not eligible for native.",
"The creative has an interstitial size of any interstitial. For\npretargeting.",
"The creative has an interstitial size of non interstitial. For\npretargeting.",
"The video type is in-banner video.",
"The creative can dynamically resize to fill a variety of slot sizes.",
"The open measurement SDK is supported."
],
"items": {
"enum": [
"ATTRIBUTE_UNSPECIFIED",
"IMAGE_RICH_MEDIA",
"ADOBE_FLASH_FLV",
"IS_TAGGED",
"IS_COOKIE_TARGETED",
"IS_USER_INTEREST_TARGETED",
"EXPANDING_DIRECTION_NONE",
"EXPANDING_DIRECTION_UP",
"EXPANDING_DIRECTION_DOWN",
"EXPANDING_DIRECTION_LEFT",
"EXPANDING_DIRECTION_RIGHT",
"EXPANDING_DIRECTION_UP_LEFT",
"EXPANDING_DIRECTION_UP_RIGHT",
"EXPANDING_DIRECTION_DOWN_LEFT",
"EXPANDING_DIRECTION_DOWN_RIGHT",
"CREATIVE_TYPE_HTML",
"CREATIVE_TYPE_VAST_VIDEO",
"EXPANDING_DIRECTION_UP_OR_DOWN",
"EXPANDING_DIRECTION_LEFT_OR_RIGHT",
"EXPANDING_DIRECTION_ANY_DIAGONAL",
"EXPANDING_ACTION_ROLLOVER_TO_EXPAND",
"INSTREAM_VAST_VIDEO_TYPE_VPAID_FLASH",
"RICH_MEDIA_CAPABILITY_TYPE_MRAID",
"RICH_MEDIA_CAPABILITY_TYPE_FLASH",
"RICH_MEDIA_CAPABILITY_TYPE_HTML5",
"SKIPPABLE_INSTREAM_VIDEO",
"RICH_MEDIA_CAPABILITY_TYPE_SSL",
"RICH_MEDIA_CAPABILITY_TYPE_NON_SSL",
"RICH_MEDIA_CAPABILITY_TYPE_INTERSTITIAL",
"NON_SKIPPABLE_INSTREAM_VIDEO",
"NATIVE_ELIGIBILITY_ELIGIBLE",
"NON_VPAID",
"NATIVE_ELIGIBILITY_NOT_ELIGIBLE",
"ANY_INTERSTITIAL",
"NON_INTERSTITIAL",
"IN_BANNER_VIDEO",
"RENDERING_SIZELESS_ADX",
"OMSDK_1_0"
],
"type": "string"
},
"type": "array"
},
"detectedClickThroughUrls": {
"description": "The set of detected destination URLs for the creative.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"items": {
"type": "string"
},
"type": "array"
},
"detectedDomains": {
"description": "The detected domains for this creative.",
"items": {
"type": "string"
},
"type": "array"
},
"detectedLanguages": {
"description": "The detected languages for this creative. The order is\narbitrary. The codes are 2 or 5 characters and are documented at\nhttps://developers.google.com/adwords/api/docs/appendix/languagecodes.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"items": {
"type": "string"
},
"type": "array"
},
"detectedProductCategories": {
"description": "Detected product categories, if any.\nSee the ad-product-categories.txt file in the technical documentation\nfor a list of IDs.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"detectedSensitiveCategories": {
"description": "Detected sensitive categories, if any.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nSee the ad-sensitive-categories.txt file in the technical documentation\nfor a list of IDs. You should use these IDs along with the\nexcluded-sensitive-category field in the bid request to filter your bids.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"detectedVendorIds": {
"description": "IDs of the ad technology vendors that were detected to be\nused by this creative. See\nhttps://storage.googleapis.com/adx-rtb-dictionaries/vendors.txt for\npossible values.\nCan be used to filter the response of the\ncreatives.list\nmethod.\n\nIf the `allowed_vendor_type` field of a [bid\nrequest](https://developers.google.com/authorized-buyers/rtb/downloads/realtime-bidding-proto)\ndoes not contain one of the vendor type IDs that were declared or\ndetected for a given creative, and a bid is submitted with that creative,\nthe bid will be filtered before the auction.",
"items": {
"format": "int32",
"type": "integer"
},
"type": "array"
},
"lastStatusUpdate": {
"description": "The last time the creative status was updated.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "google-datetime",
"type": "string"
},
"openAuctionServingStatus": {
"$ref": "ServingStatus",
"description": "Status of this creative when bidding in open auction, private auction, or\nauction packages (outside of Russia and China)."
},
"russiaServingStatus": {
"$ref": "ServingStatus",
"description": "The serving status of this creative in Russia.\nWhen approved or disapproved, this status applies to both deals and open\nauction in Russia. When pending review, this creative is allowed to serve\nfor deals but not for open auction."
}
},
"type": "object"
},
"Date": {
"description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
"id": "Date",
"properties": {
"day": {
"description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.",
"format": "int32",
"type": "integer"
},
"month": {
"description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.",
"format": "int32",
"type": "integer"
},
"year": {
"description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"DestinationNotCrawlableEvidence": {
"description": "Evidence that the creative's destination URL was not crawlable by Google.",
"id": "DestinationNotCrawlableEvidence",
"properties": {
"crawlTime": {
"description": "Approximate time of the crawl.",
"format": "google-datetime",
"type": "string"
},
"crawledUrl": {
"description": "Destination URL that was attempted to be crawled.",
"type": "string"
},
"reason": {
"description": "Reason of destination not crawlable.",
"enum": [
"REASON_UNSPECIFIED",
"UNREACHABLE_ROBOTS",
"TIMEOUT_ROBOTS",
"ROBOTED_DENIED",
"UNKNOWN"
],
"enumDescriptions": [
"Default value that should never be used.",
"Site's robots exclusion file (e.g., robots.txt) was unreachable.",
"Timed out reading site's robots exclusion file (e.g., robots.txt).",
"Crawler was disallowed by the site's robots exclusion file (e.g.,\nrobots.txt).",
"Unknown reason."
],
"type": "string"
}
},
"type": "object"
},
"DestinationNotWorkingEvidence": {
"description": "Evidence of the creative's destination URL not functioning properly or\nhaving been incorrectly set up.",
"id": "DestinationNotWorkingEvidence",
"properties": {
"dnsError": {
"description": "DNS lookup errors.",
"enum": [
"DNS_ERROR_UNSPECIFIED",
"ERROR_DNS",
"GOOGLE_CRAWLER_DNS_ISSUE"
],
"enumDescriptions": [
"Default value that should never be used.",
"DNS name was not found.",
"An internal issue occurred when Google's crawler tried to resolve the\nDNS entry. This is a Google-internal issue and may not be the result\nof an issue with the landing page."
],
"type": "string"
},
"expandedUrl": {
"description": "The full non-working URL.",
"type": "string"
},
"httpError": {
"description": "HTTP error code (e.g. 404 or 5xx)",
"format": "int32",
"type": "integer"
},
"invalidPage": {
"description": "Page was crawled successfully, but was detected as either a page with\nno content or an error page.",
"enum": [
"INVALID_PAGE_UNSPECIFIED",
"EMPTY_OR_ERROR_PAGE"
],
"enumDescriptions": [
"Default value that should never be used.",
"Page was empty or had an error."
],
"type": "string"
},
"lastCheckTime": {
"description": "Approximate time when the ad destination was last checked.",
"format": "google-datetime",
"type": "string"
},
"platform": {
"description": "Platform of the non-working URL.",
"enum": [
"PLATFORM_UNSPECIFIED",
"PERSONAL_COMPUTER",
"ANDROID",
"IOS"
],
"enumDescriptions": [
"Default value that should never be used.",
"The personal computer platform.",
"The Android platform.",
"The iOS platform."
],
"type": "string"
},
"redirectionError": {
"description": "HTTP redirect chain error.",
"enum": [
"REDIRECTION_ERROR_UNSPECIFIED",
"TOO_MANY_REDIRECTS",
"INVALID_REDIRECT",
"EMPTY_REDIRECT"
],
"enumDescriptions": [
"Default value that should never be used.",
"Too many redirect hops.",
"Got a redirect but it was invalid.",
"Got a redirect but it was empty."
],
"type": "string"
},
"urlRejected": {
"description": "Rejected because of malformed URLs or invalid requests.",
"enum": [
"URL_REJECTED_UNSPECIFIED",
"BAD_REQUEST",
"MALFORMED_URL"
],
"enumDescriptions": [
"Default value that should never be used.",
"URL rejected because of a malformed request.",
"URL rejected because of a malformed URL."
],
"type": "string"
}
},
"type": "object"
},
"DestinationUrlEvidence": {
"description": "The full landing page URL of the destination.",
"id": "DestinationUrlEvidence",
"properties": {
"destinationUrl": {
"description": "The full landing page URL of the destination.",
"type": "string"
}
},
"type": "object"
},
"DomainCallEvidence": {
"description": "Number of HTTP calls made by a creative, broken down by domain.",
"id": "DomainCallEvidence",
"properties": {
"topHttpCallDomains": {
"description": "Breakdown of the most frequent domains called via HTTP by the creative.",
"items": {
"$ref": "DomainCalls"
},
"type": "array"
},
"totalHttpCallCount": {
"description": "The total number of HTTP calls made by the creative, including but not\nlimited to the number of calls in the top_http_call_domains.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"DomainCalls": {
"description": "The number of HTTP calls made to the given domain.",
"id": "DomainCalls",
"properties": {
"domain": {
"description": "The domain name.",
"type": "string"
},
"httpCallCount": {
"description": "Number of HTTP calls made to the domain.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"DownloadSizeEvidence": {
"description": "Total download size and URL-level download size breakdown for resources in\na creative.",
"id": "DownloadSizeEvidence",
"properties": {
"topUrlDownloadSizeBreakdowns": {
"description": "Download size broken down by URLs with the top download size.",
"items": {
"$ref": "UrlDownloadSize"
},
"type": "array"
},
"totalDownloadSizeKb": {
"description": "Total download size (in kilobytes) for all the resources in the creative.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"GetRemarketingTagResponse": {
"description": "Response for a request to get remarketing tag.",
"id": "GetRemarketingTagResponse",
"properties": {
"snippet": {
"description": "A HTML tag that can be placed on the advertiser's page to add users to a\nuser list. For more information and code samples on using snippet on your\nwebsite refer to [Tag your site for remarketing](\nhttps://support.google.com/google-ads/answer/2476688).",
"type": "string"
}
},
"type": "object"
},
"HtmlContent": {
"description": "HTML content for a creative.",
"id": "HtmlContent",
"properties": {
"height": {
"description": "The height of the HTML snippet in pixels.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "int32",
"type": "integer"
},
"snippet": {
"description": "The HTML snippet that displays the ad when inserted in the web page.",
"type": "string"
},
"width": {
"description": "The width of the HTML snippet in pixels.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"HttpCallEvidence": {
"description": "HTTP calls made by a creative that resulted in policy violations.",
"id": "HttpCallEvidence",
"properties": {
"urls": {
"description": "URLs of HTTP calls made by the creative.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"HttpCookieEvidence": {
"description": "Evidence for HTTP cookie-related policy violations.",
"id": "HttpCookieEvidence",
"properties": {
"cookieNames": {
"description": "Names of cookies that violate Google policies.\nFor TOO_MANY_COOKIES policy, this will be the cookie names of top domains\nwith the largest number of cookies. For other policies, this will be all\nthe cookie names that violate the policy.",
"items": {
"type": "string"
},
"type": "array"
},
"maxCookieCount": {
"description": "The largest number of cookies set by a creative. If this field is set,\ncookie_names above will be set to the cookie names of top domains with\nthe largest number of cookies.\nThis field will only be set for TOO_MANY_COOKIES policy.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"Image": {
"description": "An image resource. You may provide a larger image than was requested,\nso long as the aspect ratio is preserved.",
"id": "Image",
"properties": {
"height": {
"description": "Image height in pixels.",
"format": "int32",
"type": "integer"
},
"url": {
"description": "The URL of the image.",
"type": "string"
},
"width": {
"description": "Image width in pixels.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"ListCreativesResponse": {
"description": "A response for listing creatives.",
"id": "ListCreativesResponse",
"properties": {
"creatives": {
"description": "The list of creatives.",
"items": {
"$ref": "Creative"
},
"type": "array"
},
"nextPageToken": {
"description": "A token to retrieve the next page of results.\nPass this value in the\nListCreativesRequest.pageToken\nfield in the subsequent call to the `ListCreatives` method to retrieve the\nnext page of results.",
"type": "string"
}
},
"type": "object"
},
"ListUserListsResponse": {
"description": "The list user list response.",
"id": "ListUserListsResponse",
"properties": {
"nextPageToken": {
"description": "The continuation page token to send back to the server in a subsequent\nrequest.\nDue to a currently known issue, it is recommended that the caller keep\ninvoking the list method till the time a next page token is not returned\n(even if the result set is empty).",
"type": "string"
},
"userLists": {
"description": "List of user lists from the search.",
"items": {
"$ref": "UserList"
},
"type": "array"
}
},
"type": "object"
},
"MediaFile": {
"description": "Information about each media file in the VAST.",
"id": "MediaFile",
"properties": {
"bitrate": {
"description": "Bitrate of the video file, in Kbps.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "int64",
"type": "string"
},
"mimeType": {
"description": "The MIME type of this media file.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"enum": [
"VIDEO_MIME_TYPE_UNSPECIFIED",
"MIME_VIDEO_XFLV",
"MIME_VIDEO_WEBM",
"MIME_VIDEO_MP4",
"MIME_VIDEO_OGG",
"MIME_VIDEO_YT_HOSTED",
"MIME_VIDEO_X_MS_WMV",
"MIME_VIDEO_3GPP",
"MIME_VIDEO_MOV",
"MIME_APPLICATION_SWF",
"MIME_APPLICATION_SURVEY",
"MIME_APPLICATION_JAVASCRIPT",
"MIME_APPLICATION_SILVERLIGHT",
"MIME_APPLICATION_MPEGURL",
"MIME_APPLICATION_MPEGDASH",
"MIME_AUDIO_MP4A",
"MIME_AUDIO_MP3",
"MIME_AUDIO_OGG"
],
"enumDescriptions": [
"Default value that should never be used.",
"Flash container.",
"WebM container assuming VP9 codec.",
"MPEG-4 container typically with H.264 codec.",
"Ogg container assuming Theora codec.",
"Video files hosted on YouTube.",
"Windows Media Video Codec.",
"3GPP container format used on 3G phones.",
"Quicktime container format.",
"Shockwave Flash (used for VPAID ads).",
"Properties of VAST served by consumer survey.",
"JavaScript (used for VPAID ads).",
"Silverlight (used for VPAID ads).",
"HLS/M3U8.",
"DASH.",
"MPEG-4 audio format.",
"MPEG-3 audio format.",
"Ogg audio format"
],
"type": "string"
}
},
"type": "object"
},
"NativeContent": {
"description": "Native content for a creative.",
"id": "NativeContent",
"properties": {
"advertiserName": {
"description": "The name of the advertiser or sponsor, to be displayed in the ad creative.",
"type": "string"
},
"appIcon": {
"$ref": "Image",
"description": "The app icon, for app download ads."
},
"body": {
"description": "A long description of the ad.",
"type": "string"
},
"callToAction": {
"description": "A label for the button that the user is supposed to click.",
"type": "string"
},
"clickLinkUrl": {
"description": "The URL that the browser/SDK will load when the user clicks the ad.",
"type": "string"
},
"clickTrackingUrl": {
"description": "The URL to use for click tracking.",
"type": "string"
},
"headline": {
"description": "A short title for the ad.",
"type": "string"
},
"image": {
"$ref": "Image",
"description": "A large image."
},
"logo": {
"$ref": "Image",
"description": "A smaller image, for the advertiser's logo."
},
"priceDisplayText": {
"description": "The price of the promoted app including currency info.",
"type": "string"
},
"starRating": {
"description": "The app rating in the app store. Must be in the range [0-5].",
"format": "double",
"type": "number"
},
"videoUrl": {
"description": "The URL to fetch a native video ad.",
"type": "string"
}
},
"type": "object"
},
"OpenUserListRequest": {
"description": "A request to open a specified user list.",
"id": "OpenUserListRequest",
"properties": {},
"type": "object"
},
"PolicyTopicEntry": {
"description": "Each policy topic entry will represent a violation of a policy topic for a\ncreative, with the policy topic information and optional evidence for the\npolicy violation.",
"id": "PolicyTopicEntry",
"properties": {
"evidences": {
"description": "Pieces of evidence associated with this policy topic entry.",
"items": {
"$ref": "PolicyTopicEvidence"
},
"type": "array"
},
"helpCenterUrl": {
"description": "URL of the help center article describing this policy topic.",
"type": "string"
},
"policyTopic": {
"description": "Policy topic this entry refers to. For example, \"ALCOHOL\",\n\"TRADEMARKS_IN_AD_TEXT\", or \"DESTINATION_NOT_WORKING\". The set of possible\npolicy topics is not fixed for a particular API version and may change at\nany time.\nCan be used to filter the response of the\ncreatives.list\nmethod",
"type": "string"
}
},
"type": "object"
},
"PolicyTopicEvidence": {
"description": "Evidence associated with a policy topic entry.",
"id": "PolicyTopicEvidence",
"properties": {
"destinationNotCrawlable": {
"$ref": "DestinationNotCrawlableEvidence",
"description": "The creative's destination URL was not crawlable by Google."
},
"destinationNotWorking": {
"$ref": "DestinationNotWorkingEvidence",
"description": "The creative's destination URL did not function properly or was\nincorrectly set up."
},
"destinationUrl": {
"$ref": "DestinationUrlEvidence",
"description": "URL of the actual landing page."
},
"domainCall": {
"$ref": "DomainCallEvidence",
"description": "Number of HTTP calls made by the creative, broken down by domain."
},
"downloadSize": {
"$ref": "DownloadSizeEvidence",
"description": "Total download size and URL-level download size breakdown for resources\nin a creative."
},
"httpCall": {
"$ref": "HttpCallEvidence",
"description": "HTTP calls made by the creative that resulted in policy violations."
},
"httpCookie": {
"$ref": "HttpCookieEvidence",
"description": "Evidence for HTTP cookie-related policy violations."
}
},
"type": "object"
},
"ServingStatus": {
"description": "Serving status of the creative for a transaction type or a region.",
"id": "ServingStatus",
"properties": {
"status": {
"description": "Serving status for the given transaction type (e.g., open auction,\ndeals) or region (e.g., China, Russia).\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"enum": [
"STATUS_UNSPECIFIED",
"PENDING_REVIEW",
"DISAPPROVED",
"APPROVED"
],
"enumDescriptions": [
"Default value that should never be used.",
"Creative is pending review.",
"Creative cannot serve.",
"Creative is approved."
],
"type": "string"
},
"topics": {
"description": "Policy topics related to the serving decision for this transaction type\n(e.g., open auction, deals) or region (e.g., China, Russia).\nTopics may be present only if status is DISAPPROVED.",
"items": {
"$ref": "PolicyTopicEntry"
},
"type": "array"
}
},
"type": "object"
},
"UrlDownloadSize": {
"description": "The URL-level breakdown for the download size.",
"id": "UrlDownloadSize",
"properties": {
"downloadSizeKb": {
"description": "Download size of the URL in kilobytes.",
"format": "int32",
"type": "integer"
},
"normalizedUrl": {
"description": "The normalized URL with query parameters and fragment removed.",
"type": "string"
}
},
"type": "object"
},
"UrlRestriction": {
"description": "Represents the URL restriction (for the URL captured by the pixel callback)\nfor a user list.",
"id": "UrlRestriction",
"properties": {
"endDate": {
"$ref": "Date",
"description": "End date (if specified) of the URL restriction.\nEnd date should be later than the start date for the date range to be\nvalid."
},
"restrictionType": {
"description": "The restriction type for the specified URL.",
"enum": [
"RESTRICTION_TYPE_UNSPECIFIED",
"CONTAINS",
"EQUALS",
"STARTS_WITH",
"ENDS_WITH",
"DOES_NOT_EQUAL",
"DOES_NOT_CONTAIN",
"DOES_NOT_START_WITH",
"DOES_NOT_END_WITH"
],
"enumDescriptions": [
"Default value that should never be used.",
"The tag URL (as recorded by the pixel callback) contains the specified\nURL.",
"The tag URL (as recorded by the pixel callback) exactly matches the\nspecified URL.",
"The tag URL (as recorded by the pixel callback) starts with the specified\nURL.",
"The tag URL (as recorded by the pixel callback) ends with the specified\nURL.",
"The tag URL (as recorded by the pixel callback) does not equal the\nspecified URL.",
"The tag URL (as recorded by the pixel callback) does not contain the\nspecified URL.",
"The tag URL (as recorded by the pixel callback) does not start with the\nspecified URL.",
"The tag URL (as recorded by the pixel callback) does not end with the\nspecified URL."
],
"type": "string"
},
"startDate": {
"$ref": "Date",
"description": "Start date (if specified) of the URL restriction."
},
"url": {
"description": "Required. The URL to use for applying the restriction on the user list.",
"type": "string"
}
},
"type": "object"
},
"UserList": {
"description": "Represents an Authorized Buyers user list. Authorized Buyers can\ncreate/update/list user lists. Once a user list is created\nin the system, Authorized Buyers can add users to the user list using\nthe bulk uploader API. Alternatively, users can be added by hosting a\ntag on the advertiser's page.",
"id": "UserList",
"properties": {
"description": {
"description": "The description for the user list.",
"type": "string"
},
"displayName": {
"description": "Required. Display name of the user list. This must be unique across all user lists\nfor a given account.",
"type": "string"
},
"membershipDurationDays": {
"description": "Required. The number of days a user's cookie stays on the user list.\nThe field must be between 0 and 540 inclusive.",
"format": "int64",
"type": "string"
},
"name": {
"description": "Output only. Name of the user list that must follow the pattern\n`buyers/{buyer}/userLists/{user_list}`, where `{buyer}` represents\nthe account ID of the buyer who owns the user list. For a bidder accessing\nuser lists on behalf of a child seat buyer, `{buyer}` represents\nthe account ID of the child seat buyer. `{user_list}` is an int64\nidentifier assigned by Google to uniquely identify a user list.",
"type": "string"
},
"status": {
"description": "Output only. The status of the user list. A new user list starts out as open.",
"enum": [
"STATUS_UNSPECIFIED",
"OPEN",
"CLOSED"
],
"enumDescriptions": [
"Default value that should never be used.",
"New users can be added to the user list.",
"New users cannot be added to the user list."
],
"type": "string"
},
"urlRestriction": {
"$ref": "UrlRestriction",
"description": "Required. The URL restriction for the user list."
}
},
"type": "object"
},
"VideoContent": {
"description": "Video content for a creative.",
"id": "VideoContent",
"properties": {
"videoMetadata": {
"$ref": "VideoMetadata",
"description": "Output only. Video metadata."
},
"videoUrl": {
"description": "The URL to fetch a video ad.",
"type": "string"
},
"videoVastXml": {
"description": "The contents of a VAST document for a video ad.\nThis document should conform to the VAST 2.0 or 3.0 standard.",
"type": "string"
}
},
"type": "object"
},
"VideoMetadata": {
"description": "Video metadata for a creative.",
"id": "VideoMetadata",
"properties": {
"duration": {
"description": "The duration of the ad.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "google-duration",
"type": "string"
},
"isValidVast": {
"description": "Is this a valid VAST ad?\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"type": "boolean"
},
"isVpaid": {
"description": "Is this a VPAID ad?\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"type": "boolean"
},
"mediaFiles": {
"description": "The list of all media files declared in the VAST. If there are multiple\nVASTs in a wrapper chain, this includes the media files from the deepest\none in the chain.",
"items": {
"$ref": "MediaFile"
},
"type": "array"
},
"skipOffset": {
"description": "The minimum duration that the user has to watch before being able to\nskip this ad. If the field is not set, the ad is not skippable. If\nthe field is set, the ad is skippable.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"format": "google-duration",
"type": "string"
},
"vastVersion": {
"description": "The maximum VAST version across all wrapped VAST documents.\nCan be used to filter the response of the\ncreatives.list\nmethod.",
"enum": [
"VAST_VERSION_UNSPECIFIED",
"VAST_VERSION_1_0",
"VAST_VERSION_2_0",
"VAST_VERSION_3_0",
"VAST_VERSION_4_0"
],
"enumDescriptions": [
"Default value that should never be used.",
"VAST 1.0",
"VAST 2.0",
"VAST 3.0",
"VAST 4.0"
],
"type": "string"
}
},
"type": "object"
},
"WatchCreativesRequest": {
"description": "A request to receive push notifications when any of the creatives belonging\nto the bidder changes status.",
"id": "WatchCreativesRequest",
"properties": {},
"type": "object"
},
"WatchCreativesResponse": {
"description": "A response for the request to receive push notification when a bidder's\ncreatives change status.",
"id": "WatchCreativesResponse",
"properties": {
"subscription": {
"description": "The Pub/Sub subscription that can be used to pull creative status\nnotifications. This would be of the format\n`projects/{project_id}/subscriptions/{subscription_id}`.\nSubscription is created with pull delivery. All service accounts belonging\nto the bidder will have read access to this subscription.\nSubscriptions that are inactive for more than 90 days will be disabled.\nPlease use\nwatchCreatives to\nre-enable the subscription.",
"type": "string"
},
"topic": {
"description": "The Pub/Sub topic that will be used to publish creative serving\nstatus notifications. This would be of the format\n`projects/{project_id}/topics/{topic_id}`.",
"type": "string"
}
},
"type": "object"
}
},
"servicePath": "",
"title": "Real-time Bidding API",
"version": "v1",
"version_module": true
}