1{ 2 "auth": { 3 "oauth2": { 4 "scopes": { 5 "https://www.googleapis.com/auth/adexchange.buyer": { 6 "description": "Manage your Ad Exchange buyer account configuration" 7 } 8 } 9 } 10 }, 11 "basePath": "/adexchangebuyer/v1.2/", 12 "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.2/", 13 "batchPath": "batch/adexchangebuyer/v1.2", 14 "canonicalName": "Ad Exchange Buyer", 15 "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", 16 "discoveryVersion": "v1", 17 "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest", 18 "etag": "\"Zkyw9ACJZUvcYmlFaKGChzhmtnE/F_9WJQnvLgGfABacvXvQLtkcuXw\"", 19 "icons": { 20 "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", 21 "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" 22 }, 23 "id": "adexchangebuyer:v1.2", 24 "kind": "discovery#restDescription", 25 "name": "adexchangebuyer", 26 "ownerDomain": "google.com", 27 "ownerName": "Google", 28 "parameters": { 29 "alt": { 30 "default": "json", 31 "description": "Data format for the response.", 32 "enum": [ 33 "json" 34 ], 35 "enumDescriptions": [ 36 "Responses with Content-Type of application/json" 37 ], 38 "location": "query", 39 "type": "string" 40 }, 41 "fields": { 42 "description": "Selector specifying which fields to include in a partial response.", 43 "location": "query", 44 "type": "string" 45 }, 46 "key": { 47 "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.", 48 "location": "query", 49 "type": "string" 50 }, 51 "oauth_token": { 52 "description": "OAuth 2.0 token for the current user.", 53 "location": "query", 54 "type": "string" 55 }, 56 "prettyPrint": { 57 "default": "true", 58 "description": "Returns response with indentations and line breaks.", 59 "location": "query", 60 "type": "boolean" 61 }, 62 "quotaUser": { 63 "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", 64 "location": "query", 65 "type": "string" 66 }, 67 "userIp": { 68 "description": "Deprecated. Please use quotaUser instead.", 69 "location": "query", 70 "type": "string" 71 } 72 }, 73 "protocol": "rest", 74 "resources": { 75 "accounts": { 76 "methods": { 77 "get": { 78 "description": "Gets one account by ID.", 79 "httpMethod": "GET", 80 "id": "adexchangebuyer.accounts.get", 81 "parameterOrder": [ 82 "id" 83 ], 84 "parameters": { 85 "id": { 86 "description": "The account id", 87 "format": "int32", 88 "location": "path", 89 "required": true, 90 "type": "integer" 91 } 92 }, 93 "path": "accounts/{id}", 94 "response": { 95 "$ref": "Account" 96 }, 97 "scopes": [ 98 "https://www.googleapis.com/auth/adexchange.buyer" 99 ] 100 }, 101 "list": { 102 "description": "Retrieves the authenticated user's list of accounts.", 103 "httpMethod": "GET", 104 "id": "adexchangebuyer.accounts.list", 105 "path": "accounts", 106 "response": { 107 "$ref": "AccountsList" 108 }, 109 "scopes": [ 110 "https://www.googleapis.com/auth/adexchange.buyer" 111 ] 112 }, 113 "patch": { 114 "description": "Updates an existing account. This method supports patch semantics.", 115 "httpMethod": "PATCH", 116 "id": "adexchangebuyer.accounts.patch", 117 "parameterOrder": [ 118 "id" 119 ], 120 "parameters": { 121 "id": { 122 "description": "The account id", 123 "format": "int32", 124 "location": "path", 125 "required": true, 126 "type": "integer" 127 } 128 }, 129 "path": "accounts/{id}", 130 "request": { 131 "$ref": "Account" 132 }, 133 "response": { 134 "$ref": "Account" 135 }, 136 "scopes": [ 137 "https://www.googleapis.com/auth/adexchange.buyer" 138 ] 139 }, 140 "update": { 141 "description": "Updates an existing account.", 142 "httpMethod": "PUT", 143 "id": "adexchangebuyer.accounts.update", 144 "parameterOrder": [ 145 "id" 146 ], 147 "parameters": { 148 "id": { 149 "description": "The account id", 150 "format": "int32", 151 "location": "path", 152 "required": true, 153 "type": "integer" 154 } 155 }, 156 "path": "accounts/{id}", 157 "request": { 158 "$ref": "Account" 159 }, 160 "response": { 161 "$ref": "Account" 162 }, 163 "scopes": [ 164 "https://www.googleapis.com/auth/adexchange.buyer" 165 ] 166 } 167 } 168 }, 169 "creatives": { 170 "methods": { 171 "get": { 172 "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.", 173 "httpMethod": "GET", 174 "id": "adexchangebuyer.creatives.get", 175 "parameterOrder": [ 176 "accountId", 177 "buyerCreativeId" 178 ], 179 "parameters": { 180 "accountId": { 181 "description": "The id for the account that will serve this creative.", 182 "format": "int32", 183 "location": "path", 184 "required": true, 185 "type": "integer" 186 }, 187 "buyerCreativeId": { 188 "description": "The buyer-specific id for this creative.", 189 "location": "path", 190 "required": true, 191 "type": "string" 192 } 193 }, 194 "path": "creatives/{accountId}/{buyerCreativeId}", 195 "response": { 196 "$ref": "Creative" 197 }, 198 "scopes": [ 199 "https://www.googleapis.com/auth/adexchange.buyer" 200 ] 201 }, 202 "insert": { 203 "description": "Submit a new creative.", 204 "httpMethod": "POST", 205 "id": "adexchangebuyer.creatives.insert", 206 "path": "creatives", 207 "request": { 208 "$ref": "Creative" 209 }, 210 "response": { 211 "$ref": "Creative" 212 }, 213 "scopes": [ 214 "https://www.googleapis.com/auth/adexchange.buyer" 215 ] 216 }, 217 "list": { 218 "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.", 219 "httpMethod": "GET", 220 "id": "adexchangebuyer.creatives.list", 221 "parameters": { 222 "maxResults": { 223 "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.", 224 "format": "uint32", 225 "location": "query", 226 "maximum": "1000", 227 "minimum": "1", 228 "type": "integer" 229 }, 230 "pageToken": { 231 "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.", 232 "location": "query", 233 "type": "string" 234 }, 235 "statusFilter": { 236 "description": "When specified, only creatives having the given status are returned.", 237 "enum": [ 238 "approved", 239 "disapproved", 240 "not_checked" 241 ], 242 "enumDescriptions": [ 243 "Creatives which have been approved.", 244 "Creatives which have been disapproved.", 245 "Creatives whose status is not yet checked." 246 ], 247 "location": "query", 248 "type": "string" 249 } 250 }, 251 "path": "creatives", 252 "response": { 253 "$ref": "CreativesList" 254 }, 255 "scopes": [ 256 "https://www.googleapis.com/auth/adexchange.buyer" 257 ] 258 } 259 } 260 } 261 }, 262 "revision": "20180222", 263 "rootUrl": "https://www.googleapis.com/", 264 "schemas": { 265 "Account": { 266 "description": "Configuration data for an Ad Exchange buyer account.", 267 "id": "Account", 268 "properties": { 269 "bidderLocation": { 270 "description": "Your bidder locations that have distinct URLs.", 271 "items": { 272 "properties": { 273 "maximumQps": { 274 "description": "The maximum queries per second the Ad Exchange will send.", 275 "format": "int32", 276 "type": "integer" 277 }, 278 "region": { 279 "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", 280 "type": "string" 281 }, 282 "url": { 283 "description": "The URL to which the Ad Exchange will send bid requests.", 284 "type": "string" 285 } 286 }, 287 "type": "object" 288 }, 289 "type": "array" 290 }, 291 "cookieMatchingNid": { 292 "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this.", 293 "type": "string" 294 }, 295 "cookieMatchingUrl": { 296 "description": "The base URL used in cookie match requests.", 297 "type": "string" 298 }, 299 "id": { 300 "description": "Account id.", 301 "format": "int32", 302 "type": "integer" 303 }, 304 "kind": { 305 "default": "adexchangebuyer#account", 306 "description": "Resource type.", 307 "type": "string" 308 }, 309 "maximumActiveCreatives": { 310 "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.", 311 "format": "int32", 312 "type": "integer" 313 }, 314 "maximumTotalQps": { 315 "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.", 316 "format": "int32", 317 "type": "integer" 318 }, 319 "numberActiveCreatives": { 320 "description": "The number of creatives that this account inserted or bid with in the last 30 days.", 321 "format": "int32", 322 "type": "integer" 323 } 324 }, 325 "type": "object" 326 }, 327 "AccountsList": { 328 "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.", 329 "id": "AccountsList", 330 "properties": { 331 "items": { 332 "description": "A list of accounts.", 333 "items": { 334 "$ref": "Account" 335 }, 336 "type": "array" 337 }, 338 "kind": { 339 "default": "adexchangebuyer#accountsList", 340 "description": "Resource type.", 341 "type": "string" 342 } 343 }, 344 "type": "object" 345 }, 346 "Creative": { 347 "description": "A creative and its classification data.", 348 "id": "Creative", 349 "properties": { 350 "HTMLSnippet": { 351 "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.", 352 "type": "string" 353 }, 354 "accountId": { 355 "annotations": { 356 "required": [ 357 "adexchangebuyer.creatives.insert" 358 ] 359 }, 360 "description": "Account id.", 361 "format": "int32", 362 "type": "integer" 363 }, 364 "advertiserId": { 365 "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.", 366 "items": { 367 "format": "int64", 368 "type": "string" 369 }, 370 "type": "array" 371 }, 372 "advertiserName": { 373 "annotations": { 374 "required": [ 375 "adexchangebuyer.creatives.insert" 376 ] 377 }, 378 "description": "The name of the company being advertised in the creative.", 379 "type": "string" 380 }, 381 "agencyId": { 382 "description": "The agency id for this creative.", 383 "format": "int64", 384 "type": "string" 385 }, 386 "apiUploadTimestamp": { 387 "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).", 388 "format": "date-time", 389 "type": "string" 390 }, 391 "attribute": { 392 "description": "All attributes for the ads that may be shown from this snippet.", 393 "items": { 394 "format": "int32", 395 "type": "integer" 396 }, 397 "type": "array" 398 }, 399 "buyerCreativeId": { 400 "annotations": { 401 "required": [ 402 "adexchangebuyer.creatives.insert" 403 ] 404 }, 405 "description": "A buyer-specific id identifying the creative in this ad.", 406 "type": "string" 407 }, 408 "clickThroughUrl": { 409 "annotations": { 410 "required": [ 411 "adexchangebuyer.creatives.insert" 412 ] 413 }, 414 "description": "The set of destination urls for the snippet.", 415 "items": { 416 "type": "string" 417 }, 418 "type": "array" 419 }, 420 "corrections": { 421 "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.", 422 "items": { 423 "properties": { 424 "details": { 425 "description": "Additional details about the correction.", 426 "items": { 427 "type": "string" 428 }, 429 "type": "array" 430 }, 431 "reason": { 432 "description": "The type of correction that was applied to the creative.", 433 "type": "string" 434 } 435 }, 436 "type": "object" 437 }, 438 "type": "array" 439 }, 440 "disapprovalReasons": { 441 "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.", 442 "items": { 443 "properties": { 444 "details": { 445 "description": "Additional details about the reason for disapproval.", 446 "items": { 447 "type": "string" 448 }, 449 "type": "array" 450 }, 451 "reason": { 452 "description": "The categorized reason for disapproval.", 453 "type": "string" 454 } 455 }, 456 "type": "object" 457 }, 458 "type": "array" 459 }, 460 "filteringReasons": { 461 "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.", 462 "properties": { 463 "date": { 464 "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.", 465 "type": "string" 466 }, 467 "reasons": { 468 "description": "The filtering reasons.", 469 "items": { 470 "properties": { 471 "filteringCount": { 472 "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.", 473 "format": "int64", 474 "type": "string" 475 }, 476 "filteringStatus": { 477 "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.", 478 "format": "int32", 479 "type": "integer" 480 } 481 }, 482 "type": "object" 483 }, 484 "type": "array" 485 } 486 }, 487 "type": "object" 488 }, 489 "height": { 490 "annotations": { 491 "required": [ 492 "adexchangebuyer.creatives.insert" 493 ] 494 }, 495 "description": "Ad height.", 496 "format": "int32", 497 "type": "integer" 498 }, 499 "impressionTrackingUrl": { 500 "description": "The set of urls to be called to record an impression.", 501 "items": { 502 "type": "string" 503 }, 504 "type": "array" 505 }, 506 "kind": { 507 "default": "adexchangebuyer#creative", 508 "description": "Resource type.", 509 "type": "string" 510 }, 511 "productCategories": { 512 "description": "Detected product categories, if any. Read-only. This field should not be set in requests.", 513 "items": { 514 "format": "int32", 515 "type": "integer" 516 }, 517 "type": "array" 518 }, 519 "restrictedCategories": { 520 "description": "All restricted categories for the ads that may be shown from this snippet.", 521 "items": { 522 "format": "int32", 523 "type": "integer" 524 }, 525 "type": "array" 526 }, 527 "sensitiveCategories": { 528 "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.", 529 "items": { 530 "format": "int32", 531 "type": "integer" 532 }, 533 "type": "array" 534 }, 535 "status": { 536 "description": "Creative serving status. Read-only. This field should not be set in requests.", 537 "type": "string" 538 }, 539 "vendorType": { 540 "description": "All vendor types for the ads that may be shown from this snippet.", 541 "items": { 542 "format": "int32", 543 "type": "integer" 544 }, 545 "type": "array" 546 }, 547 "version": { 548 "description": "The version for this creative. Read-only. This field should not be set in requests.", 549 "format": "int32", 550 "type": "integer" 551 }, 552 "videoURL": { 553 "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set.", 554 "type": "string" 555 }, 556 "width": { 557 "annotations": { 558 "required": [ 559 "adexchangebuyer.creatives.insert" 560 ] 561 }, 562 "description": "Ad width.", 563 "format": "int32", 564 "type": "integer" 565 } 566 }, 567 "type": "object" 568 }, 569 "CreativesList": { 570 "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.", 571 "id": "CreativesList", 572 "properties": { 573 "items": { 574 "description": "A list of creatives.", 575 "items": { 576 "$ref": "Creative" 577 }, 578 "type": "array" 579 }, 580 "kind": { 581 "default": "adexchangebuyer#creativesList", 582 "description": "Resource type.", 583 "type": "string" 584 }, 585 "nextPageToken": { 586 "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this.", 587 "type": "string" 588 } 589 }, 590 "type": "object" 591 } 592 }, 593 "servicePath": "adexchangebuyer/v1.2/", 594 "title": "Ad Exchange Buyer API", 595 "version": "v1.2" 596}