{
 "kind": "discovery#restDescription",
 "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/e2ZwVjK29RxJqz1-z8CpRPnLiKo\"",
 "discoveryVersion": "v1",
 "id": "adexchangebuyer:v1.4",
 "name": "adexchangebuyer",
 "canonicalName": "Ad Exchange Buyer",
 "version": "v1.4",
 "revision": "20150909",
 "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.4/",
 "basePath": "/adexchangebuyer/v1.4/",
 "rootUrl": "https://www.googleapis.com/",
 "servicePath": "adexchangebuyer/v1.4/",
 "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"
    }
   }
  },
  "AdSize": {
   "id": "AdSize",
   "type": "object",
   "properties": {
    "height": {
     "type": "integer",
     "format": "int32"
    },
    "width": {
     "type": "integer",
     "format": "int32"
    }
   }
  },
  "AdSlotDto": {
   "id": "AdSlotDto",
   "type": "object",
   "properties": {
    "channelCode": {
     "type": "string"
    },
    "channelId": {
     "type": "integer",
     "format": "int32"
    },
    "description": {
     "type": "string"
    },
    "name": {
     "type": "string"
    },
    "size": {
     "type": "string"
    },
    "webPropertyId": {
     "type": "integer",
     "format": "int32"
    }
   }
  },
  "AddOrderDealsRequest": {
   "id": "AddOrderDealsRequest",
   "type": "object",
   "properties": {
    "deals": {
     "type": "array",
     "description": "The list of deals to add",
     "items": {
      "$ref": "MarketplaceDeal"
     }
    },
    "orderRevisionNumber": {
     "type": "string",
     "description": "The last known order revision number.",
     "format": "int64"
    },
    "updateAction": {
     "type": "string",
     "description": "Indicates an optional action to take on the order"
    }
   }
  },
  "AddOrderDealsResponse": {
   "id": "AddOrderDealsResponse",
   "type": "object",
   "properties": {
    "deals": {
     "type": "array",
     "description": "List of deals added (in the same order as passed in the request)",
     "items": {
      "$ref": "MarketplaceDeal"
     }
    },
    "orderRevisionNumber": {
     "type": "string",
     "description": "The updated revision number for the order.",
     "format": "int64"
    }
   }
  },
  "AddOrderNotesRequest": {
   "id": "AddOrderNotesRequest",
   "type": "object",
   "properties": {
    "notes": {
     "type": "array",
     "description": "The list of notes to add.",
     "items": {
      "$ref": "MarketplaceNote"
     }
    }
   }
  },
  "AddOrderNotesResponse": {
   "id": "AddOrderNotesResponse",
   "type": "object",
   "properties": {
    "notes": {
     "type": "array",
     "items": {
      "$ref": "MarketplaceNote"
     }
    }
   }
  },
  "AdvertiserDto": {
   "id": "AdvertiserDto",
   "type": "object",
   "properties": {
    "brands": {
     "type": "array",
     "items": {
      "$ref": "BrandDto"
     }
    },
    "id": {
     "type": "string",
     "format": "int64"
    },
    "name": {
     "type": "string"
    },
    "status": {
     "type": "string"
    }
   }
  },
  "AudienceSegment": {
   "id": "AudienceSegment",
   "type": "object",
   "properties": {
    "description": {
     "type": "string"
    },
    "id": {
     "type": "string",
     "format": "int64"
    },
    "name": {
     "type": "string"
    },
    "numCookies": {
     "type": "string",
     "format": "int64"
    }
   }
  },
  "BillingInfo": {
   "id": "BillingInfo",
   "type": "object",
   "description": "The configuration data for an Ad Exchange billing info.",
   "properties": {
    "accountId": {
     "type": "integer",
     "description": "Account id.",
     "format": "int32"
    },
    "accountName": {
     "type": "string",
     "description": "Account name."
    },
    "billingId": {
     "type": "array",
     "description": "A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.",
     "items": {
      "type": "string"
     }
    },
    "kind": {
     "type": "string",
     "description": "Resource type.",
     "default": "adexchangebuyer#billingInfo"
    }
   }
  },
  "BillingInfoList": {
   "id": "BillingInfoList",
   "type": "object",
   "description": "A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.",
   "properties": {
    "items": {
     "type": "array",
     "description": "A list of billing info relevant for your account.",
     "items": {
      "$ref": "BillingInfo"
     }
    },
    "kind": {
     "type": "string",
     "description": "Resource type.",
     "default": "adexchangebuyer#billingInfoList"
    }
   }
  },
  "BrandDto": {
   "id": "BrandDto",
   "type": "object",
   "properties": {
    "advertiserId": {
     "type": "string",
     "format": "int64"
    },
    "id": {
     "type": "string",
     "format": "int64"
    },
    "name": {
     "type": "string"
    }
   }
  },
  "Budget": {
   "id": "Budget",
   "type": "object",
   "description": "The configuration data for Ad Exchange RTB - Budget API.",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The id of the account. This is required for get and update requests.",
     "format": "int64"
    },
    "billingId": {
     "type": "string",
     "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
     "format": "int64"
    },
    "budgetAmount": {
     "type": "string",
     "description": "The budget amount to apply for the billingId provided. This is required for update requests.",
     "format": "int64"
    },
    "currencyCode": {
     "type": "string",
     "description": "The currency code for the buyer. This cannot be altered here."
    },
    "id": {
     "type": "string",
     "description": "The unique id that describes this item."
    },
    "kind": {
     "type": "string",
     "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
     "default": "adexchangebuyer#budget"
    }
   }
  },
  "Buyer": {
   "id": "Buyer",
   "type": "object",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "Adx account id of the buyer."
    }
   }
  },
  "BuyerDto": {
   "id": "BuyerDto",
   "type": "object",
   "properties": {
    "accountId": {
     "type": "integer",
     "format": "int32"
    },
    "customerId": {
     "type": "integer",
     "format": "int32"
    },
    "displayName": {
     "type": "string"
    },
    "enabledForInterestTargetingDeals": {
     "type": "boolean"
    },
    "enabledForPreferredDeals": {
     "type": "boolean"
    },
    "id": {
     "type": "integer",
     "format": "int32"
    },
    "sponsorAccountId": {
     "type": "integer",
     "format": "int32"
    }
   }
  },
  "ClientAccessCapabilities": {
   "id": "ClientAccessCapabilities",
   "type": "object",
   "properties": {
    "capabilities": {
     "type": "array",
     "items": {
      "type": "integer",
      "format": "int32"
     }
    },
    "clientAccountId": {
     "type": "string",
     "format": "int64"
    }
   }
  },
  "ContactInformation": {
   "id": "ContactInformation",
   "type": "object",
   "properties": {
    "email": {
     "type": "string",
     "description": "Email address of the contact."
    },
    "name": {
     "type": "string",
     "description": "The name of the contact."
    }
   }
  },
  "CreateOrdersRequest": {
   "id": "CreateOrdersRequest",
   "type": "object",
   "properties": {
    "orders": {
     "type": "array",
     "description": "The list of orders to create.",
     "items": {
      "$ref": "MarketplaceOrder"
     }
    },
    "webPropertyCode": {
     "type": "string"
    }
   }
  },
  "CreateOrdersResponse": {
   "id": "CreateOrdersResponse",
   "type": "object",
   "properties": {
    "orders": {
     "type": "array",
     "description": "The list of orders successfully created.",
     "items": {
      "$ref": "MarketplaceOrder"
     }
    }
   }
  },
  "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"
    },
    "api_upload_timestamp": {
     "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."
       }
      }
     }
    },
    "dealsStatus": {
     "type": "string",
     "description": "Top-level deals status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from servingRestrictions directly."
    },
    "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"
    },
    "nativeAd": {
     "type": "object",
     "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
     "properties": {
      "advertiser": {
       "type": "string"
      },
      "appIcon": {
       "type": "object",
       "description": "The app icon, for app download ads.",
       "properties": {
        "height": {
         "type": "integer",
         "format": "int32"
        },
        "url": {
         "type": "string"
        },
        "width": {
         "type": "integer",
         "format": "int32"
        }
       }
      },
      "body": {
       "type": "string",
       "description": "A long description of the ad."
      },
      "callToAction": {
       "type": "string",
       "description": "A label for the button that the user is supposed to click."
      },
      "clickTrackingUrl": {
       "type": "string",
       "description": "The URL to use for click tracking."
      },
      "headline": {
       "type": "string",
       "description": "A short title for the ad."
      },
      "image": {
       "type": "object",
       "description": "A large image.",
       "properties": {
        "height": {
         "type": "integer",
         "format": "int32"
        },
        "url": {
         "type": "string"
        },
        "width": {
         "type": "integer",
         "format": "int32"
        }
       }
      },
      "impressionTrackingUrl": {
       "type": "array",
       "description": "The URLs are called when the impression is rendered.",
       "items": {
        "type": "string"
       }
      },
      "logo": {
       "type": "object",
       "description": "A smaller image, for the advertiser logo.",
       "properties": {
        "height": {
         "type": "integer",
         "format": "int32"
        },
        "url": {
         "type": "string"
        },
        "width": {
         "type": "integer",
         "format": "int32"
        }
       }
      },
      "price": {
       "type": "string",
       "description": "The price of the promoted app including the currency info."
      },
      "starRating": {
       "type": "number",
       "description": "The app rating in the app store. Must be in the range [0-5].",
       "format": "double"
      },
      "store": {
       "type": "string",
       "description": "The URL to the app store to purchase/download the promoted app."
      }
     }
    },
    "openAuctionStatus": {
     "type": "string",
     "description": "Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly."
    },
    "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"
     }
    },
    "servingRestrictions": {
     "type": "array",
     "description": "The granular status of this ad in specific contexts. A context here relates to where something ultimately serves (for example, a physical location, a platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This field should not be set in requests.",
     "items": {
      "type": "object",
      "properties": {
       "contexts": {
        "type": "array",
        "description": "All known contexts/restrictions.",
        "items": {
         "type": "object",
         "properties": {
          "auctionType": {
           "type": "array",
           "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this restriction applies to.",
           "items": {
            "type": "string"
           }
          },
          "contextType": {
           "type": "string",
           "description": "The type of context (e.g., location, platform, auction type, SSL-ness)."
          },
          "geoCriteriaId": {
           "type": "array",
           "description": "Only set when contextType=LOCATION. Represents the geo criterias this restriction applies to.",
           "items": {
            "type": "integer",
            "format": "int32"
           }
          },
          "platform": {
           "type": "array",
           "description": "Only set when contextType=PLATFORM. Represents the platforms this restriction applies to.",
           "items": {
            "type": "string"
           }
          }
         }
        }
       },
       "disapprovalReasons": {
        "type": "array",
        "description": "The reasons for disapproval within this restriction, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue.",
        "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."
          }
         }
        }
       },
       "reason": {
        "type": "string",
        "description": "Why the creative is ineligible to serve in this context (e.g., it has been explicitly disapproved or is pending review)."
       }
      }
     }
    },
    "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."
    }
   }
  },
  "DateTime": {
   "id": "DateTime",
   "type": "object",
   "properties": {
    "day": {
     "type": "integer",
     "format": "int32"
    },
    "hour": {
     "type": "integer",
     "format": "int32"
    },
    "minute": {
     "type": "integer",
     "format": "int32"
    },
    "month": {
     "type": "integer",
     "format": "int32"
    },
    "second": {
     "type": "integer",
     "format": "int32"
    },
    "timeZoneId": {
     "type": "string"
    },
    "year": {
     "type": "integer",
     "format": "int32"
    }
   }
  },
  "DealPartyDto": {
   "id": "DealPartyDto",
   "type": "object",
   "properties": {
    "buyer": {
     "$ref": "BuyerDto"
    },
    "buyerSellerRole": {
     "type": "string"
    },
    "customerId": {
     "type": "integer",
     "format": "int32"
    },
    "name": {
     "type": "string"
    },
    "webProperty": {
     "$ref": "WebPropertyDto"
    }
   }
  },
  "DealTerms": {
   "id": "DealTerms",
   "type": "object",
   "properties": {
    "description": {
     "type": "string",
     "description": "Description for the proposed terms of the deal."
    },
    "guaranteedFixedPriceTerms": {
     "$ref": "DealTermsGuaranteedFixedPriceTerms",
     "description": "The terms for guaranteed fixed price deals."
    },
    "nonGuaranteedAuctionTerms": {
     "$ref": "DealTermsNonGuaranteedAuctionTerms",
     "description": "The terms for non-guaranteed auction deals."
    },
    "nonGuaranteedFixedPriceTerms": {
     "$ref": "DealTermsNonGuaranteedFixedPriceTerms",
     "description": "The terms for non-guaranteed fixed price deals."
    }
   }
  },
  "DealTermsGuaranteedFixedPriceTerms": {
   "id": "DealTermsGuaranteedFixedPriceTerms",
   "type": "object",
   "properties": {
    "fixedPrices": {
     "type": "array",
     "description": "Fixed price for the specified buyer.",
     "items": {
      "$ref": "PricePerBuyer"
     }
    },
    "guaranteedImpressions": {
     "type": "string",
     "description": "Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.",
     "format": "int64"
    },
    "guaranteedLooks": {
     "type": "string",
     "description": "Count of guaranteed looks. Required for deal, optional for offer.",
     "format": "int64"
    }
   }
  },
  "DealTermsNonGuaranteedAuctionTerms": {
   "id": "DealTermsNonGuaranteedAuctionTerms",
   "type": "object",
   "properties": {
    "privateAuctionId": {
     "type": "string",
     "description": "Id of the corresponding private auction."
    },
    "reservePricePerBuyers": {
     "type": "array",
     "description": "Reserve price for the specified buyer.",
     "items": {
      "$ref": "PricePerBuyer"
     }
    }
   }
  },
  "DealTermsNonGuaranteedFixedPriceTerms": {
   "id": "DealTermsNonGuaranteedFixedPriceTerms",
   "type": "object",
   "properties": {
    "fixedPrices": {
     "type": "array",
     "description": "Fixed price for the specified buyer.",
     "items": {
      "$ref": "PricePerBuyer"
     }
    }
   }
  },
  "DeleteOrderDealsRequest": {
   "id": "DeleteOrderDealsRequest",
   "type": "object",
   "properties": {
    "dealIds": {
     "type": "array",
     "description": "List of deals to delete for a given order",
     "items": {
      "type": "string"
     }
    },
    "orderRevisionNumber": {
     "type": "string",
     "description": "The last known order revision number.",
     "format": "int64"
    },
    "updateAction": {
     "type": "string"
    }
   }
  },
  "DeleteOrderDealsResponse": {
   "id": "DeleteOrderDealsResponse",
   "type": "object",
   "properties": {
    "deals": {
     "type": "array",
     "description": "List of deals deleted (in the same order as passed in the request)",
     "items": {
      "$ref": "MarketplaceDeal"
     }
    },
    "orderRevisionNumber": {
     "type": "string",
     "description": "The updated revision number for the order.",
     "format": "int64"
    }
   }
  },
  "DeliveryControl": {
   "id": "DeliveryControl",
   "type": "object",
   "properties": {
    "deliveryRateType": {
     "type": "string"
    },
    "frequencyCaps": {
     "type": "array",
     "items": {
      "$ref": "DeliveryControlFrequencyCap"
     }
    }
   }
  },
  "DeliveryControlFrequencyCap": {
   "id": "DeliveryControlFrequencyCap",
   "type": "object",
   "properties": {
    "maxImpressions": {
     "type": "integer",
     "format": "int32"
    },
    "numTimeUnits": {
     "type": "integer",
     "format": "int32"
    },
    "timeUnitType": {
     "type": "string"
    }
   }
  },
  "EditAllOrderDealsRequest": {
   "id": "EditAllOrderDealsRequest",
   "type": "object",
   "properties": {
    "deals": {
     "type": "array",
     "description": "List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to order If a deal in this list does not exist in the order, the service will create a new deal and add it to the order. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the order If a deal in this list already exist in the order, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the order (just need the id) If a existing deal in the order is not present in this list, the service will delete that deal from the order. Validation will follow DeleteOrderDealsRequest.",
     "items": {
      "$ref": "MarketplaceDeal"
     }
    },
    "order": {
     "$ref": "MarketplaceOrder",
     "description": "If specified, also updates the order in the batch transaction. This is useful when the order and the deals need to be updated in one transaction."
    },
    "orderRevisionNumber": {
     "type": "string",
     "description": "The last known revision number for the order.",
     "format": "int64"
    },
    "updateAction": {
     "type": "string",
     "description": "Indicates an optional action to take on the order"
    }
   }
  },
  "EditAllOrderDealsResponse": {
   "id": "EditAllOrderDealsResponse",
   "type": "object",
   "properties": {
    "deals": {
     "type": "array",
     "description": "List of all deals in the order after edit.",
     "items": {
      "$ref": "MarketplaceDeal"
     }
    }
   }
  },
  "EditHistoryDto": {
   "id": "EditHistoryDto",
   "type": "object",
   "properties": {
    "createdByLoginName": {
     "type": "string"
    },
    "createdTimeStamp": {
     "type": "string",
     "format": "int64"
    },
    "lastUpdateTimeStamp": {
     "type": "string",
     "format": "int64"
    },
    "lastUpdatedByLoginName": {
     "type": "string"
    }
   }
  },
  "GetFinalizedNegotiationByExternalDealIdRequest": {
   "id": "GetFinalizedNegotiationByExternalDealIdRequest",
   "type": "object",
   "properties": {
    "includePrivateAuctions": {
     "type": "boolean"
    }
   }
  },
  "GetNegotiationByIdRequest": {
   "id": "GetNegotiationByIdRequest",
   "type": "object",
   "properties": {
    "includePrivateAuctions": {
     "type": "boolean"
    }
   }
  },
  "GetNegotiationsRequest": {
   "id": "GetNegotiationsRequest",
   "type": "object",
   "properties": {
    "finalized": {
     "type": "boolean"
    },
    "includePrivateAuctions": {
     "type": "boolean"
    },
    "sinceTimestampMillis": {
     "type": "string",
     "format": "int64"
    }
   }
  },
  "GetNegotiationsResponse": {
   "id": "GetNegotiationsResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "default": "adexchangebuyer#negotiationsList"
    },
    "negotiations": {
     "type": "array",
     "items": {
      "$ref": "NegotiationDto"
     }
    }
   }
  },
  "GetOffersResponse": {
   "id": "GetOffersResponse",
   "type": "object",
   "properties": {
    "offers": {
     "type": "array",
     "description": "The returned list of offers.",
     "items": {
      "$ref": "MarketplaceOffer"
     }
    }
   }
  },
  "GetOrderDealsResponse": {
   "id": "GetOrderDealsResponse",
   "type": "object",
   "properties": {
    "deals": {
     "type": "array",
     "description": "List of deals for the order",
     "items": {
      "$ref": "MarketplaceDeal"
     }
    }
   }
  },
  "GetOrderNotesResponse": {
   "id": "GetOrderNotesResponse",
   "type": "object",
   "properties": {
    "notes": {
     "type": "array",
     "description": "The list of matching notes.",
     "items": {
      "$ref": "MarketplaceNote"
     }
    }
   }
  },
  "GetOrdersResponse": {
   "id": "GetOrdersResponse",
   "type": "object",
   "properties": {
    "orders": {
     "type": "array",
     "description": "The list of matching orders.",
     "items": {
      "$ref": "MarketplaceOrder"
     }
    }
   }
  },
  "InventorySegmentTargeting": {
   "id": "InventorySegmentTargeting",
   "type": "object",
   "properties": {
    "negativeAdSizes": {
     "type": "array",
     "items": {
      "$ref": "AdSize"
     }
    },
    "negativeAdTypeSegments": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "negativeAudienceSegments": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeDeviceCategories": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeIcmBrands": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeIcmInterests": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeInventorySlots": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "negativeKeyValues": {
     "type": "array",
     "items": {
      "$ref": "RuleKeyValuePair"
     }
    },
    "negativeLocations": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeMobileApps": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "negativeOperatingSystemVersions": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeOperatingSystems": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeSiteUrls": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "negativeSizes": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeVideoAdPositionSegments": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "negativeVideoDurationSegments": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeXfpAdSlots": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "negativeXfpPlacements": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveAdSizes": {
     "type": "array",
     "items": {
      "$ref": "AdSize"
     }
    },
    "positiveAdTypeSegments": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "positiveAudienceSegments": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveDeviceCategories": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveIcmBrands": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveIcmInterests": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveInventorySlots": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "positiveKeyValues": {
     "type": "array",
     "items": {
      "$ref": "RuleKeyValuePair"
     }
    },
    "positiveLocations": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveMobileApps": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "positiveOperatingSystemVersions": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveOperatingSystems": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveSiteUrls": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "positiveSizes": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveVideoAdPositionSegments": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "positiveVideoDurationSegments": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveXfpAdSlots": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "positiveXfpPlacements": {
     "type": "array",
     "items": {
      "type": "string",
      "format": "int64"
     }
    }
   }
  },
  "ListClientAccessCapabilitiesRequest": {
   "id": "ListClientAccessCapabilitiesRequest",
   "type": "object",
   "properties": {
    "sponsorAccountId": {
     "type": "string",
     "format": "int64"
    }
   }
  },
  "ListClientAccessCapabilitiesResponse": {
   "id": "ListClientAccessCapabilitiesResponse",
   "type": "object",
   "properties": {
    "clientAccessPermissions": {
     "type": "array",
     "items": {
      "$ref": "ClientAccessCapabilities"
     }
    }
   }
  },
  "ListOffersRequest": {
   "id": "ListOffersRequest",
   "type": "object",
   "properties": {
    "sinceTimestampMillis": {
     "type": "string",
     "format": "int64"
    }
   }
  },
  "ListOffersResponse": {
   "id": "ListOffersResponse",
   "type": "object",
   "properties": {
    "kind": {
     "type": "string",
     "default": "adexchangebuyer#offersList"
    },
    "offers": {
     "type": "array",
     "items": {
      "$ref": "OfferDto"
     }
    }
   }
  },
  "MarketplaceDeal": {
   "id": "MarketplaceDeal",
   "type": "object",
   "description": "An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.",
   "properties": {
    "buyerPrivateData": {
     "$ref": "PrivateData",
     "description": "Buyer private data (hidden from seller)."
    },
    "creationTimeMs": {
     "type": "string",
     "description": "The time (ms since epoch) of the deal creation. (readonly)",
     "format": "int64"
    },
    "dealId": {
     "type": "string",
     "description": "A unique deal=id for the deal (readonly)."
    },
    "deliveryControl": {
     "$ref": "DeliveryControl",
     "description": "The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension."
    },
    "externalDealId": {
     "type": "string",
     "description": "The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)"
    },
    "flightEndTimeMs": {
     "type": "string",
     "description": "Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
     "format": "int64"
    },
    "flightStartTimeMs": {
     "type": "string",
     "description": "Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
     "format": "int64"
    },
    "inventoryDescription": {
     "type": "string",
     "description": "Description for the deal terms. (updatable)"
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".",
     "default": "adexchangebuyer#marketplaceDeal"
    },
    "lastUpdateTimeMs": {
     "type": "string",
     "description": "The time (ms since epoch) when the deal was last updated. (readonly)",
     "format": "int64"
    },
    "name": {
     "type": "string",
     "description": "The name of the deal. (updatable)"
    },
    "offerId": {
     "type": "string",
     "description": "The offer-id from which this deal was created. (readonly, except on create)"
    },
    "offerRevisionNumber": {
     "type": "string",
     "description": "The revision number of the offer that the deal was created from (readonly, except on create)",
     "format": "int64"
    },
    "orderId": {
     "type": "string"
    },
    "sellerContacts": {
     "type": "array",
     "description": "Optional Seller contact information for the deal (buyer-readonly)",
     "items": {
      "$ref": "ContactInformation"
     }
    },
    "sharedTargetings": {
     "type": "array",
     "description": "The shared targeting visible to buyers and sellers. (updatable)",
     "items": {
      "$ref": "SharedTargeting"
     }
    },
    "syndicationProduct": {
     "type": "string",
     "description": "The syndication product associated with the deal. (readonly, except on create)"
    },
    "terms": {
     "$ref": "DealTerms",
     "description": "The negotiable terms of the deal. (updatable)"
    },
    "webPropertyCode": {
     "type": "string"
    }
   }
  },
  "MarketplaceDealParty": {
   "id": "MarketplaceDealParty",
   "type": "object",
   "properties": {
    "buyer": {
     "$ref": "Buyer",
     "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party."
    },
    "seller": {
     "$ref": "Seller",
     "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party."
    }
   }
  },
  "MarketplaceLabel": {
   "id": "MarketplaceLabel",
   "type": "object",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The accountId of the party that created the label."
    },
    "createTimeMs": {
     "type": "string",
     "description": "The creation time (in ms since epoch) for the label.",
     "format": "int64"
    },
    "deprecatedMarketplaceDealParty": {
     "$ref": "MarketplaceDealParty",
     "description": "Information about the party that created the label."
    },
    "label": {
     "type": "string",
     "description": "The label to use."
    }
   }
  },
  "MarketplaceNote": {
   "id": "MarketplaceNote",
   "type": "object",
   "description": "An order is associated with a bunch of notes which may optionally be associated with a deal and/or revision number.",
   "properties": {
    "creatorRole": {
     "type": "string",
     "description": "The role of the person (buyer/seller) creating the note. (readonly)"
    },
    "dealId": {
     "type": "string",
     "description": "Notes can optionally be associated with a deal. (readonly, except on create)"
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceNote\".",
     "default": "adexchangebuyer#marketplaceNote"
    },
    "note": {
     "type": "string",
     "description": "The actual note to attach. (readonly, except on create)"
    },
    "noteId": {
     "type": "string",
     "description": "The unique id for the note. (readonly)"
    },
    "orderId": {
     "type": "string",
     "description": "The order_id that a note is attached to. (readonly)"
    },
    "orderRevisionNumber": {
     "type": "string",
     "description": "If the note is associated with an order revision number, then store that here. (readonly, except on create)",
     "format": "int64"
    },
    "timestampMs": {
     "type": "string",
     "description": "The timestamp (ms since epoch) that this note was created. (readonly)",
     "format": "int64"
    }
   }
  },
  "MarketplaceOffer": {
   "id": "MarketplaceOffer",
   "type": "object",
   "description": "An offer is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in an order can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.",
   "properties": {
    "creationTimeMs": {
     "type": "string",
     "description": "Creation time in ms. since epoch (readonly)",
     "format": "int64"
    },
    "creatorContacts": {
     "type": "array",
     "description": "Optional contact information for the creator of this offer. (buyer-readonly)",
     "items": {
      "$ref": "ContactInformation"
     }
    },
    "flightEndTimeMs": {
     "type": "string",
     "description": "The proposed end time for the deal (ms since epoch) (buyer-readonly)",
     "format": "int64"
    },
    "flightStartTimeMs": {
     "type": "string",
     "description": "Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)",
     "format": "int64"
    },
    "hasCreatorSignedOff": {
     "type": "boolean",
     "description": "If the creator has already signed off on the offer, then the buyer can finalize the deal by accepting the offer as is. When copying to an order, if any of the terms are changed, then auto_finalize is automatically set to false."
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOffer\".",
     "default": "adexchangebuyer#marketplaceOffer"
    },
    "labels": {
     "type": "array",
     "description": "Optional List of labels for the offer (optional, buyer-readonly).",
     "items": {
      "$ref": "MarketplaceLabel"
     }
    },
    "lastUpdateTimeMs": {
     "type": "string",
     "description": "Time of last update in ms. since epoch (readonly)",
     "format": "int64"
    },
    "name": {
     "type": "string",
     "description": "The name for this offer as set by the seller. (buyer-readonly)"
    },
    "offerId": {
     "type": "string",
     "description": "The unique id for the offer (readonly)"
    },
    "revisionNumber": {
     "type": "string",
     "description": "The revision number of the offer. (readonly)",
     "format": "int64"
    },
    "seller": {
     "$ref": "Seller",
     "description": "Information about the seller that created this offer (readonly, except on create)"
    },
    "sharedTargetings": {
     "type": "array",
     "description": "Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly)",
     "items": {
      "$ref": "SharedTargeting"
     }
    },
    "state": {
     "type": "string",
     "description": "The state of the offer. (buyer-readonly)"
    },
    "syndicationProduct": {
     "type": "string",
     "description": "The syndication product associated with the deal. (readonly, except on create)"
    },
    "terms": {
     "$ref": "DealTerms",
     "description": "The negotiable terms of the deal (buyer-readonly)"
    },
    "webPropertyCode": {
     "type": "string"
    }
   }
  },
  "MarketplaceOrder": {
   "id": "MarketplaceOrder",
   "type": "object",
   "description": "Represents an order in the marketplace. An order is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in an order can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.",
   "properties": {
    "billedBuyer": {
     "$ref": "Buyer",
     "description": "Reference to the buyer that will get billed for this order. (readonly)"
    },
    "buyer": {
     "$ref": "Buyer",
     "description": "Reference to the buyer on the order. (readonly, except on create)"
    },
    "buyerContacts": {
     "type": "array",
     "description": "Optional contact information fort the buyer. (seller-readonly)",
     "items": {
      "$ref": "ContactInformation"
     }
    },
    "buyerPrivateData": {
     "$ref": "PrivateData",
     "description": "Private data for buyer. (hidden from seller)."
    },
    "hasBuyerSignedOff": {
     "type": "boolean",
     "description": "When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (seller-readonly)"
    },
    "hasSellerSignedOff": {
     "type": "boolean",
     "description": "When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (buyer-readonly)"
    },
    "isRenegotiating": {
     "type": "boolean",
     "description": "True if the order is being renegotiated (readonly)."
    },
    "isSetupComplete": {
     "type": "boolean",
     "description": "True, if the buyside inventory setup is complete for this order. (readonly)"
    },
    "kind": {
     "type": "string",
     "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOrder\".",
     "default": "adexchangebuyer#marketplaceOrder"
    },
    "labels": {
     "type": "array",
     "description": "List of labels associated with the order. (readonly)",
     "items": {
      "$ref": "MarketplaceLabel"
     }
    },
    "lastUpdaterOrCommentorRole": {
     "type": "string",
     "description": "The role of the last user that either updated the order or left a comment. (readonly)"
    },
    "lastUpdaterRole": {
     "type": "string"
    },
    "name": {
     "type": "string",
     "description": "The name for the order (updatable)"
    },
    "orderId": {
     "type": "string",
     "description": "The unique id of the order. (readonly)."
    },
    "orderState": {
     "type": "string",
     "description": "The current state of the order. (readonly)"
    },
    "originatorRole": {
     "type": "string",
     "description": "Indicates whether the buyer/seller created the offer.(readonly)"
    },
    "revisionNumber": {
     "type": "string",
     "description": "The revision number for the order (readonly).",
     "format": "int64"
    },
    "revisionTimeMs": {
     "type": "string",
     "description": "The time (ms since epoch) when the order was last revised (readonly).",
     "format": "int64"
    },
    "seller": {
     "$ref": "Seller",
     "description": "Reference to the seller on the order. (readonly, except on create)"
    },
    "sellerContacts": {
     "type": "array",
     "description": "Optional contact information for the seller (buyer-readonly).",
     "items": {
      "$ref": "ContactInformation"
     }
    }
   }
  },
  "MoneyDto": {
   "id": "MoneyDto",
   "type": "object",
   "properties": {
    "currencyCode": {
     "type": "string"
    },
    "micros": {
     "type": "string",
     "format": "int64"
    }
   }
  },
  "NegotiationDto": {
   "id": "NegotiationDto",
   "type": "object",
   "properties": {
    "billedBuyer": {
     "$ref": "DealPartyDto",
     "description": "The billed buyer; Specified by a buyer buying through an intermediary."
    },
    "buyer": {
     "$ref": "DealPartyDto",
     "description": "Details of the buyer party in this negotiation."
    },
    "buyerEmailContacts": {
     "type": "array",
     "description": "The buyer party's contact email.",
     "items": {
      "type": "string"
     }
    },
    "dealType": {
     "type": "string",
     "description": "The type of this deal."
    },
    "externalDealId": {
     "type": "string",
     "description": "For finalized negotiations, the ID of the finalized deal.",
     "format": "int64"
    },
    "kind": {
     "type": "string",
     "default": "adexchangebuyer#negotiation"
    },
    "labelNames": {
     "type": "array",
     "description": "A list of label names applicable to this negotiation.",
     "items": {
      "type": "string"
     }
    },
    "negotiationId": {
     "type": "string",
     "description": "The unique ID of this negotiation.",
     "format": "int64"
    },
    "negotiationRounds": {
     "type": "array",
     "description": "The series of negotiation rounds for this negotiation.",
     "items": {
      "$ref": "NegotiationRoundDto"
     }
    },
    "negotiationState": {
     "type": "string",
     "description": "The state of this negotiation."
    },
    "offerId": {
     "type": "string",
     "description": "The ID of this negotiation's original offer.",
     "format": "int64"
    },
    "seller": {
     "$ref": "DealPartyDto",
     "description": "Details of the seller party in this negotiation."
    },
    "sellerEmailContacts": {
     "type": "array",
     "description": "The seller party's contact email.",
     "items": {
      "type": "string"
     }
    },
    "stats": {
     "$ref": "StatsDto",
     "description": "The stats for this negotiation."
    },
    "status": {
     "type": "string",
     "description": "The status of this negotiation."
    }
   }
  },
  "NegotiationRoundDto": {
   "id": "NegotiationRoundDto",
   "type": "object",
   "properties": {
    "action": {
     "type": "string",
     "description": "The action performed by this negotiation round."
    },
    "dbmPartnerId": {
     "type": "string",
     "description": "Stores DBM partner ID for use by DBM",
     "format": "int64"
    },
    "editHistory": {
     "$ref": "EditHistoryDto",
     "description": "The edit history of this negotiation round."
    },
    "kind": {
     "type": "string",
     "default": "adexchangebuyer#negotiationRound"
    },
    "negotiationId": {
     "type": "string",
     "description": "The ID of the negotiation to which this negotiation round applies.",
     "format": "int64"
    },
    "notes": {
     "type": "string",
     "description": "Notes regarding this negotiation round."
    },
    "originatorRole": {
     "type": "string",
     "description": "The role, either buyer or seller, initiating this negotiation round."
    },
    "roundNumber": {
     "type": "string",
     "description": "The number of this negotiation round, in sequence.",
     "format": "int64"
    },
    "terms": {
     "$ref": "TermsDto",
     "description": "The detailed terms proposed in this negotiation round."
    }
   }
  },
  "OfferDto": {
   "id": "OfferDto",
   "type": "object",
   "properties": {
    "anonymous": {
     "type": "boolean",
     "description": "Whether this offer is anonymous."
    },
    "billedBuyer": {
     "$ref": "DealPartyDto",
     "description": "The billed buyer; For buyer initiated offers, buying through an intermediary."
    },
    "closedToDealParties": {
     "type": "array",
     "description": "The list of buyer or seller parties this offer is closed to.",
     "items": {
      "$ref": "DealPartyDto"
     }
    },
    "creator": {
     "$ref": "DealPartyDto",
     "description": "The creator of this offer."
    },
    "emailContacts": {
     "type": "array",
     "description": "The list of email contacts for this offer.",
     "items": {
      "type": "string"
     }
    },
    "isOpen": {
     "type": "boolean",
     "description": "Whether this offer is open."
    },
    "kind": {
     "type": "string",
     "default": "adexchangebuyer#offer"
    },
    "labelNames": {
     "type": "array",
     "description": "The list of label names applicable to this offer.",
     "items": {
      "type": "string"
     }
    },
    "offerId": {
     "type": "string",
     "description": "The unique ID of this offer.",
     "format": "int64"
    },
    "offerState": {
     "type": "string",
     "description": "The state of this offer."
    },
    "openToDealParties": {
     "type": "array",
     "description": "The list of buyer or seller parties this offer is open to.",
     "items": {
      "$ref": "DealPartyDto"
     }
    },
    "pointOfContact": {
     "type": "string",
     "description": "The point of contact for this offer."
    },
    "status": {
     "type": "string",
     "description": "The status of this offer."
    },
    "terms": {
     "$ref": "TermsDto",
     "description": "The terms of this offer."
    }
   }
  },
  "PerformanceReport": {
   "id": "PerformanceReport",
   "type": "object",
   "description": "The configuration data for an Ad Exchange performance report list.",
   "properties": {
    "bidRate": {
     "type": "number",
     "description": "The number of bid responses with an ad.",
     "format": "double"
    },
    "bidRequestRate": {
     "type": "number",
     "description": "The number of bid requests sent to your bidder.",
     "format": "double"
    },
    "calloutStatusRate": {
     "type": "array",
     "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
     "items": {
      "type": "any"
     }
    },
    "cookieMatcherStatusRate": {
     "type": "array",
     "description": "Average QPS for cookie matcher operations.",
     "items": {
      "type": "any"
     }
    },
    "creativeStatusRate": {
     "type": "array",
     "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
     "items": {
      "type": "any"
     }
    },
    "filteredBidRate": {
     "type": "number",
     "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
     "format": "double"
    },
    "hostedMatchStatusRate": {
     "type": "array",
     "description": "Average QPS for hosted match operations.",
     "items": {
      "type": "any"
     }
    },
    "inventoryMatchRate": {
     "type": "number",
     "description": "The number of potential queries based on your pretargeting settings.",
     "format": "double"
    },
    "kind": {
     "type": "string",
     "description": "Resource type.",
     "default": "adexchangebuyer#performanceReport"
    },
    "latency50thPercentile": {
     "type": "number",
     "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
     "format": "double"
    },
    "latency85thPercentile": {
     "type": "number",
     "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
     "format": "double"
    },
    "latency95thPercentile": {
     "type": "number",
     "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
     "format": "double"
    },
    "noQuotaInRegion": {
     "type": "number",
     "description": "Rate of various quota account statuses per quota check.",
     "format": "double"
    },
    "outOfQuota": {
     "type": "number",
     "description": "Rate of various quota account statuses per quota check.",
     "format": "double"
    },
    "pixelMatchRequests": {
     "type": "number",
     "description": "Average QPS for pixel match requests from clients.",
     "format": "double"
    },
    "pixelMatchResponses": {
     "type": "number",
     "description": "Average QPS for pixel match responses from clients.",
     "format": "double"
    },
    "quotaConfiguredLimit": {
     "type": "number",
     "description": "The configured quota limits for this account.",
     "format": "double"
    },
    "quotaThrottledLimit": {
     "type": "number",
     "description": "The throttled quota limits for this account.",
     "format": "double"
    },
    "region": {
     "type": "string",
     "description": "The trading location of this data."
    },
    "successfulRequestRate": {
     "type": "number",
     "description": "The number of properly formed bid responses received by our servers within the deadline.",
     "format": "double"
    },
    "timestamp": {
     "type": "string",
     "description": "The unix timestamp of the starting time of this performance data.",
     "format": "int64"
    },
    "unsuccessfulRequestRate": {
     "type": "number",
     "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
     "format": "double"
    }
   }
  },
  "PerformanceReportList": {
   "id": "PerformanceReportList",
   "type": "object",
   "description": "The configuration data for an Ad Exchange performance report list. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py",
   "properties": {
    "kind": {
     "type": "string",
     "description": "Resource type.",
     "default": "adexchangebuyer#performanceReportList"
    },
    "performanceReport": {
     "type": "array",
     "description": "A list of performance reports relevant for the account.",
     "items": {
      "$ref": "PerformanceReport"
     }
    }
   }
  },
  "PretargetingConfig": {
   "id": "PretargetingConfig",
   "type": "object",
   "properties": {
    "billingId": {
     "type": "string",
     "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
     "format": "int64"
    },
    "configId": {
     "type": "string",
     "description": "The config id; generated automatically. Leave this field blank for insert requests.",
     "format": "int64"
    },
    "configName": {
     "type": "string",
     "description": "The name of the config. Must be unique. Required for all requests."
    },
    "creativeType": {
     "type": "array",
     "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
     "items": {
      "type": "string"
     }
    },
    "dimensions": {
     "type": "array",
     "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
     "items": {
      "type": "object",
      "properties": {
       "height": {
        "type": "string",
        "description": "Height in pixels.",
        "format": "int64"
       },
       "width": {
        "type": "string",
        "description": "Width in pixels.",
        "format": "int64"
       }
      }
     }
    },
    "excludedContentLabels": {
     "type": "array",
     "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "excludedGeoCriteriaIds": {
     "type": "array",
     "description": "Requests containing any of these geo criteria ids will not match.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "excludedPlacements": {
     "type": "array",
     "description": "Requests containing any of these placements will not match.",
     "items": {
      "type": "object",
      "properties": {
       "token": {
        "type": "string",
        "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement."
       },
       "type": {
        "type": "string",
        "description": "The type of the placement."
       }
      }
     }
    },
    "excludedUserLists": {
     "type": "array",
     "description": "Requests containing any of these users list ids will not match.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "excludedVerticals": {
     "type": "array",
     "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "geoCriteriaIds": {
     "type": "array",
     "description": "Requests containing any of these geo criteria ids will match.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "isActive": {
     "type": "boolean",
     "description": "Whether this config is active. Required for all requests."
    },
    "kind": {
     "type": "string",
     "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
     "default": "adexchangebuyer#pretargetingConfig"
    },
    "languages": {
     "type": "array",
     "description": "Request containing any of these language codes will match.",
     "items": {
      "type": "string"
     }
    },
    "mobileCarriers": {
     "type": "array",
     "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "mobileDevices": {
     "type": "array",
     "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "mobileOperatingSystemVersions": {
     "type": "array",
     "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "placements": {
     "type": "array",
     "description": "Requests containing any of these placements will match.",
     "items": {
      "type": "object",
      "properties": {
       "token": {
        "type": "string",
        "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement."
       },
       "type": {
        "type": "string",
        "description": "The type of the placement."
       }
      }
     }
    },
    "platforms": {
     "type": "array",
     "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
     "items": {
      "type": "string"
     }
    },
    "supportedCreativeAttributes": {
     "type": "array",
     "description": "Creative attributes should be declared here if all creatives corresponding to this pretargeting configuration have that creative attribute. Values are from pretargetable-creative-attributes.txt in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "userLists": {
     "type": "array",
     "description": "Requests containing any of these user list ids will match.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "vendorTypes": {
     "type": "array",
     "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    },
    "verticals": {
     "type": "array",
     "description": "Requests containing any of these vertical ids will match.",
     "items": {
      "type": "string",
      "format": "int64"
     }
    }
   }
  },
  "PretargetingConfigList": {
   "id": "PretargetingConfigList",
   "type": "object",
   "properties": {
    "items": {
     "type": "array",
     "description": "A list of pretargeting configs",
     "items": {
      "$ref": "PretargetingConfig"
     }
    },
    "kind": {
     "type": "string",
     "description": "Resource type.",
     "default": "adexchangebuyer#pretargetingConfigList"
    }
   }
  },
  "Price": {
   "id": "Price",
   "type": "object",
   "properties": {
    "amountMicros": {
     "type": "number",
     "description": "The CPM value in micros.",
     "format": "double"
    },
    "currencyCode": {
     "type": "string",
     "description": "The currency code for the price."
    }
   }
  },
  "PricePerBuyer": {
   "id": "PricePerBuyer",
   "type": "object",
   "description": "Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.",
   "properties": {
    "buyer": {
     "$ref": "Buyer",
     "description": "The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer)."
    },
    "price": {
     "$ref": "Price",
     "description": "The specified price"
    }
   }
  },
  "PrivateData": {
   "id": "PrivateData",
   "type": "object",
   "properties": {
    "referenceId": {
     "type": "string"
    },
    "referencePayload": {
     "type": "string",
     "format": "byte"
    }
   }
  },
  "RuleKeyValuePair": {
   "id": "RuleKeyValuePair",
   "type": "object",
   "properties": {
    "keyName": {
     "type": "string"
    },
    "value": {
     "type": "string"
    }
   }
  },
  "Seller": {
   "id": "Seller",
   "type": "object",
   "properties": {
    "accountId": {
     "type": "string",
     "description": "The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the offer."
    },
    "subAccountId": {
     "type": "string",
     "description": "Optional sub-account id for the seller."
    }
   }
  },
  "SharedTargeting": {
   "id": "SharedTargeting",
   "type": "object",
   "properties": {
    "exclusions": {
     "type": "array",
     "description": "The list of values to exclude from targeting.",
     "items": {
      "$ref": "TargetingValue"
     }
    },
    "inclusions": {
     "type": "array",
     "description": "The list of value to include as part of the targeting.",
     "items": {
      "$ref": "TargetingValue"
     }
    },
    "key": {
     "type": "string",
     "description": "The key representing the shared targeting criterion."
    }
   }
  },
  "StatsDto": {
   "id": "StatsDto",
   "type": "object",
   "properties": {
    "bids": {
     "type": "string",
     "format": "int64"
    },
    "goodBids": {
     "type": "string",
     "format": "int64"
    },
    "impressions": {
     "type": "string",
     "format": "int64"
    },
    "requests": {
     "type": "string",
     "format": "int64"
    },
    "revenue": {
     "$ref": "MoneyDto"
    },
    "spend": {
     "$ref": "MoneyDto"
    }
   }
  },
  "TargetingValue": {
   "id": "TargetingValue",
   "type": "object",
   "properties": {
    "creativeSizeValue": {
     "$ref": "TargetingValueCreativeSize",
     "description": "The creative size value to exclude/include."
    },
    "dayPartTargetingValue": {
     "$ref": "TargetingValueDayPartTargeting",
     "description": "The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING."
    },
    "longValue": {
     "type": "string",
     "description": "The long value to exclude/include.",
     "format": "int64"
    },
    "stringValue": {
     "type": "string",
     "description": "The string value to exclude/include."
    }
   }
  },
  "TargetingValueCreativeSize": {
   "id": "TargetingValueCreativeSize",
   "type": "object",
   "properties": {
    "companionSizes": {
     "type": "array",
     "description": "For video size type, the list of companion sizes.",
     "items": {
      "$ref": "TargetingValueSize"
     }
    },
    "creativeSizeType": {
     "type": "string",
     "description": "The Creative size type."
    },
    "size": {
     "$ref": "TargetingValueSize",
     "description": "For regular creative size type, specifies the size of the creative."
    }
   }
  },
  "TargetingValueDayPartTargeting": {
   "id": "TargetingValueDayPartTargeting",
   "type": "object",
   "properties": {
    "dayParts": {
     "type": "array",
     "items": {
      "$ref": "TargetingValueDayPartTargetingDayPart"
     }
    },
    "timeZoneType": {
     "type": "string"
    }
   }
  },
  "TargetingValueDayPartTargetingDayPart": {
   "id": "TargetingValueDayPartTargetingDayPart",
   "type": "object",
   "properties": {
    "dayOfWeek": {
     "type": "string"
    },
    "endHour": {
     "type": "integer",
     "format": "int32"
    },
    "endMinute": {
     "type": "integer",
     "format": "int32"
    },
    "startHour": {
     "type": "integer",
     "format": "int32"
    },
    "startMinute": {
     "type": "integer",
     "format": "int32"
    }
   }
  },
  "TargetingValueSize": {
   "id": "TargetingValueSize",
   "type": "object",
   "properties": {
    "height": {
     "type": "integer",
     "description": "The height of the creative.",
     "format": "int32"
    },
    "width": {
     "type": "integer",
     "description": "The width of the creative.",
     "format": "int32"
    }
   }
  },
  "TermsDto": {
   "id": "TermsDto",
   "type": "object",
   "properties": {
    "adSlots": {
     "type": "array",
     "description": "The particular ad slots targeted by the offer.",
     "items": {
      "$ref": "AdSlotDto"
     }
    },
    "advertisers": {
     "type": "array",
     "description": "A list of advertisers for this offer.",
     "items": {
      "$ref": "AdvertiserDto"
     }
    },
    "audienceSegment": {
     "$ref": "AudienceSegment",
     "description": "The audience segment for the offer."
    },
    "audienceSegmentDescription": {
     "type": "string",
     "description": "A description of the audience segment for the offer."
    },
    "billingTerms": {
     "type": "string",
     "description": "The billing terms."
    },
    "buyerBillingType": {
     "type": "string",
     "description": "The buyer billing type."
    },
    "cpm": {
     "$ref": "MoneyDto",
     "description": "The cpm terms."
    },
    "creativeBlockingLevel": {
     "type": "string",
     "description": "Whether to use or ignore publisher blocking rules."
    },
    "creativeReviewPolicy": {
     "type": "string",
     "description": "Whether to use publisher review policy or AdX review policy."
    },
    "dealPremium": {
     "$ref": "MoneyDto",
     "description": "The premium terms."
    },
    "description": {
     "type": "string",
     "description": "A description for these terms."
    },
    "descriptiveName": {
     "type": "string",
     "description": "A descriptive name for these terms."
    },
    "endDate": {
     "$ref": "DateTime",
     "description": "The end date for the offer."
    },
    "estimatedImpressionsPerDay": {
     "type": "string",
     "description": "The estimated daily impressions for the offer.",
     "format": "int64"
    },
    "estimatedSpend": {
     "$ref": "MoneyDto",
     "description": "The estimated spend for the offer."
    },
    "finalizeAutomatically": {
     "type": "boolean",
     "description": "If true, the offer will finalize automatically when accepted."
    },
    "inventorySegmentTargeting": {
     "$ref": "InventorySegmentTargeting",
     "description": "The inventory segment targeting for the offer."
    },
    "isReservation": {
     "type": "boolean",
     "description": "Whether the offer is a reservation."
    },
    "minimumSpendMicros": {
     "type": "string",
     "description": "The minimum spend for the offer.",
     "format": "int64"
    },
    "minimumTrueLooks": {
     "type": "string",
     "description": "The minimum true looks for the offer.",
     "format": "int64"
    },
    "monetizerType": {
     "type": "string",
     "description": "The monetizer type."
    },
    "semiTransparent": {
     "type": "boolean",
     "description": "Whether this offer is semi-transparent."
    },
    "startDate": {
     "$ref": "DateTime",
     "description": "The start date for the offer."
    },
    "targetByDealId": {
     "type": "boolean",
     "description": "Whether to target by deal id."
    },
    "targetingAllAdSlots": {
     "type": "boolean",
     "description": "If true, the offer targets all ad slots."
    },
    "termsAttributes": {
     "type": "array",
     "description": "A list of terms attributes.",
     "items": {
      "type": "string"
     }
    },
    "urls": {
     "type": "array",
     "description": "The urls applicable to the offer.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "WebPropertyDto": {
   "id": "WebPropertyDto",
   "type": "object",
   "properties": {
    "allowInterestTargetedAds": {
     "type": "boolean"
    },
    "enabledForPreferredDeals": {
     "type": "boolean"
    },
    "id": {
     "type": "integer",
     "format": "int32"
    },
    "name": {
     "type": "string"
    },
    "propertyCode": {
     "type": "string"
    },
    "siteUrls": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "syndicationProduct": {
     "type": "string"
    }
   }
  }
 },
 "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"
     ]
    }
   }
  },
  "billingInfo": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.billingInfo.get",
     "path": "billinginfo/{accountId}",
     "httpMethod": "GET",
     "description": "Returns the billing information for one account specified by account ID.",
     "parameters": {
      "accountId": {
       "type": "integer",
       "description": "The account id.",
       "required": true,
       "format": "int32",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId"
     ],
     "response": {
      "$ref": "BillingInfo"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.billingInfo.list",
     "path": "billinginfo",
     "httpMethod": "GET",
     "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
     "response": {
      "$ref": "BillingInfoList"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "budget": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.budget.get",
     "path": "billinginfo/{accountId}/{billingId}",
     "httpMethod": "GET",
     "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to get the budget information for.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "billingId": {
       "type": "string",
       "description": "The billing id to get the budget information for.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "billingId"
     ],
     "response": {
      "$ref": "Budget"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "patch": {
     "id": "adexchangebuyer.budget.patch",
     "path": "billinginfo/{accountId}/{billingId}",
     "httpMethod": "PATCH",
     "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id associated with the budget being updated.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "billingId": {
       "type": "string",
       "description": "The billing id associated with the budget being updated.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "billingId"
     ],
     "request": {
      "$ref": "Budget"
     },
     "response": {
      "$ref": "Budget"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "update": {
     "id": "adexchangebuyer.budget.update",
     "path": "billinginfo/{accountId}/{billingId}",
     "httpMethod": "PUT",
     "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id associated with the budget being updated.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "billingId": {
       "type": "string",
       "description": "The billing id associated with the budget being updated.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "billingId"
     ],
     "request": {
      "$ref": "Budget"
     },
     "response": {
      "$ref": "Budget"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "clientaccess": {
   "methods": {
    "delete": {
     "id": "adexchangebuyer.clientaccess.delete",
     "path": "clientAccess/{clientAccountId}",
     "httpMethod": "DELETE",
     "parameters": {
      "clientAccountId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "sponsorAccountId": {
       "type": "integer",
       "required": true,
       "format": "int32",
       "location": "query"
      }
     },
     "parameterOrder": [
      "clientAccountId",
      "sponsorAccountId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "get": {
     "id": "adexchangebuyer.clientaccess.get",
     "path": "clientAccess/{clientAccountId}",
     "httpMethod": "GET",
     "parameters": {
      "clientAccountId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "sponsorAccountId": {
       "type": "integer",
       "required": true,
       "format": "int32",
       "location": "query"
      }
     },
     "parameterOrder": [
      "clientAccountId",
      "sponsorAccountId"
     ],
     "response": {
      "$ref": "ClientAccessCapabilities"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "insert": {
     "id": "adexchangebuyer.clientaccess.insert",
     "path": "clientAccess",
     "httpMethod": "POST",
     "parameters": {
      "clientAccountId": {
       "type": "string",
       "format": "int64",
       "location": "query"
      },
      "sponsorAccountId": {
       "type": "integer",
       "format": "int32",
       "location": "query"
      }
     },
     "request": {
      "$ref": "ClientAccessCapabilities"
     },
     "response": {
      "$ref": "ClientAccessCapabilities"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.clientaccess.list",
     "path": "clientAccess",
     "httpMethod": "GET",
     "request": {
      "$ref": "ListClientAccessCapabilitiesRequest"
     },
     "response": {
      "$ref": "ListClientAccessCapabilitiesResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "patch": {
     "id": "adexchangebuyer.clientaccess.patch",
     "path": "clientAccess/{clientAccountId}",
     "httpMethod": "PATCH",
     "parameters": {
      "clientAccountId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "sponsorAccountId": {
       "type": "integer",
       "required": true,
       "format": "int32",
       "location": "query"
      }
     },
     "parameterOrder": [
      "clientAccountId",
      "sponsorAccountId"
     ],
     "request": {
      "$ref": "ClientAccessCapabilities"
     },
     "response": {
      "$ref": "ClientAccessCapabilities"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "update": {
     "id": "adexchangebuyer.clientaccess.update",
     "path": "clientAccess/{clientAccountId}",
     "httpMethod": "PUT",
     "parameters": {
      "clientAccountId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "sponsorAccountId": {
       "type": "integer",
       "required": true,
       "format": "int32",
       "location": "query"
      }
     },
     "parameterOrder": [
      "clientAccountId",
      "sponsorAccountId"
     ],
     "request": {
      "$ref": "ClientAccessCapabilities"
     },
     "response": {
      "$ref": "ClientAccessCapabilities"
     },
     "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": {
      "accountId": {
       "type": "integer",
       "description": "When specified, only creatives for the given account ids are returned.",
       "format": "int32",
       "repeated": true,
       "location": "query"
      },
      "buyerCreativeId": {
       "type": "string",
       "description": "When specified, only creatives for the given buyer creative ids are returned.",
       "repeated": true,
       "location": "query"
      },
      "dealsStatusFilter": {
       "type": "string",
       "description": "When specified, only creatives having the given direct deals status are returned.",
       "enum": [
        "approved",
        "conditionally_approved",
        "disapproved",
        "not_checked"
       ],
       "enumDescriptions": [
        "Creatives which have been approved for serving on direct deals.",
        "Creatives which have been conditionally approved for serving on direct deals.",
        "Creatives which have been disapproved for serving on direct deals.",
        "Creatives whose direct deals status is not yet checked."
       ],
       "location": "query"
      },
      "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"
      },
      "openAuctionStatusFilter": {
       "type": "string",
       "description": "When specified, only creatives having the given open auction status are returned.",
       "enum": [
        "approved",
        "conditionally_approved",
        "disapproved",
        "not_checked"
       ],
       "enumDescriptions": [
        "Creatives which have been approved for serving on the open auction.",
        "Creatives which have been conditionally approved for serving on the open auction.",
        "Creatives which have been disapproved for serving on the open auction.",
        "Creatives whose open auction status is not yet checked."
       ],
       "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"
      }
     },
     "response": {
      "$ref": "CreativesList"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "deals": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.deals.get",
     "path": "deals/{dealId}",
     "httpMethod": "GET",
     "description": "Gets the requested deal.",
     "parameters": {
      "dealId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "dealId"
     ],
     "request": {
      "$ref": "GetFinalizedNegotiationByExternalDealIdRequest"
     },
     "response": {
      "$ref": "NegotiationDto"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "marketplacedeals": {
   "methods": {
    "delete": {
     "id": "adexchangebuyer.marketplacedeals.delete",
     "path": "marketplaceOrders/{orderId}/deals/delete",
     "httpMethod": "POST",
     "description": "Delete the specified deals from the order",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The orderId to delete deals from.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "request": {
      "$ref": "DeleteOrderDealsRequest"
     },
     "response": {
      "$ref": "DeleteOrderDealsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "insert": {
     "id": "adexchangebuyer.marketplacedeals.insert",
     "path": "marketplaceOrders/{orderId}/deals/insert",
     "httpMethod": "POST",
     "description": "Add new deals for the specified order",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "OrderId for which deals need to be added.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "request": {
      "$ref": "AddOrderDealsRequest"
     },
     "response": {
      "$ref": "AddOrderDealsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.marketplacedeals.list",
     "path": "marketplaceOrders/{orderId}/deals",
     "httpMethod": "GET",
     "description": "List all the deals for a given order",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The orderId to get deals for.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "response": {
      "$ref": "GetOrderDealsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "update": {
     "id": "adexchangebuyer.marketplacedeals.update",
     "path": "marketplaceOrders/{orderId}/deals/update",
     "httpMethod": "POST",
     "description": "Replaces all the deals in the order with the passed in deals",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The orderId to edit deals on.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "request": {
      "$ref": "EditAllOrderDealsRequest"
     },
     "response": {
      "$ref": "EditAllOrderDealsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "marketplacenotes": {
   "methods": {
    "insert": {
     "id": "adexchangebuyer.marketplacenotes.insert",
     "path": "marketplaceOrders/{orderId}/notes/insert",
     "httpMethod": "POST",
     "description": "Add notes to the order",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The orderId to add notes for.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "request": {
      "$ref": "AddOrderNotesRequest"
     },
     "response": {
      "$ref": "AddOrderNotesResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.marketplacenotes.list",
     "path": "marketplaceOrders/{orderId}/notes",
     "httpMethod": "GET",
     "description": "Get all the notes associated with an order",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The orderId to get notes for.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "response": {
      "$ref": "GetOrderNotesResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "marketplaceoffers": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.marketplaceoffers.get",
     "path": "marketplaceOffers/{offerId}",
     "httpMethod": "GET",
     "description": "Gets the requested negotiation.",
     "parameters": {
      "offerId": {
       "type": "string",
       "description": "The offerId for the offer to get the head revision for.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "offerId"
     ],
     "response": {
      "$ref": "MarketplaceOffer"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "search": {
     "id": "adexchangebuyer.marketplaceoffers.search",
     "path": "marketplaceOffers/search",
     "httpMethod": "GET",
     "description": "Gets the requested negotiation.",
     "parameters": {
      "pqlQuery": {
       "type": "string",
       "description": "The pql query used to query for offers.",
       "location": "query"
      }
     },
     "response": {
      "$ref": "GetOffersResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "marketplaceorders": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.marketplaceorders.get",
     "path": "marketplaceOrders/{orderId}",
     "httpMethod": "GET",
     "description": "Get an order given its id",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "Id of the order to retrieve.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId"
     ],
     "response": {
      "$ref": "MarketplaceOrder"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "insert": {
     "id": "adexchangebuyer.marketplaceorders.insert",
     "path": "marketplaceOrders/insert",
     "httpMethod": "POST",
     "description": "Create the given list of orders",
     "request": {
      "$ref": "CreateOrdersRequest"
     },
     "response": {
      "$ref": "CreateOrdersResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "patch": {
     "id": "adexchangebuyer.marketplaceorders.patch",
     "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}",
     "httpMethod": "PATCH",
     "description": "Update the given order. This method supports patch semantics.",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The order id to update.",
       "required": true,
       "location": "path"
      },
      "revisionNumber": {
       "type": "string",
       "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the lastest order at head revision and retry the update at that revision.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "updateAction": {
       "type": "string",
       "description": "The proposed action to take on the order.",
       "required": true,
       "enum": [
        "accept",
        "cancel",
        "propose",
        "unknownAction",
        "updateFinalized"
       ],
       "enumDescriptions": [
        "",
        "",
        "",
        "",
        ""
       ],
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId",
      "revisionNumber",
      "updateAction"
     ],
     "request": {
      "$ref": "MarketplaceOrder"
     },
     "response": {
      "$ref": "MarketplaceOrder"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "search": {
     "id": "adexchangebuyer.marketplaceorders.search",
     "path": "marketplaceOrders/search",
     "httpMethod": "GET",
     "description": "Search for orders using pql query",
     "parameters": {
      "pqlQuery": {
       "type": "string",
       "description": "Query string to retrieve specific orders.",
       "location": "query"
      }
     },
     "response": {
      "$ref": "GetOrdersResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "update": {
     "id": "adexchangebuyer.marketplaceorders.update",
     "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}",
     "httpMethod": "PUT",
     "description": "Update the given order",
     "parameters": {
      "orderId": {
       "type": "string",
       "description": "The order id to update.",
       "required": true,
       "location": "path"
      },
      "revisionNumber": {
       "type": "string",
       "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the lastest order at head revision and retry the update at that revision.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "updateAction": {
       "type": "string",
       "description": "The proposed action to take on the order.",
       "required": true,
       "enum": [
        "accept",
        "cancel",
        "propose",
        "unknownAction",
        "updateFinalized"
       ],
       "enumDescriptions": [
        "",
        "",
        "",
        "",
        ""
       ],
       "location": "path"
      }
     },
     "parameterOrder": [
      "orderId",
      "revisionNumber",
      "updateAction"
     ],
     "request": {
      "$ref": "MarketplaceOrder"
     },
     "response": {
      "$ref": "MarketplaceOrder"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "negotiationrounds": {
   "methods": {
    "insert": {
     "id": "adexchangebuyer.negotiationrounds.insert",
     "path": "negotiations/{negotiationId}/negotiationrounds",
     "httpMethod": "POST",
     "description": "Adds the requested negotiationRound to the requested negotiation.",
     "parameters": {
      "negotiationId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "negotiationId"
     ],
     "request": {
      "$ref": "NegotiationRoundDto"
     },
     "response": {
      "$ref": "NegotiationRoundDto"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "negotiations": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.negotiations.get",
     "path": "negotiations/{negotiationId}",
     "httpMethod": "GET",
     "description": "Gets the requested negotiation.",
     "parameters": {
      "negotiationId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "negotiationId"
     ],
     "request": {
      "$ref": "GetNegotiationByIdRequest"
     },
     "response": {
      "$ref": "NegotiationDto"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "insert": {
     "id": "adexchangebuyer.negotiations.insert",
     "path": "negotiations",
     "httpMethod": "POST",
     "description": "Creates or updates the requested negotiation.",
     "request": {
      "$ref": "NegotiationDto"
     },
     "response": {
      "$ref": "NegotiationDto"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.negotiations.list",
     "path": "negotiations",
     "httpMethod": "GET",
     "description": "Lists all negotiations the authenticated user has access to.",
     "request": {
      "$ref": "GetNegotiationsRequest"
     },
     "response": {
      "$ref": "GetNegotiationsResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "offers": {
   "methods": {
    "get": {
     "id": "adexchangebuyer.offers.get",
     "path": "offers/{offerId}",
     "httpMethod": "GET",
     "description": "Gets the requested offer.",
     "parameters": {
      "offerId": {
       "type": "string",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "offerId"
     ],
     "response": {
      "$ref": "OfferDto"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "insert": {
     "id": "adexchangebuyer.offers.insert",
     "path": "offers",
     "httpMethod": "POST",
     "description": "Creates or updates the requested offer.",
     "request": {
      "$ref": "OfferDto"
     },
     "response": {
      "$ref": "OfferDto"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.offers.list",
     "path": "offers",
     "httpMethod": "GET",
     "description": "Lists all offers the authenticated user has access to.",
     "request": {
      "$ref": "ListOffersRequest"
     },
     "response": {
      "$ref": "ListOffersResponse"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "performanceReport": {
   "methods": {
    "list": {
     "id": "adexchangebuyer.performanceReport.list",
     "path": "performancereport",
     "httpMethod": "GET",
     "description": "Retrieves the authenticated user's list of performance metrics.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to get the reports.",
       "required": true,
       "format": "int64",
       "location": "query"
      },
      "endDateTime": {
       "type": "string",
       "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
       "required": true,
       "location": "query"
      },
      "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 performance reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.",
       "location": "query"
      },
      "startDateTime": {
       "type": "string",
       "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
       "required": true,
       "location": "query"
      }
     },
     "parameterOrder": [
      "accountId",
      "endDateTime",
      "startDateTime"
     ],
     "response": {
      "$ref": "PerformanceReportList"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  },
  "pretargetingConfig": {
   "methods": {
    "delete": {
     "id": "adexchangebuyer.pretargetingConfig.delete",
     "path": "pretargetingconfigs/{accountId}/{configId}",
     "httpMethod": "DELETE",
     "description": "Deletes an existing pretargeting config.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to delete the pretargeting config for.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "configId": {
       "type": "string",
       "description": "The specific id of the configuration to delete.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "configId"
     ],
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "get": {
     "id": "adexchangebuyer.pretargetingConfig.get",
     "path": "pretargetingconfigs/{accountId}/{configId}",
     "httpMethod": "GET",
     "description": "Gets a specific pretargeting configuration",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to get the pretargeting config for.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "configId": {
       "type": "string",
       "description": "The specific id of the configuration to retrieve.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "configId"
     ],
     "response": {
      "$ref": "PretargetingConfig"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "insert": {
     "id": "adexchangebuyer.pretargetingConfig.insert",
     "path": "pretargetingconfigs/{accountId}",
     "httpMethod": "POST",
     "description": "Inserts a new pretargeting configuration.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to insert the pretargeting config for.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId"
     ],
     "request": {
      "$ref": "PretargetingConfig"
     },
     "response": {
      "$ref": "PretargetingConfig"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "list": {
     "id": "adexchangebuyer.pretargetingConfig.list",
     "path": "pretargetingconfigs/{accountId}",
     "httpMethod": "GET",
     "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to get the pretargeting configs for.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId"
     ],
     "response": {
      "$ref": "PretargetingConfigList"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "patch": {
     "id": "adexchangebuyer.pretargetingConfig.patch",
     "path": "pretargetingconfigs/{accountId}/{configId}",
     "httpMethod": "PATCH",
     "description": "Updates an existing pretargeting config. This method supports patch semantics.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to update the pretargeting config for.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "configId": {
       "type": "string",
       "description": "The specific id of the configuration to update.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "configId"
     ],
     "request": {
      "$ref": "PretargetingConfig"
     },
     "response": {
      "$ref": "PretargetingConfig"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    },
    "update": {
     "id": "adexchangebuyer.pretargetingConfig.update",
     "path": "pretargetingconfigs/{accountId}/{configId}",
     "httpMethod": "PUT",
     "description": "Updates an existing pretargeting config.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "The account id to update the pretargeting config for.",
       "required": true,
       "format": "int64",
       "location": "path"
      },
      "configId": {
       "type": "string",
       "description": "The specific id of the configuration to update.",
       "required": true,
       "format": "int64",
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId",
      "configId"
     ],
     "request": {
      "$ref": "PretargetingConfig"
     },
     "response": {
      "$ref": "PretargetingConfig"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.buyer"
     ]
    }
   }
  }
 }
}
