{
 "kind": "discovery#restDescription",
 "etag": "\"l66ggWbucbkBw9Lpos72oziyefE/bvnF85P9HIPu8hR1Sfna3m8gr_s\"",
 "discoveryVersion": "v1",
 "id": "adexchangeseller:v2.0",
 "name": "adexchangeseller",
 "canonicalName": "Ad Exchange Seller",
 "version": "v2.0",
 "revision": "20141105",
 "title": "Ad Exchange Seller API",
 "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate 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/seller-rest/",
 "protocol": "rest",
 "baseUrl": "https://www.googleapis.com/adexchangeseller/v2.0/",
 "basePath": "/adexchangeseller/v2.0/",
 "rootUrl": "https://www.googleapis.com/",
 "servicePath": "adexchangeseller/v2.0/",
 "batchPath": "batch",
 "parameters": {
  "alt": {
   "type": "string",
   "description": "Data format for the response.",
   "default": "json",
   "enum": [
    "csv",
    "json"
   ],
   "enumDescriptions": [
    "Responses with Content-Type of text/csv",
    "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.seller": {
     "description": "View and manage your Ad Exchange data"
    },
    "https://www.googleapis.com/auth/adexchange.seller.readonly": {
     "description": "View your Ad Exchange data"
    }
   }
  }
 },
 "schemas": {
  "Account": {
   "id": "Account",
   "type": "object",
   "properties": {
    "id": {
     "type": "string",
     "description": "Unique identifier of this account."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#account.",
     "default": "adexchangeseller#account"
    },
    "name": {
     "type": "string",
     "description": "Name of this account."
    }
   }
  },
  "Accounts": {
   "id": "Accounts",
   "type": "object",
   "properties": {
    "etag": {
     "type": "string",
     "description": "ETag of this response for caching purposes."
    },
    "items": {
     "type": "array",
     "description": "The accounts returned in this list response.",
     "items": {
      "$ref": "Account"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#accounts.",
     "default": "adexchangeseller#accounts"
    },
    "nextPageToken": {
     "type": "string",
     "description": "Continuation token used to page through accounts. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
    }
   }
  },
  "AdClient": {
   "id": "AdClient",
   "type": "object",
   "properties": {
    "arcOptIn": {
     "type": "boolean",
     "description": "Whether this ad client is opted in to ARC."
    },
    "id": {
     "type": "string",
     "description": "Unique identifier of this ad client."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#adClient.",
     "default": "adexchangeseller#adClient"
    },
    "productCode": {
     "type": "string",
     "description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension."
    },
    "supportsReporting": {
     "type": "boolean",
     "description": "Whether this ad client supports being reported on."
    }
   }
  },
  "AdClients": {
   "id": "AdClients",
   "type": "object",
   "properties": {
    "etag": {
     "type": "string",
     "description": "ETag of this response for caching purposes."
    },
    "items": {
     "type": "array",
     "description": "The ad clients returned in this list response.",
     "items": {
      "$ref": "AdClient"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#adClients.",
     "default": "adexchangeseller#adClients"
    },
    "nextPageToken": {
     "type": "string",
     "description": "Continuation token used to page through ad clients. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
    }
   }
  },
  "Alert": {
   "id": "Alert",
   "type": "object",
   "properties": {
    "id": {
     "type": "string",
     "description": "Unique identifier of this alert. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#alert.",
     "default": "adexchangeseller#alert"
    },
    "message": {
     "type": "string",
     "description": "The localized alert message."
    },
    "severity": {
     "type": "string",
     "description": "Severity of this alert. Possible values: INFO, WARNING, SEVERE."
    },
    "type": {
     "type": "string",
     "description": "Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD."
    }
   }
  },
  "Alerts": {
   "id": "Alerts",
   "type": "object",
   "properties": {
    "items": {
     "type": "array",
     "description": "The alerts returned in this list response.",
     "items": {
      "$ref": "Alert"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#alerts.",
     "default": "adexchangeseller#alerts"
    }
   }
  },
  "CustomChannel": {
   "id": "CustomChannel",
   "type": "object",
   "properties": {
    "code": {
     "type": "string",
     "description": "Code of this custom channel, not necessarily unique across ad clients."
    },
    "id": {
     "type": "string",
     "description": "Unique identifier of this custom channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#customChannel.",
     "default": "adexchangeseller#customChannel"
    },
    "name": {
     "type": "string",
     "description": "Name of this custom channel."
    },
    "targetingInfo": {
     "type": "object",
     "description": "The targeting information of this custom channel, if activated.",
     "properties": {
      "adsAppearOn": {
       "type": "string",
       "description": "The name used to describe this channel externally."
      },
      "description": {
       "type": "string",
       "description": "The external description of the channel."
      },
      "location": {
       "type": "string",
       "description": "The locations in which ads appear. (Only valid for content and mobile content ads). Acceptable values for content ads are: TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT, MULTIPLE_LOCATIONS. Acceptable values for mobile content ads are: TOP, MIDDLE, BOTTOM, MULTIPLE_LOCATIONS."
      },
      "siteLanguage": {
       "type": "string",
       "description": "The language of the sites ads will be displayed on."
      }
     }
    }
   }
  },
  "CustomChannels": {
   "id": "CustomChannels",
   "type": "object",
   "properties": {
    "etag": {
     "type": "string",
     "description": "ETag of this response for caching purposes."
    },
    "items": {
     "type": "array",
     "description": "The custom channels returned in this list response.",
     "items": {
      "$ref": "CustomChannel"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#customChannels.",
     "default": "adexchangeseller#customChannels"
    },
    "nextPageToken": {
     "type": "string",
     "description": "Continuation token used to page through custom channels. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
    }
   }
  },
  "Metadata": {
   "id": "Metadata",
   "type": "object",
   "properties": {
    "items": {
     "type": "array",
     "items": {
      "$ref": "ReportingMetadataEntry"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#metadata.",
     "default": "adexchangeseller#metadata"
    }
   }
  },
  "PreferredDeal": {
   "id": "PreferredDeal",
   "type": "object",
   "properties": {
    "advertiserName": {
     "type": "string",
     "description": "The name of the advertiser this deal is for."
    },
    "buyerNetworkName": {
     "type": "string",
     "description": "The name of the buyer network this deal is for."
    },
    "currencyCode": {
     "type": "string",
     "description": "The currency code that applies to the fixed_cpm value. If not set then assumed to be USD."
    },
    "endTime": {
     "type": "string",
     "description": "Time when this deal stops being active in seconds since the epoch (GMT). If not set then this deal is valid until manually disabled by the publisher.",
     "format": "uint64"
    },
    "fixedCpm": {
     "type": "string",
     "description": "The fixed price for this preferred deal. In cpm micros of currency according to currencyCode. If set, then this preferred deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).",
     "format": "int64"
    },
    "id": {
     "type": "string",
     "description": "Unique identifier of this preferred deal.",
     "format": "int64"
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#preferredDeal.",
     "default": "adexchangeseller#preferredDeal"
    },
    "startTime": {
     "type": "string",
     "description": "Time when this deal becomes active in seconds since the epoch (GMT). If not set then this deal is active immediately upon creation.",
     "format": "uint64"
    }
   }
  },
  "PreferredDeals": {
   "id": "PreferredDeals",
   "type": "object",
   "properties": {
    "items": {
     "type": "array",
     "description": "The preferred deals returned in this list response.",
     "items": {
      "$ref": "PreferredDeal"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#preferredDeals.",
     "default": "adexchangeseller#preferredDeals"
    }
   }
  },
  "Report": {
   "id": "Report",
   "type": "object",
   "properties": {
    "averages": {
     "type": "array",
     "description": "The averages of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.",
     "items": {
      "type": "string"
     }
    },
    "headers": {
     "type": "array",
     "description": "The header information of the columns requested in the report. This is a list of headers; one for each dimension in the request, followed by one for each metric in the request.",
     "items": {
      "type": "object",
      "properties": {
       "currency": {
        "type": "string",
        "description": "The currency of this column. Only present if the header type is METRIC_CURRENCY."
       },
       "name": {
        "type": "string",
        "description": "The name of the header."
       },
       "type": {
        "type": "string",
        "description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY."
       }
      }
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind this is, in this case adexchangeseller#report.",
     "default": "adexchangeseller#report"
    },
    "rows": {
     "type": "array",
     "description": "The output rows of the report. Each row is a list of cells; one for each dimension in the request, followed by one for each metric in the request. The dimension cells contain strings, and the metric cells contain numbers.",
     "items": {
      "type": "array",
      "items": {
       "type": "string"
      }
     }
    },
    "totalMatchedRows": {
     "type": "string",
     "description": "The total number of rows matched by the report request. Fewer rows may be returned in the response due to being limited by the row count requested or the report row limit.",
     "format": "int64"
    },
    "totals": {
     "type": "array",
     "description": "The totals of the report. This is the same length as any other row in the report; cells corresponding to dimension columns are empty.",
     "items": {
      "type": "string"
     }
    },
    "warnings": {
     "type": "array",
     "description": "Any warnings associated with generation of the report.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "ReportingMetadataEntry": {
   "id": "ReportingMetadataEntry",
   "type": "object",
   "properties": {
    "compatibleDimensions": {
     "type": "array",
     "description": "For metrics this is a list of dimension IDs which the metric is compatible with, for dimensions it is a list of compatibility groups the dimension belongs to.",
     "items": {
      "type": "string"
     }
    },
    "compatibleMetrics": {
     "type": "array",
     "description": "The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.",
     "items": {
      "type": "string"
     }
    },
    "id": {
     "type": "string",
     "description": "Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#reportingMetadataEntry.",
     "default": "adexchangeseller#reportingMetadataEntry"
    },
    "requiredDimensions": {
     "type": "array",
     "description": "The names of the dimensions which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.",
     "items": {
      "type": "string"
     }
    },
    "requiredMetrics": {
     "type": "array",
     "description": "The names of the metrics which the dimension or metric this reporting metadata entry describes requires to also be present in order for the report to be valid. Omitting these will not cause an error or warning, but may result in data which cannot be correctly interpreted.",
     "items": {
      "type": "string"
     }
    },
    "supportedProducts": {
     "type": "array",
     "description": "The codes of the projects supported by the dimension or metric this reporting metadata entry describes.",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "SavedReport": {
   "id": "SavedReport",
   "type": "object",
   "properties": {
    "id": {
     "type": "string",
     "description": "Unique identifier of this saved report."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#savedReport.",
     "default": "adexchangeseller#savedReport"
    },
    "name": {
     "type": "string",
     "description": "This saved report's name."
    }
   }
  },
  "SavedReports": {
   "id": "SavedReports",
   "type": "object",
   "properties": {
    "etag": {
     "type": "string",
     "description": "ETag of this response for caching purposes."
    },
    "items": {
     "type": "array",
     "description": "The saved reports returned in this list response.",
     "items": {
      "$ref": "SavedReport"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#savedReports.",
     "default": "adexchangeseller#savedReports"
    },
    "nextPageToken": {
     "type": "string",
     "description": "Continuation token used to page through saved reports. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
    }
   }
  },
  "UrlChannel": {
   "id": "UrlChannel",
   "type": "object",
   "properties": {
    "id": {
     "type": "string",
     "description": "Unique identifier of this URL channel. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
    },
    "kind": {
     "type": "string",
     "description": "Kind of resource this is, in this case adexchangeseller#urlChannel.",
     "default": "adexchangeseller#urlChannel"
    },
    "urlPattern": {
     "type": "string",
     "description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home"
    }
   }
  },
  "UrlChannels": {
   "id": "UrlChannels",
   "type": "object",
   "properties": {
    "etag": {
     "type": "string",
     "description": "ETag of this response for caching purposes."
    },
    "items": {
     "type": "array",
     "description": "The URL channels returned in this list response.",
     "items": {
      "$ref": "UrlChannel"
     }
    },
    "kind": {
     "type": "string",
     "description": "Kind of list this is, in this case adexchangeseller#urlChannels.",
     "default": "adexchangeseller#urlChannels"
    },
    "nextPageToken": {
     "type": "string",
     "description": "Continuation token used to page through URL channels. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
    }
   }
  }
 },
 "resources": {
  "accounts": {
   "methods": {
    "get": {
     "id": "adexchangeseller.accounts.get",
     "path": "accounts/{accountId}",
     "httpMethod": "GET",
     "description": "Get information about the selected Ad Exchange account.",
     "parameters": {
      "accountId": {
       "type": "string",
       "description": "Account to get information about. Tip: 'myaccount' is a valid ID.",
       "required": true,
       "location": "path"
      }
     },
     "parameterOrder": [
      "accountId"
     ],
     "response": {
      "$ref": "Account"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.seller",
      "https://www.googleapis.com/auth/adexchange.seller.readonly"
     ]
    },
    "list": {
     "id": "adexchangeseller.accounts.list",
     "path": "accounts",
     "httpMethod": "GET",
     "description": "List all accounts available to this Ad Exchange account.",
     "parameters": {
      "maxResults": {
       "type": "integer",
       "description": "The maximum number of accounts to include in the response, used for paging.",
       "format": "int32",
       "minimum": "0",
       "maximum": "10000",
       "location": "query"
      },
      "pageToken": {
       "type": "string",
       "description": "A continuation token, used to page through accounts. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
       "location": "query"
      }
     },
     "response": {
      "$ref": "Accounts"
     },
     "scopes": [
      "https://www.googleapis.com/auth/adexchange.seller",
      "https://www.googleapis.com/auth/adexchange.seller.readonly"
     ]
    }
   },
   "resources": {
    "adclients": {
     "methods": {
      "list": {
       "id": "adexchangeseller.accounts.adclients.list",
       "path": "accounts/{accountId}/adclients",
       "httpMethod": "GET",
       "description": "List all ad clients in this Ad Exchange account.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account to which the ad client belongs.",
         "required": true,
         "location": "path"
        },
        "maxResults": {
         "type": "integer",
         "description": "The maximum number of ad clients to include in the response, used for paging.",
         "format": "uint32",
         "minimum": "0",
         "maximum": "10000",
         "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.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "accountId"
       ],
       "response": {
        "$ref": "AdClients"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      }
     }
    },
    "alerts": {
     "methods": {
      "list": {
       "id": "adexchangeseller.accounts.alerts.list",
       "path": "accounts/{accountId}/alerts",
       "httpMethod": "GET",
       "description": "List the alerts for this Ad Exchange account.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account owning the alerts.",
         "required": true,
         "location": "path"
        },
        "locale": {
         "type": "string",
         "description": "The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "accountId"
       ],
       "response": {
        "$ref": "Alerts"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      }
     }
    },
    "customchannels": {
     "methods": {
      "get": {
       "id": "adexchangeseller.accounts.customchannels.get",
       "path": "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}",
       "httpMethod": "GET",
       "description": "Get the specified custom channel from the specified ad client.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account to which the ad client belongs.",
         "required": true,
         "location": "path"
        },
        "adClientId": {
         "type": "string",
         "description": "Ad client which contains the custom channel.",
         "required": true,
         "location": "path"
        },
        "customChannelId": {
         "type": "string",
         "description": "Custom channel to retrieve.",
         "required": true,
         "location": "path"
        }
       },
       "parameterOrder": [
        "accountId",
        "adClientId",
        "customChannelId"
       ],
       "response": {
        "$ref": "CustomChannel"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      },
      "list": {
       "id": "adexchangeseller.accounts.customchannels.list",
       "path": "accounts/{accountId}/adclients/{adClientId}/customchannels",
       "httpMethod": "GET",
       "description": "List all custom channels in the specified ad client for this Ad Exchange account.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account to which the ad client belongs.",
         "required": true,
         "location": "path"
        },
        "adClientId": {
         "type": "string",
         "description": "Ad client for which to list custom channels.",
         "required": true,
         "location": "path"
        },
        "maxResults": {
         "type": "integer",
         "description": "The maximum number of custom channels to include in the response, used for paging.",
         "format": "uint32",
         "minimum": "0",
         "maximum": "10000",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "accountId",
        "adClientId"
       ],
       "response": {
        "$ref": "CustomChannels"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      }
     }
    },
    "metadata": {
     "resources": {
      "dimensions": {
       "methods": {
        "list": {
         "id": "adexchangeseller.accounts.metadata.dimensions.list",
         "path": "accounts/{accountId}/metadata/dimensions",
         "httpMethod": "GET",
         "description": "List the metadata for the dimensions available to this AdExchange account.",
         "parameters": {
          "accountId": {
           "type": "string",
           "description": "Account with visibility to the dimensions.",
           "required": true,
           "location": "path"
          }
         },
         "parameterOrder": [
          "accountId"
         ],
         "response": {
          "$ref": "Metadata"
         },
         "scopes": [
          "https://www.googleapis.com/auth/adexchange.seller",
          "https://www.googleapis.com/auth/adexchange.seller.readonly"
         ]
        }
       }
      },
      "metrics": {
       "methods": {
        "list": {
         "id": "adexchangeseller.accounts.metadata.metrics.list",
         "path": "accounts/{accountId}/metadata/metrics",
         "httpMethod": "GET",
         "description": "List the metadata for the metrics available to this AdExchange account.",
         "parameters": {
          "accountId": {
           "type": "string",
           "description": "Account with visibility to the metrics.",
           "required": true,
           "location": "path"
          }
         },
         "parameterOrder": [
          "accountId"
         ],
         "response": {
          "$ref": "Metadata"
         },
         "scopes": [
          "https://www.googleapis.com/auth/adexchange.seller",
          "https://www.googleapis.com/auth/adexchange.seller.readonly"
         ]
        }
       }
      }
     }
    },
    "preferreddeals": {
     "methods": {
      "get": {
       "id": "adexchangeseller.accounts.preferreddeals.get",
       "path": "accounts/{accountId}/preferreddeals/{dealId}",
       "httpMethod": "GET",
       "description": "Get information about the selected Ad Exchange Preferred Deal.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account owning the deal.",
         "required": true,
         "location": "path"
        },
        "dealId": {
         "type": "string",
         "description": "Preferred deal to get information about.",
         "required": true,
         "location": "path"
        }
       },
       "parameterOrder": [
        "accountId",
        "dealId"
       ],
       "response": {
        "$ref": "PreferredDeal"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      },
      "list": {
       "id": "adexchangeseller.accounts.preferreddeals.list",
       "path": "accounts/{accountId}/preferreddeals",
       "httpMethod": "GET",
       "description": "List the preferred deals for this Ad Exchange account.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account owning the deals.",
         "required": true,
         "location": "path"
        }
       },
       "parameterOrder": [
        "accountId"
       ],
       "response": {
        "$ref": "PreferredDeals"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      }
     }
    },
    "reports": {
     "methods": {
      "generate": {
       "id": "adexchangeseller.accounts.reports.generate",
       "path": "accounts/{accountId}/reports",
       "httpMethod": "GET",
       "description": "Generate an Ad Exchange report based on the report request sent in the query parameters. Returns the result as JSON; to retrieve output in CSV format specify \"alt=csv\" as a query parameter.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account which owns the generated report.",
         "required": true,
         "location": "path"
        },
        "dimension": {
         "type": "string",
         "description": "Dimensions to base the report on.",
         "pattern": "[a-zA-Z_]+",
         "repeated": true,
         "location": "query"
        },
        "endDate": {
         "type": "string",
         "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
         "required": true,
         "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
         "location": "query"
        },
        "filter": {
         "type": "string",
         "description": "Filters to be run on the report.",
         "pattern": "[a-zA-Z_]+(==|=@).+",
         "repeated": true,
         "location": "query"
        },
        "locale": {
         "type": "string",
         "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
         "pattern": "[a-zA-Z_]+",
         "location": "query"
        },
        "maxResults": {
         "type": "integer",
         "description": "The maximum number of rows of report data to return.",
         "format": "uint32",
         "minimum": "0",
         "maximum": "50000",
         "location": "query"
        },
        "metric": {
         "type": "string",
         "description": "Numeric columns to include in the report.",
         "pattern": "[a-zA-Z_]+",
         "repeated": true,
         "location": "query"
        },
        "sort": {
         "type": "string",
         "description": "The name of a dimension or metric to sort the resulting report on, optionally prefixed with \"+\" to sort ascending or \"-\" to sort descending. If no prefix is specified, the column is sorted ascending.",
         "pattern": "(\\+|-)?[a-zA-Z_]+",
         "repeated": true,
         "location": "query"
        },
        "startDate": {
         "type": "string",
         "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
         "required": true,
         "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
         "location": "query"
        },
        "startIndex": {
         "type": "integer",
         "description": "Index of the first row of report data to return.",
         "format": "uint32",
         "minimum": "0",
         "maximum": "5000",
         "location": "query"
        }
       },
       "parameterOrder": [
        "accountId",
        "startDate",
        "endDate"
       ],
       "response": {
        "$ref": "Report"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ],
       "supportsMediaDownload": true
      }
     },
     "resources": {
      "saved": {
       "methods": {
        "generate": {
         "id": "adexchangeseller.accounts.reports.saved.generate",
         "path": "accounts/{accountId}/reports/{savedReportId}",
         "httpMethod": "GET",
         "description": "Generate an Ad Exchange report based on the saved report ID sent in the query parameters.",
         "parameters": {
          "accountId": {
           "type": "string",
           "description": "Account owning the saved report.",
           "required": true,
           "location": "path"
          },
          "locale": {
           "type": "string",
           "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
           "pattern": "[a-zA-Z_]+",
           "location": "query"
          },
          "maxResults": {
           "type": "integer",
           "description": "The maximum number of rows of report data to return.",
           "format": "int32",
           "minimum": "0",
           "maximum": "50000",
           "location": "query"
          },
          "savedReportId": {
           "type": "string",
           "description": "The saved report to retrieve.",
           "required": true,
           "location": "path"
          },
          "startIndex": {
           "type": "integer",
           "description": "Index of the first row of report data to return.",
           "format": "int32",
           "minimum": "0",
           "maximum": "5000",
           "location": "query"
          }
         },
         "parameterOrder": [
          "accountId",
          "savedReportId"
         ],
         "response": {
          "$ref": "Report"
         },
         "scopes": [
          "https://www.googleapis.com/auth/adexchange.seller",
          "https://www.googleapis.com/auth/adexchange.seller.readonly"
         ]
        },
        "list": {
         "id": "adexchangeseller.accounts.reports.saved.list",
         "path": "accounts/{accountId}/reports/saved",
         "httpMethod": "GET",
         "description": "List all saved reports in this Ad Exchange account.",
         "parameters": {
          "accountId": {
           "type": "string",
           "description": "Account owning the saved reports.",
           "required": true,
           "location": "path"
          },
          "maxResults": {
           "type": "integer",
           "description": "The maximum number of saved reports to include in the response, used for paging.",
           "format": "int32",
           "minimum": "0",
           "maximum": "100",
           "location": "query"
          },
          "pageToken": {
           "type": "string",
           "description": "A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
           "location": "query"
          }
         },
         "parameterOrder": [
          "accountId"
         ],
         "response": {
          "$ref": "SavedReports"
         },
         "scopes": [
          "https://www.googleapis.com/auth/adexchange.seller",
          "https://www.googleapis.com/auth/adexchange.seller.readonly"
         ]
        }
       }
      }
     }
    },
    "urlchannels": {
     "methods": {
      "list": {
       "id": "adexchangeseller.accounts.urlchannels.list",
       "path": "accounts/{accountId}/adclients/{adClientId}/urlchannels",
       "httpMethod": "GET",
       "description": "List all URL channels in the specified ad client for this Ad Exchange account.",
       "parameters": {
        "accountId": {
         "type": "string",
         "description": "Account to which the ad client belongs.",
         "required": true,
         "location": "path"
        },
        "adClientId": {
         "type": "string",
         "description": "Ad client for which to list URL channels.",
         "required": true,
         "location": "path"
        },
        "maxResults": {
         "type": "integer",
         "description": "The maximum number of URL channels to include in the response, used for paging.",
         "format": "uint32",
         "minimum": "0",
         "maximum": "10000",
         "location": "query"
        },
        "pageToken": {
         "type": "string",
         "description": "A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
         "location": "query"
        }
       },
       "parameterOrder": [
        "accountId",
        "adClientId"
       ],
       "response": {
        "$ref": "UrlChannels"
       },
       "scopes": [
        "https://www.googleapis.com/auth/adexchange.seller",
        "https://www.googleapis.com/auth/adexchange.seller.readonly"
       ]
      }
     }
    }
   }
  }
 }
}
