{ "kind": "discovery#restDescription", "etag": "\"YWOzh2SDasdU84ArJnpYek-OMdg/0_pkDGZUigw6P9-q8PUQy4V9Lvo\"", "discoveryVersion": "v1", "id": "adexchangebuyer:v1.2", "name": "adexchangebuyer", "canonicalName": "Ad Exchange Buyer", "version": "v1.2", "revision": "20170504", "title": "Ad Exchange Buyer API", "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "ownerDomain": "google.com", "ownerName": "Google", "icons": { "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" }, "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest", "protocol": "rest", "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.2/", "basePath": "/adexchangebuyer/v1.2/", "rootUrl": "https://www.googleapis.com/", "servicePath": "adexchangebuyer/v1.2/", "batchPath": "batch", "parameters": { "alt": { "type": "string", "description": "Data format for the response.", "default": "json", "enum": [ "json" ], "enumDescriptions": [ "Responses with Content-Type of application/json" ], "location": "query" }, "fields": { "type": "string", "description": "Selector specifying which fields to include in a partial response.", "location": "query" }, "key": { "type": "string", "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" }, "oauth_token": { "type": "string", "description": "OAuth 2.0 token for the current user.", "location": "query" }, "prettyPrint": { "type": "boolean", "description": "Returns response with indentations and line breaks.", "default": "true", "location": "query" }, "quotaUser": { "type": "string", "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. Overrides userIp if both are provided.", "location": "query" }, "userIp": { "type": "string", "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", "location": "query" } }, "auth": { "oauth2": { "scopes": { "https://www.googleapis.com/auth/adexchange.buyer": { "description": "Manage your Ad Exchange buyer account configuration" } } } }, "schemas": { "Account": { "id": "Account", "type": "object", "description": "Configuration data for an Ad Exchange buyer account.", "properties": { "bidderLocation": { "type": "array", "description": "Your bidder locations that have distinct URLs.", "items": { "type": "object", "properties": { "maximumQps": { "type": "integer", "description": "The maximum queries per second the Ad Exchange will send.", "format": "int32" }, "region": { "type": "string", "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST" }, "url": { "type": "string", "description": "The URL to which the Ad Exchange will send bid requests." } } } }, "cookieMatchingNid": { "type": "string", "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this." }, "cookieMatchingUrl": { "type": "string", "description": "The base URL used in cookie match requests." }, "id": { "type": "integer", "description": "Account id.", "format": "int32" }, "kind": { "type": "string", "description": "Resource type.", "default": "adexchangebuyer#account" }, "maximumActiveCreatives": { "type": "integer", "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.", "format": "int32" }, "maximumTotalQps": { "type": "integer", "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.", "format": "int32" }, "numberActiveCreatives": { "type": "integer", "description": "The number of creatives that this account inserted or bid with in the last 30 days.", "format": "int32" } } }, "AccountsList": { "id": "AccountsList", "type": "object", "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.", "properties": { "items": { "type": "array", "description": "A list of accounts.", "items": { "$ref": "Account" } }, "kind": { "type": "string", "description": "Resource type.", "default": "adexchangebuyer#accountsList" } } }, "Creative": { "id": "Creative", "type": "object", "description": "A creative and its classification data.", "properties": { "HTMLSnippet": { "type": "string", "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set." }, "accountId": { "type": "integer", "description": "Account id.", "format": "int32", "annotations": { "required": [ "adexchangebuyer.creatives.insert" ] } }, "advertiserId": { "type": "array", "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.", "items": { "type": "string", "format": "int64" } }, "advertiserName": { "type": "string", "description": "The name of the company being advertised in the creative.", "annotations": { "required": [ "adexchangebuyer.creatives.insert" ] } }, "agencyId": { "type": "string", "description": "The agency id for this creative.", "format": "int64" }, "apiUploadTimestamp": { "type": "string", "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).", "format": "date-time" }, "attribute": { "type": "array", "description": "All attributes for the ads that may be shown from this snippet.", "items": { "type": "integer", "format": "int32" } }, "buyerCreativeId": { "type": "string", "description": "A buyer-specific id identifying the creative in this ad.", "annotations": { "required": [ "adexchangebuyer.creatives.insert" ] } }, "clickThroughUrl": { "type": "array", "description": "The set of destination urls for the snippet.", "items": { "type": "string" }, "annotations": { "required": [ "adexchangebuyer.creatives.insert" ] } }, "corrections": { "type": "array", "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.", "items": { "type": "object", "properties": { "details": { "type": "array", "description": "Additional details about the correction.", "items": { "type": "string" } }, "reason": { "type": "string", "description": "The type of correction that was applied to the creative." } } } }, "disapprovalReasons": { "type": "array", "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.", "items": { "type": "object", "properties": { "details": { "type": "array", "description": "Additional details about the reason for disapproval.", "items": { "type": "string" } }, "reason": { "type": "string", "description": "The categorized reason for disapproval." } } } }, "filteringReasons": { "type": "object", "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.", "properties": { "date": { "type": "string", "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST." }, "reasons": { "type": "array", "description": "The filtering reasons.", "items": { "type": "object", "properties": { "filteringCount": { "type": "string", "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.", "format": "int64" }, "filteringStatus": { "type": "integer", "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.", "format": "int32" } } } } } }, "height": { "type": "integer", "description": "Ad height.", "format": "int32", "annotations": { "required": [ "adexchangebuyer.creatives.insert" ] } }, "impressionTrackingUrl": { "type": "array", "description": "The set of urls to be called to record an impression.", "items": { "type": "string" } }, "kind": { "type": "string", "description": "Resource type.", "default": "adexchangebuyer#creative" }, "productCategories": { "type": "array", "description": "Detected product categories, if any. Read-only. This field should not be set in requests.", "items": { "type": "integer", "format": "int32" } }, "restrictedCategories": { "type": "array", "description": "All restricted categories for the ads that may be shown from this snippet.", "items": { "type": "integer", "format": "int32" } }, "sensitiveCategories": { "type": "array", "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.", "items": { "type": "integer", "format": "int32" } }, "status": { "type": "string", "description": "Creative serving status. Read-only. This field should not be set in requests." }, "vendorType": { "type": "array", "description": "All vendor types for the ads that may be shown from this snippet.", "items": { "type": "integer", "format": "int32" } }, "version": { "type": "integer", "description": "The version for this creative. Read-only. This field should not be set in requests.", "format": "int32" }, "videoURL": { "type": "string", "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set." }, "width": { "type": "integer", "description": "Ad width.", "format": "int32", "annotations": { "required": [ "adexchangebuyer.creatives.insert" ] } } } }, "CreativesList": { "id": "CreativesList", "type": "object", "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.", "properties": { "items": { "type": "array", "description": "A list of creatives.", "items": { "$ref": "Creative" } }, "kind": { "type": "string", "description": "Resource type.", "default": "adexchangebuyer#creativesList" }, "nextPageToken": { "type": "string", "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this." } } } }, "resources": { "accounts": { "methods": { "get": { "id": "adexchangebuyer.accounts.get", "path": "accounts/{id}", "httpMethod": "GET", "description": "Gets one account by ID.", "parameters": { "id": { "type": "integer", "description": "The account id", "required": true, "format": "int32", "location": "path" } }, "parameterOrder": [ "id" ], "response": { "$ref": "Account" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] }, "list": { "id": "adexchangebuyer.accounts.list", "path": "accounts", "httpMethod": "GET", "description": "Retrieves the authenticated user's list of accounts.", "response": { "$ref": "AccountsList" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] }, "patch": { "id": "adexchangebuyer.accounts.patch", "path": "accounts/{id}", "httpMethod": "PATCH", "description": "Updates an existing account. This method supports patch semantics.", "parameters": { "id": { "type": "integer", "description": "The account id", "required": true, "format": "int32", "location": "path" } }, "parameterOrder": [ "id" ], "request": { "$ref": "Account" }, "response": { "$ref": "Account" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] }, "update": { "id": "adexchangebuyer.accounts.update", "path": "accounts/{id}", "httpMethod": "PUT", "description": "Updates an existing account.", "parameters": { "id": { "type": "integer", "description": "The account id", "required": true, "format": "int32", "location": "path" } }, "parameterOrder": [ "id" ], "request": { "$ref": "Account" }, "response": { "$ref": "Account" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] } } }, "creatives": { "methods": { "get": { "id": "adexchangebuyer.creatives.get", "path": "creatives/{accountId}/{buyerCreativeId}", "httpMethod": "GET", "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.", "parameters": { "accountId": { "type": "integer", "description": "The id for the account that will serve this creative.", "required": true, "format": "int32", "location": "path" }, "buyerCreativeId": { "type": "string", "description": "The buyer-specific id for this creative.", "required": true, "location": "path" } }, "parameterOrder": [ "accountId", "buyerCreativeId" ], "response": { "$ref": "Creative" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] }, "insert": { "id": "adexchangebuyer.creatives.insert", "path": "creatives", "httpMethod": "POST", "description": "Submit a new creative.", "request": { "$ref": "Creative" }, "response": { "$ref": "Creative" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] }, "list": { "id": "adexchangebuyer.creatives.list", "path": "creatives", "httpMethod": "GET", "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.", "parameters": { "maxResults": { "type": "integer", "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.", "format": "uint32", "minimum": "1", "maximum": "1000", "location": "query" }, "pageToken": { "type": "string", "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.", "location": "query" }, "statusFilter": { "type": "string", "description": "When specified, only creatives having the given status are returned.", "enum": [ "approved", "disapproved", "not_checked" ], "enumDescriptions": [ "Creatives which have been approved.", "Creatives which have been disapproved.", "Creatives whose status is not yet checked." ], "location": "query" } }, "response": { "$ref": "CreativesList" }, "scopes": [ "https://www.googleapis.com/auth/adexchange.buyer" ] } } } } }