on develop help sign in
Adding service definitions
6376dfaBrendan Hay
gen/model/adexchangebuyer/adexchangebuyer/v1.2/adexchangebuyer-api.jsonnew file+596
@@ -0,0 +1,596 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/NUnz0H_oWow0qcTRC55iG-5RpbM\"",
4+ "discoveryVersion": "v1",
5+ "id": "adexchangebuyer:v1.2",
6+ "name": "adexchangebuyer",
7+ "canonicalName": "Ad Exchange Buyer",
8+ "version": "v1.2",
9+ "revision": "20150909",
10+ "title": "Ad Exchange Buyer API",
11+ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17+ },
18+ "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.2/",
21+ "basePath": "/adexchangebuyer/v1.2/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adexchangebuyer/v1.2/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "json"
32+ ],
33+ "enumDescriptions": [
34+ "Responses with Content-Type of application/json"
35+ ],
36+ "location": "query"
37+ },
38+ "fields": {
39+ "type": "string",
40+ "description": "Selector specifying which fields to include in a partial response.",
41+ "location": "query"
42+ },
43+ "key": {
44+ "type": "string",
45+ "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.",
46+ "location": "query"
47+ },
48+ "oauth_token": {
49+ "type": "string",
50+ "description": "OAuth 2.0 token for the current user.",
51+ "location": "query"
52+ },
53+ "prettyPrint": {
54+ "type": "boolean",
55+ "description": "Returns response with indentations and line breaks.",
56+ "default": "true",
57+ "location": "query"
58+ },
59+ "quotaUser": {
60+ "type": "string",
61+ "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.",
62+ "location": "query"
63+ },
64+ "userIp": {
65+ "type": "string",
66+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
67+ "location": "query"
68+ }
69+ },
70+ "auth": {
71+ "oauth2": {
72+ "scopes": {
73+ "https://www.googleapis.com/auth/adexchange.buyer": {
74+ "description": "Manage your Ad Exchange buyer account configuration"
75+ }
76+ }
77+ }
78+ },
79+ "schemas": {
80+ "Account": {
81+ "id": "Account",
82+ "type": "object",
83+ "description": "Configuration data for an Ad Exchange buyer account.",
84+ "properties": {
85+ "bidderLocation": {
86+ "type": "array",
87+ "description": "Your bidder locations that have distinct URLs.",
88+ "items": {
89+ "type": "object",
90+ "properties": {
91+ "maximumQps": {
92+ "type": "integer",
93+ "description": "The maximum queries per second the Ad Exchange will send.",
94+ "format": "int32"
95+ },
96+ "region": {
97+ "type": "string",
98+ "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"
99+ },
100+ "url": {
101+ "type": "string",
102+ "description": "The URL to which the Ad Exchange will send bid requests."
103+ }
104+ }
105+ }
106+ },
107+ "cookieMatchingNid": {
108+ "type": "string",
109+ "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this."
110+ },
111+ "cookieMatchingUrl": {
112+ "type": "string",
113+ "description": "The base URL used in cookie match requests."
114+ },
115+ "id": {
116+ "type": "integer",
117+ "description": "Account id.",
118+ "format": "int32"
119+ },
120+ "kind": {
121+ "type": "string",
122+ "description": "Resource type.",
123+ "default": "adexchangebuyer#account"
124+ },
125+ "maximumActiveCreatives": {
126+ "type": "integer",
127+ "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.",
128+ "format": "int32"
129+ },
130+ "maximumTotalQps": {
131+ "type": "integer",
132+ "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
133+ "format": "int32"
134+ },
135+ "numberActiveCreatives": {
136+ "type": "integer",
137+ "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
138+ "format": "int32"
139+ }
140+ }
141+ },
142+ "AccountsList": {
143+ "id": "AccountsList",
144+ "type": "object",
145+ "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.",
146+ "properties": {
147+ "items": {
148+ "type": "array",
149+ "description": "A list of accounts.",
150+ "items": {
151+ "$ref": "Account"
152+ }
153+ },
154+ "kind": {
155+ "type": "string",
156+ "description": "Resource type.",
157+ "default": "adexchangebuyer#accountsList"
158+ }
159+ }
160+ },
161+ "Creative": {
162+ "id": "Creative",
163+ "type": "object",
164+ "description": "A creative and its classification data.",
165+ "properties": {
166+ "HTMLSnippet": {
167+ "type": "string",
168+ "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set."
169+ },
170+ "accountId": {
171+ "type": "integer",
172+ "description": "Account id.",
173+ "format": "int32",
174+ "annotations": {
175+ "required": [
176+ "adexchangebuyer.creatives.insert"
177+ ]
178+ }
179+ },
180+ "advertiserId": {
181+ "type": "array",
182+ "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
183+ "items": {
184+ "type": "string",
185+ "format": "int64"
186+ }
187+ },
188+ "advertiserName": {
189+ "type": "string",
190+ "description": "The name of the company being advertised in the creative.",
191+ "annotations": {
192+ "required": [
193+ "adexchangebuyer.creatives.insert"
194+ ]
195+ }
196+ },
197+ "agencyId": {
198+ "type": "string",
199+ "description": "The agency id for this creative.",
200+ "format": "int64"
201+ },
202+ "api_upload_timestamp": {
203+ "type": "string",
204+ "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).",
205+ "format": "date-time"
206+ },
207+ "attribute": {
208+ "type": "array",
209+ "description": "All attributes for the ads that may be shown from this snippet.",
210+ "items": {
211+ "type": "integer",
212+ "format": "int32"
213+ }
214+ },
215+ "buyerCreativeId": {
216+ "type": "string",
217+ "description": "A buyer-specific id identifying the creative in this ad.",
218+ "annotations": {
219+ "required": [
220+ "adexchangebuyer.creatives.insert"
221+ ]
222+ }
223+ },
224+ "clickThroughUrl": {
225+ "type": "array",
226+ "description": "The set of destination urls for the snippet.",
227+ "items": {
228+ "type": "string"
229+ },
230+ "annotations": {
231+ "required": [
232+ "adexchangebuyer.creatives.insert"
233+ ]
234+ }
235+ },
236+ "corrections": {
237+ "type": "array",
238+ "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
239+ "items": {
240+ "type": "object",
241+ "properties": {
242+ "details": {
243+ "type": "array",
244+ "description": "Additional details about the correction.",
245+ "items": {
246+ "type": "string"
247+ }
248+ },
249+ "reason": {
250+ "type": "string",
251+ "description": "The type of correction that was applied to the creative."
252+ }
253+ }
254+ }
255+ },
256+ "disapprovalReasons": {
257+ "type": "array",
258+ "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
259+ "items": {
260+ "type": "object",
261+ "properties": {
262+ "details": {
263+ "type": "array",
264+ "description": "Additional details about the reason for disapproval.",
265+ "items": {
266+ "type": "string"
267+ }
268+ },
269+ "reason": {
270+ "type": "string",
271+ "description": "The categorized reason for disapproval."
272+ }
273+ }
274+ }
275+ },
276+ "filteringReasons": {
277+ "type": "object",
278+ "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
279+ "properties": {
280+ "date": {
281+ "type": "string",
282+ "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST."
283+ },
284+ "reasons": {
285+ "type": "array",
286+ "description": "The filtering reasons.",
287+ "items": {
288+ "type": "object",
289+ "properties": {
290+ "filteringCount": {
291+ "type": "string",
292+ "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
293+ "format": "int64"
294+ },
295+ "filteringStatus": {
296+ "type": "integer",
297+ "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
298+ "format": "int32"
299+ }
300+ }
301+ }
302+ }
303+ }
304+ },
305+ "height": {
306+ "type": "integer",
307+ "description": "Ad height.",
308+ "format": "int32",
309+ "annotations": {
310+ "required": [
311+ "adexchangebuyer.creatives.insert"
312+ ]
313+ }
314+ },
315+ "impressionTrackingUrl": {
316+ "type": "array",
317+ "description": "The set of urls to be called to record an impression.",
318+ "items": {
319+ "type": "string"
320+ }
321+ },
322+ "kind": {
323+ "type": "string",
324+ "description": "Resource type.",
325+ "default": "adexchangebuyer#creative"
326+ },
327+ "productCategories": {
328+ "type": "array",
329+ "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
330+ "items": {
331+ "type": "integer",
332+ "format": "int32"
333+ }
334+ },
335+ "restrictedCategories": {
336+ "type": "array",
337+ "description": "All restricted categories for the ads that may be shown from this snippet.",
338+ "items": {
339+ "type": "integer",
340+ "format": "int32"
341+ }
342+ },
343+ "sensitiveCategories": {
344+ "type": "array",
345+ "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
346+ "items": {
347+ "type": "integer",
348+ "format": "int32"
349+ }
350+ },
351+ "status": {
352+ "type": "string",
353+ "description": "Creative serving status. Read-only. This field should not be set in requests."
354+ },
355+ "vendorType": {
356+ "type": "array",
357+ "description": "All vendor types for the ads that may be shown from this snippet.",
358+ "items": {
359+ "type": "integer",
360+ "format": "int32"
361+ }
362+ },
363+ "version": {
364+ "type": "integer",
365+ "description": "The version for this creative. Read-only. This field should not be set in requests.",
366+ "format": "int32"
367+ },
368+ "videoURL": {
369+ "type": "string",
370+ "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
371+ },
372+ "width": {
373+ "type": "integer",
374+ "description": "Ad width.",
375+ "format": "int32",
376+ "annotations": {
377+ "required": [
378+ "adexchangebuyer.creatives.insert"
379+ ]
380+ }
381+ }
382+ }
383+ },
384+ "CreativesList": {
385+ "id": "CreativesList",
386+ "type": "object",
387+ "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.",
388+ "properties": {
389+ "items": {
390+ "type": "array",
391+ "description": "A list of creatives.",
392+ "items": {
393+ "$ref": "Creative"
394+ }
395+ },
396+ "kind": {
397+ "type": "string",
398+ "description": "Resource type.",
399+ "default": "adexchangebuyer#creativesList"
400+ },
401+ "nextPageToken": {
402+ "type": "string",
403+ "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
404+ }
405+ }
406+ }
407+ },
408+ "resources": {
409+ "accounts": {
410+ "methods": {
411+ "get": {
412+ "id": "adexchangebuyer.accounts.get",
413+ "path": "accounts/{id}",
414+ "httpMethod": "GET",
415+ "description": "Gets one account by ID.",
416+ "parameters": {
417+ "id": {
418+ "type": "integer",
419+ "description": "The account id",
420+ "required": true,
421+ "format": "int32",
422+ "location": "path"
423+ }
424+ },
425+ "parameterOrder": [
426+ "id"
427+ ],
428+ "response": {
429+ "$ref": "Account"
430+ },
431+ "scopes": [
432+ "https://www.googleapis.com/auth/adexchange.buyer"
433+ ]
434+ },
435+ "list": {
436+ "id": "adexchangebuyer.accounts.list",
437+ "path": "accounts",
438+ "httpMethod": "GET",
439+ "description": "Retrieves the authenticated user's list of accounts.",
440+ "response": {
441+ "$ref": "AccountsList"
442+ },
443+ "scopes": [
444+ "https://www.googleapis.com/auth/adexchange.buyer"
445+ ]
446+ },
447+ "patch": {
448+ "id": "adexchangebuyer.accounts.patch",
449+ "path": "accounts/{id}",
450+ "httpMethod": "PATCH",
451+ "description": "Updates an existing account. This method supports patch semantics.",
452+ "parameters": {
453+ "id": {
454+ "type": "integer",
455+ "description": "The account id",
456+ "required": true,
457+ "format": "int32",
458+ "location": "path"
459+ }
460+ },
461+ "parameterOrder": [
462+ "id"
463+ ],
464+ "request": {
465+ "$ref": "Account"
466+ },
467+ "response": {
468+ "$ref": "Account"
469+ },
470+ "scopes": [
471+ "https://www.googleapis.com/auth/adexchange.buyer"
472+ ]
473+ },
474+ "update": {
475+ "id": "adexchangebuyer.accounts.update",
476+ "path": "accounts/{id}",
477+ "httpMethod": "PUT",
478+ "description": "Updates an existing account.",
479+ "parameters": {
480+ "id": {
481+ "type": "integer",
482+ "description": "The account id",
483+ "required": true,
484+ "format": "int32",
485+ "location": "path"
486+ }
487+ },
488+ "parameterOrder": [
489+ "id"
490+ ],
491+ "request": {
492+ "$ref": "Account"
493+ },
494+ "response": {
495+ "$ref": "Account"
496+ },
497+ "scopes": [
498+ "https://www.googleapis.com/auth/adexchange.buyer"
499+ ]
500+ }
501+ }
502+ },
503+ "creatives": {
504+ "methods": {
505+ "get": {
506+ "id": "adexchangebuyer.creatives.get",
507+ "path": "creatives/{accountId}/{buyerCreativeId}",
508+ "httpMethod": "GET",
509+ "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
510+ "parameters": {
511+ "accountId": {
512+ "type": "integer",
513+ "description": "The id for the account that will serve this creative.",
514+ "required": true,
515+ "format": "int32",
516+ "location": "path"
517+ },
518+ "buyerCreativeId": {
519+ "type": "string",
520+ "description": "The buyer-specific id for this creative.",
521+ "required": true,
522+ "location": "path"
523+ }
524+ },
525+ "parameterOrder": [
526+ "accountId",
527+ "buyerCreativeId"
528+ ],
529+ "response": {
530+ "$ref": "Creative"
531+ },
532+ "scopes": [
533+ "https://www.googleapis.com/auth/adexchange.buyer"
534+ ]
535+ },
536+ "insert": {
537+ "id": "adexchangebuyer.creatives.insert",
538+ "path": "creatives",
539+ "httpMethod": "POST",
540+ "description": "Submit a new creative.",
541+ "request": {
542+ "$ref": "Creative"
543+ },
544+ "response": {
545+ "$ref": "Creative"
546+ },
547+ "scopes": [
548+ "https://www.googleapis.com/auth/adexchange.buyer"
549+ ]
550+ },
551+ "list": {
552+ "id": "adexchangebuyer.creatives.list",
553+ "path": "creatives",
554+ "httpMethod": "GET",
555+ "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
556+ "parameters": {
557+ "maxResults": {
558+ "type": "integer",
559+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
560+ "format": "uint32",
561+ "minimum": "1",
562+ "maximum": "1000",
563+ "location": "query"
564+ },
565+ "pageToken": {
566+ "type": "string",
567+ "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.",
568+ "location": "query"
569+ },
570+ "statusFilter": {
571+ "type": "string",
572+ "description": "When specified, only creatives having the given status are returned.",
573+ "enum": [
574+ "approved",
575+ "disapproved",
576+ "not_checked"
577+ ],
578+ "enumDescriptions": [
579+ "Creatives which have been approved.",
580+ "Creatives which have been disapproved.",
581+ "Creatives whose status is not yet checked."
582+ ],
583+ "location": "query"
584+ }
585+ },
586+ "response": {
587+ "$ref": "CreativesList"
588+ },
589+ "scopes": [
590+ "https://www.googleapis.com/auth/adexchange.buyer"
591+ ]
592+ }
593+ }
594+ }
595+ }
596+}
gen/model/adexchangebuyer/adexchangebuyer/v1.3/adexchangebuyer-api.jsonnew file+1655
@@ -0,0 +1,1655 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/s43VGxh95gMJhn2XULgCPUEFl2w\"",
4+ "discoveryVersion": "v1",
5+ "id": "adexchangebuyer:v1.3",
6+ "name": "adexchangebuyer",
7+ "canonicalName": "Ad Exchange Buyer",
8+ "version": "v1.3",
9+ "revision": "20150909",
10+ "title": "Ad Exchange Buyer API",
11+ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17+ },
18+ "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.3/",
21+ "basePath": "/adexchangebuyer/v1.3/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adexchangebuyer/v1.3/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "json"
32+ ],
33+ "enumDescriptions": [
34+ "Responses with Content-Type of application/json"
35+ ],
36+ "location": "query"
37+ },
38+ "fields": {
39+ "type": "string",
40+ "description": "Selector specifying which fields to include in a partial response.",
41+ "location": "query"
42+ },
43+ "key": {
44+ "type": "string",
45+ "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.",
46+ "location": "query"
47+ },
48+ "oauth_token": {
49+ "type": "string",
50+ "description": "OAuth 2.0 token for the current user.",
51+ "location": "query"
52+ },
53+ "prettyPrint": {
54+ "type": "boolean",
55+ "description": "Returns response with indentations and line breaks.",
56+ "default": "true",
57+ "location": "query"
58+ },
59+ "quotaUser": {
60+ "type": "string",
61+ "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.",
62+ "location": "query"
63+ },
64+ "userIp": {
65+ "type": "string",
66+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
67+ "location": "query"
68+ }
69+ },
70+ "auth": {
71+ "oauth2": {
72+ "scopes": {
73+ "https://www.googleapis.com/auth/adexchange.buyer": {
74+ "description": "Manage your Ad Exchange buyer account configuration"
75+ }
76+ }
77+ }
78+ },
79+ "schemas": {
80+ "Account": {
81+ "id": "Account",
82+ "type": "object",
83+ "description": "Configuration data for an Ad Exchange buyer account.",
84+ "properties": {
85+ "bidderLocation": {
86+ "type": "array",
87+ "description": "Your bidder locations that have distinct URLs.",
88+ "items": {
89+ "type": "object",
90+ "properties": {
91+ "maximumQps": {
92+ "type": "integer",
93+ "description": "The maximum queries per second the Ad Exchange will send.",
94+ "format": "int32"
95+ },
96+ "region": {
97+ "type": "string",
98+ "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"
99+ },
100+ "url": {
101+ "type": "string",
102+ "description": "The URL to which the Ad Exchange will send bid requests."
103+ }
104+ }
105+ }
106+ },
107+ "cookieMatchingNid": {
108+ "type": "string",
109+ "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this."
110+ },
111+ "cookieMatchingUrl": {
112+ "type": "string",
113+ "description": "The base URL used in cookie match requests."
114+ },
115+ "id": {
116+ "type": "integer",
117+ "description": "Account id.",
118+ "format": "int32"
119+ },
120+ "kind": {
121+ "type": "string",
122+ "description": "Resource type.",
123+ "default": "adexchangebuyer#account"
124+ },
125+ "maximumActiveCreatives": {
126+ "type": "integer",
127+ "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.",
128+ "format": "int32"
129+ },
130+ "maximumTotalQps": {
131+ "type": "integer",
132+ "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
133+ "format": "int32"
134+ },
135+ "numberActiveCreatives": {
136+ "type": "integer",
137+ "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
138+ "format": "int32"
139+ }
140+ }
141+ },
142+ "AccountsList": {
143+ "id": "AccountsList",
144+ "type": "object",
145+ "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.",
146+ "properties": {
147+ "items": {
148+ "type": "array",
149+ "description": "A list of accounts.",
150+ "items": {
151+ "$ref": "Account"
152+ }
153+ },
154+ "kind": {
155+ "type": "string",
156+ "description": "Resource type.",
157+ "default": "adexchangebuyer#accountsList"
158+ }
159+ }
160+ },
161+ "BillingInfo": {
162+ "id": "BillingInfo",
163+ "type": "object",
164+ "description": "The configuration data for an Ad Exchange billing info.",
165+ "properties": {
166+ "accountId": {
167+ "type": "integer",
168+ "description": "Account id.",
169+ "format": "int32"
170+ },
171+ "accountName": {
172+ "type": "string",
173+ "description": "Account name."
174+ },
175+ "billingId": {
176+ "type": "array",
177+ "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.",
178+ "items": {
179+ "type": "string"
180+ }
181+ },
182+ "kind": {
183+ "type": "string",
184+ "description": "Resource type.",
185+ "default": "adexchangebuyer#billingInfo"
186+ }
187+ }
188+ },
189+ "BillingInfoList": {
190+ "id": "BillingInfoList",
191+ "type": "object",
192+ "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.",
193+ "properties": {
194+ "items": {
195+ "type": "array",
196+ "description": "A list of billing info relevant for your account.",
197+ "items": {
198+ "$ref": "BillingInfo"
199+ }
200+ },
201+ "kind": {
202+ "type": "string",
203+ "description": "Resource type.",
204+ "default": "adexchangebuyer#billingInfoList"
205+ }
206+ }
207+ },
208+ "Budget": {
209+ "id": "Budget",
210+ "type": "object",
211+ "description": "The configuration data for Ad Exchange RTB - Budget API.",
212+ "properties": {
213+ "accountId": {
214+ "type": "string",
215+ "description": "The id of the account. This is required for get and update requests.",
216+ "format": "int64"
217+ },
218+ "billingId": {
219+ "type": "string",
220+ "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
221+ "format": "int64"
222+ },
223+ "budgetAmount": {
224+ "type": "string",
225+ "description": "The budget amount to apply for the billingId provided. This is required for update requests.",
226+ "format": "int64"
227+ },
228+ "currencyCode": {
229+ "type": "string",
230+ "description": "The currency code for the buyer. This cannot be altered here."
231+ },
232+ "id": {
233+ "type": "string",
234+ "description": "The unique id that describes this item."
235+ },
236+ "kind": {
237+ "type": "string",
238+ "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
239+ "default": "adexchangebuyer#budget"
240+ }
241+ }
242+ },
243+ "Creative": {
244+ "id": "Creative",
245+ "type": "object",
246+ "description": "A creative and its classification data.",
247+ "properties": {
248+ "HTMLSnippet": {
249+ "type": "string",
250+ "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set."
251+ },
252+ "accountId": {
253+ "type": "integer",
254+ "description": "Account id.",
255+ "format": "int32",
256+ "annotations": {
257+ "required": [
258+ "adexchangebuyer.creatives.insert"
259+ ]
260+ }
261+ },
262+ "advertiserId": {
263+ "type": "array",
264+ "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
265+ "items": {
266+ "type": "string",
267+ "format": "int64"
268+ }
269+ },
270+ "advertiserName": {
271+ "type": "string",
272+ "description": "The name of the company being advertised in the creative.",
273+ "annotations": {
274+ "required": [
275+ "adexchangebuyer.creatives.insert"
276+ ]
277+ }
278+ },
279+ "agencyId": {
280+ "type": "string",
281+ "description": "The agency id for this creative.",
282+ "format": "int64"
283+ },
284+ "api_upload_timestamp": {
285+ "type": "string",
286+ "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).",
287+ "format": "date-time"
288+ },
289+ "attribute": {
290+ "type": "array",
291+ "description": "All attributes for the ads that may be shown from this snippet.",
292+ "items": {
293+ "type": "integer",
294+ "format": "int32"
295+ }
296+ },
297+ "buyerCreativeId": {
298+ "type": "string",
299+ "description": "A buyer-specific id identifying the creative in this ad.",
300+ "annotations": {
301+ "required": [
302+ "adexchangebuyer.creatives.insert"
303+ ]
304+ }
305+ },
306+ "clickThroughUrl": {
307+ "type": "array",
308+ "description": "The set of destination urls for the snippet.",
309+ "items": {
310+ "type": "string"
311+ },
312+ "annotations": {
313+ "required": [
314+ "adexchangebuyer.creatives.insert"
315+ ]
316+ }
317+ },
318+ "corrections": {
319+ "type": "array",
320+ "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
321+ "items": {
322+ "type": "object",
323+ "properties": {
324+ "details": {
325+ "type": "array",
326+ "description": "Additional details about the correction.",
327+ "items": {
328+ "type": "string"
329+ }
330+ },
331+ "reason": {
332+ "type": "string",
333+ "description": "The type of correction that was applied to the creative."
334+ }
335+ }
336+ }
337+ },
338+ "disapprovalReasons": {
339+ "type": "array",
340+ "description": "The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.",
341+ "items": {
342+ "type": "object",
343+ "properties": {
344+ "details": {
345+ "type": "array",
346+ "description": "Additional details about the reason for disapproval.",
347+ "items": {
348+ "type": "string"
349+ }
350+ },
351+ "reason": {
352+ "type": "string",
353+ "description": "The categorized reason for disapproval."
354+ }
355+ }
356+ }
357+ },
358+ "filteringReasons": {
359+ "type": "object",
360+ "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
361+ "properties": {
362+ "date": {
363+ "type": "string",
364+ "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST."
365+ },
366+ "reasons": {
367+ "type": "array",
368+ "description": "The filtering reasons.",
369+ "items": {
370+ "type": "object",
371+ "properties": {
372+ "filteringCount": {
373+ "type": "string",
374+ "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
375+ "format": "int64"
376+ },
377+ "filteringStatus": {
378+ "type": "integer",
379+ "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
380+ "format": "int32"
381+ }
382+ }
383+ }
384+ }
385+ }
386+ },
387+ "height": {
388+ "type": "integer",
389+ "description": "Ad height.",
390+ "format": "int32",
391+ "annotations": {
392+ "required": [
393+ "adexchangebuyer.creatives.insert"
394+ ]
395+ }
396+ },
397+ "impressionTrackingUrl": {
398+ "type": "array",
399+ "description": "The set of urls to be called to record an impression.",
400+ "items": {
401+ "type": "string"
402+ }
403+ },
404+ "kind": {
405+ "type": "string",
406+ "description": "Resource type.",
407+ "default": "adexchangebuyer#creative"
408+ },
409+ "nativeAd": {
410+ "type": "object",
411+ "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
412+ "properties": {
413+ "advertiser": {
414+ "type": "string"
415+ },
416+ "appIcon": {
417+ "type": "object",
418+ "description": "The app icon, for app download ads.",
419+ "properties": {
420+ "height": {
421+ "type": "integer",
422+ "format": "int32"
423+ },
424+ "url": {
425+ "type": "string"
426+ },
427+ "width": {
428+ "type": "integer",
429+ "format": "int32"
430+ }
431+ }
432+ },
433+ "body": {
434+ "type": "string",
435+ "description": "A long description of the ad."
436+ },
437+ "callToAction": {
438+ "type": "string",
439+ "description": "A label for the button that the user is supposed to click."
440+ },
441+ "clickTrackingUrl": {
442+ "type": "string",
443+ "description": "The URL to use for click tracking."
444+ },
445+ "headline": {
446+ "type": "string",
447+ "description": "A short title for the ad."
448+ },
449+ "image": {
450+ "type": "object",
451+ "description": "A large image.",
452+ "properties": {
453+ "height": {
454+ "type": "integer",
455+ "format": "int32"
456+ },
457+ "url": {
458+ "type": "string"
459+ },
460+ "width": {
461+ "type": "integer",
462+ "format": "int32"
463+ }
464+ }
465+ },
466+ "impressionTrackingUrl": {
467+ "type": "array",
468+ "description": "The URLs are called when the impression is rendered.",
469+ "items": {
470+ "type": "string"
471+ }
472+ },
473+ "logo": {
474+ "type": "object",
475+ "description": "A smaller image, for the advertiser logo.",
476+ "properties": {
477+ "height": {
478+ "type": "integer",
479+ "format": "int32"
480+ },
481+ "url": {
482+ "type": "string"
483+ },
484+ "width": {
485+ "type": "integer",
486+ "format": "int32"
487+ }
488+ }
489+ },
490+ "price": {
491+ "type": "string",
492+ "description": "The price of the promoted app including the currency info."
493+ },
494+ "starRating": {
495+ "type": "number",
496+ "description": "The app rating in the app store. Must be in the range [0-5].",
497+ "format": "double"
498+ },
499+ "store": {
500+ "type": "string",
501+ "description": "The URL to the app store to purchase/download the promoted app."
502+ }
503+ }
504+ },
505+ "productCategories": {
506+ "type": "array",
507+ "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
508+ "items": {
509+ "type": "integer",
510+ "format": "int32"
511+ }
512+ },
513+ "restrictedCategories": {
514+ "type": "array",
515+ "description": "All restricted categories for the ads that may be shown from this snippet.",
516+ "items": {
517+ "type": "integer",
518+ "format": "int32"
519+ }
520+ },
521+ "sensitiveCategories": {
522+ "type": "array",
523+ "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
524+ "items": {
525+ "type": "integer",
526+ "format": "int32"
527+ }
528+ },
529+ "status": {
530+ "type": "string",
531+ "description": "Creative serving status. Read-only. This field should not be set in requests."
532+ },
533+ "vendorType": {
534+ "type": "array",
535+ "description": "All vendor types for the ads that may be shown from this snippet.",
536+ "items": {
537+ "type": "integer",
538+ "format": "int32"
539+ }
540+ },
541+ "version": {
542+ "type": "integer",
543+ "description": "The version for this creative. Read-only. This field should not be set in requests.",
544+ "format": "int32"
545+ },
546+ "videoURL": {
547+ "type": "string",
548+ "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
549+ },
550+ "width": {
551+ "type": "integer",
552+ "description": "Ad width.",
553+ "format": "int32",
554+ "annotations": {
555+ "required": [
556+ "adexchangebuyer.creatives.insert"
557+ ]
558+ }
559+ }
560+ }
561+ },
562+ "CreativesList": {
563+ "id": "CreativesList",
564+ "type": "object",
565+ "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.",
566+ "properties": {
567+ "items": {
568+ "type": "array",
569+ "description": "A list of creatives.",
570+ "items": {
571+ "$ref": "Creative"
572+ }
573+ },
574+ "kind": {
575+ "type": "string",
576+ "description": "Resource type.",
577+ "default": "adexchangebuyer#creativesList"
578+ },
579+ "nextPageToken": {
580+ "type": "string",
581+ "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
582+ }
583+ }
584+ },
585+ "DirectDeal": {
586+ "id": "DirectDeal",
587+ "type": "object",
588+ "description": "The configuration data for an Ad Exchange direct deal.",
589+ "properties": {
590+ "accountId": {
591+ "type": "integer",
592+ "description": "The account id of the buyer this deal is for.",
593+ "format": "int32"
594+ },
595+ "advertiser": {
596+ "type": "string",
597+ "description": "The name of the advertiser this deal is for."
598+ },
599+ "currencyCode": {
600+ "type": "string",
601+ "description": "The currency code that applies to the fixed_cpm value. If not set then assumed to be USD."
602+ },
603+ "endTime": {
604+ "type": "string",
605+ "description": "End time for when this deal stops being active. If not set then this deal is valid until manually disabled by the publisher. In seconds since the epoch.",
606+ "format": "int64"
607+ },
608+ "fixedCpm": {
609+ "type": "string",
610+ "description": "The fixed price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the fixed price tier of buying (highest priority, pay exactly the configured fixed price).",
611+ "format": "int64"
612+ },
613+ "id": {
614+ "type": "string",
615+ "description": "Deal id.",
616+ "format": "int64"
617+ },
618+ "kind": {
619+ "type": "string",
620+ "description": "Resource type.",
621+ "default": "adexchangebuyer#directDeal"
622+ },
623+ "name": {
624+ "type": "string",
625+ "description": "Deal name."
626+ },
627+ "privateExchangeMinCpm": {
628+ "type": "string",
629+ "description": "The minimum price for this direct deal. In cpm micros of currency according to currency_code. If set, then this deal is eligible for the private exchange tier of buying (below fixed price priority, run as a second price auction).",
630+ "format": "int64"
631+ },
632+ "publisherBlocksOverriden": {
633+ "type": "boolean",
634+ "description": "If true, the publisher has opted to have their blocks ignored when a creative is bid with for this deal."
635+ },
636+ "sellerNetwork": {
637+ "type": "string",
638+ "description": "The name of the publisher offering this direct deal."
639+ },
640+ "startTime": {
641+ "type": "string",
642+ "description": "Start time for when this deal becomes active. If not set then this deal is active immediately upon creation. In seconds since the epoch.",
643+ "format": "int64"
644+ }
645+ }
646+ },
647+ "DirectDealsList": {
648+ "id": "DirectDealsList",
649+ "type": "object",
650+ "description": "A direct deals feed lists Direct Deals the Ad Exchange buyer account has access to. This includes direct deals set up for the buyer account as well as its merged stream seats.",
651+ "properties": {
652+ "directDeals": {
653+ "type": "array",
654+ "description": "A list of direct deals relevant for your account.",
655+ "items": {
656+ "$ref": "DirectDeal"
657+ }
658+ },
659+ "kind": {
660+ "type": "string",
661+ "description": "Resource type.",
662+ "default": "adexchangebuyer#directDealsList"
663+ }
664+ }
665+ },
666+ "PerformanceReport": {
667+ "id": "PerformanceReport",
668+ "type": "object",
669+ "description": "The configuration data for an Ad Exchange performance report list.",
670+ "properties": {
671+ "bidRate": {
672+ "type": "number",
673+ "description": "The number of bid responses with an ad.",
674+ "format": "double"
675+ },
676+ "bidRequestRate": {
677+ "type": "number",
678+ "description": "The number of bid requests sent to your bidder.",
679+ "format": "double"
680+ },
681+ "calloutStatusRate": {
682+ "type": "array",
683+ "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
684+ "items": {
685+ "type": "any"
686+ }
687+ },
688+ "cookieMatcherStatusRate": {
689+ "type": "array",
690+ "description": "Average QPS for cookie matcher operations.",
691+ "items": {
692+ "type": "any"
693+ }
694+ },
695+ "creativeStatusRate": {
696+ "type": "array",
697+ "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
698+ "items": {
699+ "type": "any"
700+ }
701+ },
702+ "filteredBidRate": {
703+ "type": "number",
704+ "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
705+ "format": "double"
706+ },
707+ "hostedMatchStatusRate": {
708+ "type": "array",
709+ "description": "Average QPS for hosted match operations.",
710+ "items": {
711+ "type": "any"
712+ }
713+ },
714+ "inventoryMatchRate": {
715+ "type": "number",
716+ "description": "The number of potential queries based on your pretargeting settings.",
717+ "format": "double"
718+ },
719+ "kind": {
720+ "type": "string",
721+ "description": "Resource type.",
722+ "default": "adexchangebuyer#performanceReport"
723+ },
724+ "latency50thPercentile": {
725+ "type": "number",
726+ "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
727+ "format": "double"
728+ },
729+ "latency85thPercentile": {
730+ "type": "number",
731+ "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
732+ "format": "double"
733+ },
734+ "latency95thPercentile": {
735+ "type": "number",
736+ "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
737+ "format": "double"
738+ },
739+ "noQuotaInRegion": {
740+ "type": "number",
741+ "description": "Rate of various quota account statuses per quota check.",
742+ "format": "double"
743+ },
744+ "outOfQuota": {
745+ "type": "number",
746+ "description": "Rate of various quota account statuses per quota check.",
747+ "format": "double"
748+ },
749+ "pixelMatchRequests": {
750+ "type": "number",
751+ "description": "Average QPS for pixel match requests from clients.",
752+ "format": "double"
753+ },
754+ "pixelMatchResponses": {
755+ "type": "number",
756+ "description": "Average QPS for pixel match responses from clients.",
757+ "format": "double"
758+ },
759+ "quotaConfiguredLimit": {
760+ "type": "number",
761+ "description": "The configured quota limits for this account.",
762+ "format": "double"
763+ },
764+ "quotaThrottledLimit": {
765+ "type": "number",
766+ "description": "The throttled quota limits for this account.",
767+ "format": "double"
768+ },
769+ "region": {
770+ "type": "string",
771+ "description": "The trading location of this data."
772+ },
773+ "successfulRequestRate": {
774+ "type": "number",
775+ "description": "The number of properly formed bid responses received by our servers within the deadline.",
776+ "format": "double"
777+ },
778+ "timestamp": {
779+ "type": "string",
780+ "description": "The unix timestamp of the starting time of this performance data.",
781+ "format": "int64"
782+ },
783+ "unsuccessfulRequestRate": {
784+ "type": "number",
785+ "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
786+ "format": "double"
787+ }
788+ }
789+ },
790+ "PerformanceReportList": {
791+ "id": "PerformanceReportList",
792+ "type": "object",
793+ "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",
794+ "properties": {
795+ "kind": {
796+ "type": "string",
797+ "description": "Resource type.",
798+ "default": "adexchangebuyer#performanceReportList"
799+ },
800+ "performanceReport": {
801+ "type": "array",
802+ "description": "A list of performance reports relevant for the account.",
803+ "items": {
804+ "$ref": "PerformanceReport"
805+ }
806+ }
807+ }
808+ },
809+ "PretargetingConfig": {
810+ "id": "PretargetingConfig",
811+ "type": "object",
812+ "properties": {
813+ "billingId": {
814+ "type": "string",
815+ "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
816+ "format": "int64"
817+ },
818+ "configId": {
819+ "type": "string",
820+ "description": "The config id; generated automatically. Leave this field blank for insert requests.",
821+ "format": "int64"
822+ },
823+ "configName": {
824+ "type": "string",
825+ "description": "The name of the config. Must be unique. Required for all requests."
826+ },
827+ "creativeType": {
828+ "type": "array",
829+ "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
830+ "items": {
831+ "type": "string"
832+ }
833+ },
834+ "dimensions": {
835+ "type": "array",
836+ "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
837+ "items": {
838+ "type": "object",
839+ "properties": {
840+ "height": {
841+ "type": "string",
842+ "description": "Height in pixels.",
843+ "format": "int64"
844+ },
845+ "width": {
846+ "type": "string",
847+ "description": "Width in pixels.",
848+ "format": "int64"
849+ }
850+ }
851+ }
852+ },
853+ "excludedContentLabels": {
854+ "type": "array",
855+ "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
856+ "items": {
857+ "type": "string",
858+ "format": "int64"
859+ }
860+ },
861+ "excludedGeoCriteriaIds": {
862+ "type": "array",
863+ "description": "Requests containing any of these geo criteria ids will not match.",
864+ "items": {
865+ "type": "string",
866+ "format": "int64"
867+ }
868+ },
869+ "excludedPlacements": {
870+ "type": "array",
871+ "description": "Requests containing any of these placements will not match.",
872+ "items": {
873+ "type": "object",
874+ "properties": {
875+ "token": {
876+ "type": "string",
877+ "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."
878+ },
879+ "type": {
880+ "type": "string",
881+ "description": "The type of the placement."
882+ }
883+ }
884+ }
885+ },
886+ "excludedUserLists": {
887+ "type": "array",
888+ "description": "Requests containing any of these users list ids will not match.",
889+ "items": {
890+ "type": "string",
891+ "format": "int64"
892+ }
893+ },
894+ "excludedVerticals": {
895+ "type": "array",
896+ "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
897+ "items": {
898+ "type": "string",
899+ "format": "int64"
900+ }
901+ },
902+ "geoCriteriaIds": {
903+ "type": "array",
904+ "description": "Requests containing any of these geo criteria ids will match.",
905+ "items": {
906+ "type": "string",
907+ "format": "int64"
908+ }
909+ },
910+ "isActive": {
911+ "type": "boolean",
912+ "description": "Whether this config is active. Required for all requests."
913+ },
914+ "kind": {
915+ "type": "string",
916+ "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
917+ "default": "adexchangebuyer#pretargetingConfig"
918+ },
919+ "languages": {
920+ "type": "array",
921+ "description": "Request containing any of these language codes will match.",
922+ "items": {
923+ "type": "string"
924+ }
925+ },
926+ "mobileCarriers": {
927+ "type": "array",
928+ "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
929+ "items": {
930+ "type": "string",
931+ "format": "int64"
932+ }
933+ },
934+ "mobileDevices": {
935+ "type": "array",
936+ "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
937+ "items": {
938+ "type": "string",
939+ "format": "int64"
940+ }
941+ },
942+ "mobileOperatingSystemVersions": {
943+ "type": "array",
944+ "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
945+ "items": {
946+ "type": "string",
947+ "format": "int64"
948+ }
949+ },
950+ "placements": {
951+ "type": "array",
952+ "description": "Requests containing any of these placements will match.",
953+ "items": {
954+ "type": "object",
955+ "properties": {
956+ "token": {
957+ "type": "string",
958+ "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."
959+ },
960+ "type": {
961+ "type": "string",
962+ "description": "The type of the placement."
963+ }
964+ }
965+ }
966+ },
967+ "platforms": {
968+ "type": "array",
969+ "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
970+ "items": {
971+ "type": "string"
972+ }
973+ },
974+ "supportedCreativeAttributes": {
975+ "type": "array",
976+ "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.",
977+ "items": {
978+ "type": "string",
979+ "format": "int64"
980+ }
981+ },
982+ "userLists": {
983+ "type": "array",
984+ "description": "Requests containing any of these user list ids will match.",
985+ "items": {
986+ "type": "string",
987+ "format": "int64"
988+ }
989+ },
990+ "vendorTypes": {
991+ "type": "array",
992+ "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
993+ "items": {
994+ "type": "string",
995+ "format": "int64"
996+ }
997+ },
998+ "verticals": {
999+ "type": "array",
1000+ "description": "Requests containing any of these vertical ids will match.",
1001+ "items": {
1002+ "type": "string",
1003+ "format": "int64"
1004+ }
1005+ }
1006+ }
1007+ },
1008+ "PretargetingConfigList": {
1009+ "id": "PretargetingConfigList",
1010+ "type": "object",
1011+ "properties": {
1012+ "items": {
1013+ "type": "array",
1014+ "description": "A list of pretargeting configs",
1015+ "items": {
1016+ "$ref": "PretargetingConfig"
1017+ }
1018+ },
1019+ "kind": {
1020+ "type": "string",
1021+ "description": "Resource type.",
1022+ "default": "adexchangebuyer#pretargetingConfigList"
1023+ }
1024+ }
1025+ }
1026+ },
1027+ "resources": {
1028+ "accounts": {
1029+ "methods": {
1030+ "get": {
1031+ "id": "adexchangebuyer.accounts.get",
1032+ "path": "accounts/{id}",
1033+ "httpMethod": "GET",
1034+ "description": "Gets one account by ID.",
1035+ "parameters": {
1036+ "id": {
1037+ "type": "integer",
1038+ "description": "The account id",
1039+ "required": true,
1040+ "format": "int32",
1041+ "location": "path"
1042+ }
1043+ },
1044+ "parameterOrder": [
1045+ "id"
1046+ ],
1047+ "response": {
1048+ "$ref": "Account"
1049+ },
1050+ "scopes": [
1051+ "https://www.googleapis.com/auth/adexchange.buyer"
1052+ ]
1053+ },
1054+ "list": {
1055+ "id": "adexchangebuyer.accounts.list",
1056+ "path": "accounts",
1057+ "httpMethod": "GET",
1058+ "description": "Retrieves the authenticated user's list of accounts.",
1059+ "response": {
1060+ "$ref": "AccountsList"
1061+ },
1062+ "scopes": [
1063+ "https://www.googleapis.com/auth/adexchange.buyer"
1064+ ]
1065+ },
1066+ "patch": {
1067+ "id": "adexchangebuyer.accounts.patch",
1068+ "path": "accounts/{id}",
1069+ "httpMethod": "PATCH",
1070+ "description": "Updates an existing account. This method supports patch semantics.",
1071+ "parameters": {
1072+ "id": {
1073+ "type": "integer",
1074+ "description": "The account id",
1075+ "required": true,
1076+ "format": "int32",
1077+ "location": "path"
1078+ }
1079+ },
1080+ "parameterOrder": [
1081+ "id"
1082+ ],
1083+ "request": {
1084+ "$ref": "Account"
1085+ },
1086+ "response": {
1087+ "$ref": "Account"
1088+ },
1089+ "scopes": [
1090+ "https://www.googleapis.com/auth/adexchange.buyer"
1091+ ]
1092+ },
1093+ "update": {
1094+ "id": "adexchangebuyer.accounts.update",
1095+ "path": "accounts/{id}",
1096+ "httpMethod": "PUT",
1097+ "description": "Updates an existing account.",
1098+ "parameters": {
1099+ "id": {
1100+ "type": "integer",
1101+ "description": "The account id",
1102+ "required": true,
1103+ "format": "int32",
1104+ "location": "path"
1105+ }
1106+ },
1107+ "parameterOrder": [
1108+ "id"
1109+ ],
1110+ "request": {
1111+ "$ref": "Account"
1112+ },
1113+ "response": {
1114+ "$ref": "Account"
1115+ },
1116+ "scopes": [
1117+ "https://www.googleapis.com/auth/adexchange.buyer"
1118+ ]
1119+ }
1120+ }
1121+ },
1122+ "billingInfo": {
1123+ "methods": {
1124+ "get": {
1125+ "id": "adexchangebuyer.billingInfo.get",
1126+ "path": "billinginfo/{accountId}",
1127+ "httpMethod": "GET",
1128+ "description": "Returns the billing information for one account specified by account ID.",
1129+ "parameters": {
1130+ "accountId": {
1131+ "type": "integer",
1132+ "description": "The account id.",
1133+ "required": true,
1134+ "format": "int32",
1135+ "location": "path"
1136+ }
1137+ },
1138+ "parameterOrder": [
1139+ "accountId"
1140+ ],
1141+ "response": {
1142+ "$ref": "BillingInfo"
1143+ },
1144+ "scopes": [
1145+ "https://www.googleapis.com/auth/adexchange.buyer"
1146+ ]
1147+ },
1148+ "list": {
1149+ "id": "adexchangebuyer.billingInfo.list",
1150+ "path": "billinginfo",
1151+ "httpMethod": "GET",
1152+ "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
1153+ "response": {
1154+ "$ref": "BillingInfoList"
1155+ },
1156+ "scopes": [
1157+ "https://www.googleapis.com/auth/adexchange.buyer"
1158+ ]
1159+ }
1160+ }
1161+ },
1162+ "budget": {
1163+ "methods": {
1164+ "get": {
1165+ "id": "adexchangebuyer.budget.get",
1166+ "path": "billinginfo/{accountId}/{billingId}",
1167+ "httpMethod": "GET",
1168+ "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
1169+ "parameters": {
1170+ "accountId": {
1171+ "type": "string",
1172+ "description": "The account id to get the budget information for.",
1173+ "required": true,
1174+ "format": "int64",
1175+ "location": "path"
1176+ },
1177+ "billingId": {
1178+ "type": "string",
1179+ "description": "The billing id to get the budget information for.",
1180+ "required": true,
1181+ "format": "int64",
1182+ "location": "path"
1183+ }
1184+ },
1185+ "parameterOrder": [
1186+ "accountId",
1187+ "billingId"
1188+ ],
1189+ "response": {
1190+ "$ref": "Budget"
1191+ },
1192+ "scopes": [
1193+ "https://www.googleapis.com/auth/adexchange.buyer"
1194+ ]
1195+ },
1196+ "patch": {
1197+ "id": "adexchangebuyer.budget.patch",
1198+ "path": "billinginfo/{accountId}/{billingId}",
1199+ "httpMethod": "PATCH",
1200+ "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.",
1201+ "parameters": {
1202+ "accountId": {
1203+ "type": "string",
1204+ "description": "The account id associated with the budget being updated.",
1205+ "required": true,
1206+ "format": "int64",
1207+ "location": "path"
1208+ },
1209+ "billingId": {
1210+ "type": "string",
1211+ "description": "The billing id associated with the budget being updated.",
1212+ "required": true,
1213+ "format": "int64",
1214+ "location": "path"
1215+ }
1216+ },
1217+ "parameterOrder": [
1218+ "accountId",
1219+ "billingId"
1220+ ],
1221+ "request": {
1222+ "$ref": "Budget"
1223+ },
1224+ "response": {
1225+ "$ref": "Budget"
1226+ },
1227+ "scopes": [
1228+ "https://www.googleapis.com/auth/adexchange.buyer"
1229+ ]
1230+ },
1231+ "update": {
1232+ "id": "adexchangebuyer.budget.update",
1233+ "path": "billinginfo/{accountId}/{billingId}",
1234+ "httpMethod": "PUT",
1235+ "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
1236+ "parameters": {
1237+ "accountId": {
1238+ "type": "string",
1239+ "description": "The account id associated with the budget being updated.",
1240+ "required": true,
1241+ "format": "int64",
1242+ "location": "path"
1243+ },
1244+ "billingId": {
1245+ "type": "string",
1246+ "description": "The billing id associated with the budget being updated.",
1247+ "required": true,
1248+ "format": "int64",
1249+ "location": "path"
1250+ }
1251+ },
1252+ "parameterOrder": [
1253+ "accountId",
1254+ "billingId"
1255+ ],
1256+ "request": {
1257+ "$ref": "Budget"
1258+ },
1259+ "response": {
1260+ "$ref": "Budget"
1261+ },
1262+ "scopes": [
1263+ "https://www.googleapis.com/auth/adexchange.buyer"
1264+ ]
1265+ }
1266+ }
1267+ },
1268+ "creatives": {
1269+ "methods": {
1270+ "get": {
1271+ "id": "adexchangebuyer.creatives.get",
1272+ "path": "creatives/{accountId}/{buyerCreativeId}",
1273+ "httpMethod": "GET",
1274+ "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
1275+ "parameters": {
1276+ "accountId": {
1277+ "type": "integer",
1278+ "description": "The id for the account that will serve this creative.",
1279+ "required": true,
1280+ "format": "int32",
1281+ "location": "path"
1282+ },
1283+ "buyerCreativeId": {
1284+ "type": "string",
1285+ "description": "The buyer-specific id for this creative.",
1286+ "required": true,
1287+ "location": "path"
1288+ }
1289+ },
1290+ "parameterOrder": [
1291+ "accountId",
1292+ "buyerCreativeId"
1293+ ],
1294+ "response": {
1295+ "$ref": "Creative"
1296+ },
1297+ "scopes": [
1298+ "https://www.googleapis.com/auth/adexchange.buyer"
1299+ ]
1300+ },
1301+ "insert": {
1302+ "id": "adexchangebuyer.creatives.insert",
1303+ "path": "creatives",
1304+ "httpMethod": "POST",
1305+ "description": "Submit a new creative.",
1306+ "request": {
1307+ "$ref": "Creative"
1308+ },
1309+ "response": {
1310+ "$ref": "Creative"
1311+ },
1312+ "scopes": [
1313+ "https://www.googleapis.com/auth/adexchange.buyer"
1314+ ]
1315+ },
1316+ "list": {
1317+ "id": "adexchangebuyer.creatives.list",
1318+ "path": "creatives",
1319+ "httpMethod": "GET",
1320+ "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
1321+ "parameters": {
1322+ "accountId": {
1323+ "type": "integer",
1324+ "description": "When specified, only creatives for the given account ids are returned.",
1325+ "format": "int32",
1326+ "repeated": true,
1327+ "location": "query"
1328+ },
1329+ "buyerCreativeId": {
1330+ "type": "string",
1331+ "description": "When specified, only creatives for the given buyer creative ids are returned.",
1332+ "repeated": true,
1333+ "location": "query"
1334+ },
1335+ "maxResults": {
1336+ "type": "integer",
1337+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
1338+ "format": "uint32",
1339+ "minimum": "1",
1340+ "maximum": "1000",
1341+ "location": "query"
1342+ },
1343+ "pageToken": {
1344+ "type": "string",
1345+ "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.",
1346+ "location": "query"
1347+ },
1348+ "statusFilter": {
1349+ "type": "string",
1350+ "description": "When specified, only creatives having the given status are returned.",
1351+ "enum": [
1352+ "approved",
1353+ "disapproved",
1354+ "not_checked"
1355+ ],
1356+ "enumDescriptions": [
1357+ "Creatives which have been approved.",
1358+ "Creatives which have been disapproved.",
1359+ "Creatives whose status is not yet checked."
1360+ ],
1361+ "location": "query"
1362+ }
1363+ },
1364+ "response": {
1365+ "$ref": "CreativesList"
1366+ },
1367+ "scopes": [
1368+ "https://www.googleapis.com/auth/adexchange.buyer"
1369+ ]
1370+ }
1371+ }
1372+ },
1373+ "directDeals": {
1374+ "methods": {
1375+ "get": {
1376+ "id": "adexchangebuyer.directDeals.get",
1377+ "path": "directdeals/{id}",
1378+ "httpMethod": "GET",
1379+ "description": "Gets one direct deal by ID.",
1380+ "parameters": {
1381+ "id": {
1382+ "type": "string",
1383+ "description": "The direct deal id",
1384+ "required": true,
1385+ "format": "int64",
1386+ "location": "path"
1387+ }
1388+ },
1389+ "parameterOrder": [
1390+ "id"
1391+ ],
1392+ "response": {
1393+ "$ref": "DirectDeal"
1394+ },
1395+ "scopes": [
1396+ "https://www.googleapis.com/auth/adexchange.buyer"
1397+ ]
1398+ },
1399+ "list": {
1400+ "id": "adexchangebuyer.directDeals.list",
1401+ "path": "directdeals",
1402+ "httpMethod": "GET",
1403+ "description": "Retrieves the authenticated user's list of direct deals.",
1404+ "response": {
1405+ "$ref": "DirectDealsList"
1406+ },
1407+ "scopes": [
1408+ "https://www.googleapis.com/auth/adexchange.buyer"
1409+ ]
1410+ }
1411+ }
1412+ },
1413+ "performanceReport": {
1414+ "methods": {
1415+ "list": {
1416+ "id": "adexchangebuyer.performanceReport.list",
1417+ "path": "performancereport",
1418+ "httpMethod": "GET",
1419+ "description": "Retrieves the authenticated user's list of performance metrics.",
1420+ "parameters": {
1421+ "accountId": {
1422+ "type": "string",
1423+ "description": "The account id to get the reports.",
1424+ "required": true,
1425+ "format": "int64",
1426+ "location": "query"
1427+ },
1428+ "endDateTime": {
1429+ "type": "string",
1430+ "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
1431+ "required": true,
1432+ "location": "query"
1433+ },
1434+ "maxResults": {
1435+ "type": "integer",
1436+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
1437+ "format": "uint32",
1438+ "minimum": "1",
1439+ "maximum": "1000",
1440+ "location": "query"
1441+ },
1442+ "pageToken": {
1443+ "type": "string",
1444+ "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.",
1445+ "location": "query"
1446+ },
1447+ "startDateTime": {
1448+ "type": "string",
1449+ "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
1450+ "required": true,
1451+ "location": "query"
1452+ }
1453+ },
1454+ "parameterOrder": [
1455+ "accountId",
1456+ "endDateTime",
1457+ "startDateTime"
1458+ ],
1459+ "response": {
1460+ "$ref": "PerformanceReportList"
1461+ },
1462+ "scopes": [
1463+ "https://www.googleapis.com/auth/adexchange.buyer"
1464+ ]
1465+ }
1466+ }
1467+ },
1468+ "pretargetingConfig": {
1469+ "methods": {
1470+ "delete": {
1471+ "id": "adexchangebuyer.pretargetingConfig.delete",
1472+ "path": "pretargetingconfigs/{accountId}/{configId}",
1473+ "httpMethod": "DELETE",
1474+ "description": "Deletes an existing pretargeting config.",
1475+ "parameters": {
1476+ "accountId": {
1477+ "type": "string",
1478+ "description": "The account id to delete the pretargeting config for.",
1479+ "required": true,
1480+ "format": "int64",
1481+ "location": "path"
1482+ },
1483+ "configId": {
1484+ "type": "string",
1485+ "description": "The specific id of the configuration to delete.",
1486+ "required": true,
1487+ "format": "int64",
1488+ "location": "path"
1489+ }
1490+ },
1491+ "parameterOrder": [
1492+ "accountId",
1493+ "configId"
1494+ ],
1495+ "scopes": [
1496+ "https://www.googleapis.com/auth/adexchange.buyer"
1497+ ]
1498+ },
1499+ "get": {
1500+ "id": "adexchangebuyer.pretargetingConfig.get",
1501+ "path": "pretargetingconfigs/{accountId}/{configId}",
1502+ "httpMethod": "GET",
1503+ "description": "Gets a specific pretargeting configuration",
1504+ "parameters": {
1505+ "accountId": {
1506+ "type": "string",
1507+ "description": "The account id to get the pretargeting config for.",
1508+ "required": true,
1509+ "format": "int64",
1510+ "location": "path"
1511+ },
1512+ "configId": {
1513+ "type": "string",
1514+ "description": "The specific id of the configuration to retrieve.",
1515+ "required": true,
1516+ "format": "int64",
1517+ "location": "path"
1518+ }
1519+ },
1520+ "parameterOrder": [
1521+ "accountId",
1522+ "configId"
1523+ ],
1524+ "response": {
1525+ "$ref": "PretargetingConfig"
1526+ },
1527+ "scopes": [
1528+ "https://www.googleapis.com/auth/adexchange.buyer"
1529+ ]
1530+ },
1531+ "insert": {
1532+ "id": "adexchangebuyer.pretargetingConfig.insert",
1533+ "path": "pretargetingconfigs/{accountId}",
1534+ "httpMethod": "POST",
1535+ "description": "Inserts a new pretargeting configuration.",
1536+ "parameters": {
1537+ "accountId": {
1538+ "type": "string",
1539+ "description": "The account id to insert the pretargeting config for.",
1540+ "required": true,
1541+ "format": "int64",
1542+ "location": "path"
1543+ }
1544+ },
1545+ "parameterOrder": [
1546+ "accountId"
1547+ ],
1548+ "request": {
1549+ "$ref": "PretargetingConfig"
1550+ },
1551+ "response": {
1552+ "$ref": "PretargetingConfig"
1553+ },
1554+ "scopes": [
1555+ "https://www.googleapis.com/auth/adexchange.buyer"
1556+ ]
1557+ },
1558+ "list": {
1559+ "id": "adexchangebuyer.pretargetingConfig.list",
1560+ "path": "pretargetingconfigs/{accountId}",
1561+ "httpMethod": "GET",
1562+ "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
1563+ "parameters": {
1564+ "accountId": {
1565+ "type": "string",
1566+ "description": "The account id to get the pretargeting configs for.",
1567+ "required": true,
1568+ "format": "int64",
1569+ "location": "path"
1570+ }
1571+ },
1572+ "parameterOrder": [
1573+ "accountId"
1574+ ],
1575+ "response": {
1576+ "$ref": "PretargetingConfigList"
1577+ },
1578+ "scopes": [
1579+ "https://www.googleapis.com/auth/adexchange.buyer"
1580+ ]
1581+ },
1582+ "patch": {
1583+ "id": "adexchangebuyer.pretargetingConfig.patch",
1584+ "path": "pretargetingconfigs/{accountId}/{configId}",
1585+ "httpMethod": "PATCH",
1586+ "description": "Updates an existing pretargeting config. This method supports patch semantics.",
1587+ "parameters": {
1588+ "accountId": {
1589+ "type": "string",
1590+ "description": "The account id to update the pretargeting config for.",
1591+ "required": true,
1592+ "format": "int64",
1593+ "location": "path"
1594+ },
1595+ "configId": {
1596+ "type": "string",
1597+ "description": "The specific id of the configuration to update.",
1598+ "required": true,
1599+ "format": "int64",
1600+ "location": "path"
1601+ }
1602+ },
1603+ "parameterOrder": [
1604+ "accountId",
1605+ "configId"
1606+ ],
1607+ "request": {
1608+ "$ref": "PretargetingConfig"
1609+ },
1610+ "response": {
1611+ "$ref": "PretargetingConfig"
1612+ },
1613+ "scopes": [
1614+ "https://www.googleapis.com/auth/adexchange.buyer"
1615+ ]
1616+ },
1617+ "update": {
1618+ "id": "adexchangebuyer.pretargetingConfig.update",
1619+ "path": "pretargetingconfigs/{accountId}/{configId}",
1620+ "httpMethod": "PUT",
1621+ "description": "Updates an existing pretargeting config.",
1622+ "parameters": {
1623+ "accountId": {
1624+ "type": "string",
1625+ "description": "The account id to update the pretargeting config for.",
1626+ "required": true,
1627+ "format": "int64",
1628+ "location": "path"
1629+ },
1630+ "configId": {
1631+ "type": "string",
1632+ "description": "The specific id of the configuration to update.",
1633+ "required": true,
1634+ "format": "int64",
1635+ "location": "path"
1636+ }
1637+ },
1638+ "parameterOrder": [
1639+ "accountId",
1640+ "configId"
1641+ ],
1642+ "request": {
1643+ "$ref": "PretargetingConfig"
1644+ },
1645+ "response": {
1646+ "$ref": "PretargetingConfig"
1647+ },
1648+ "scopes": [
1649+ "https://www.googleapis.com/auth/adexchange.buyer"
1650+ ]
1651+ }
1652+ }
1653+ }
1654+ }
1655+}
gen/model/adexchangebuyer/adexchangebuyer/v1.4/adexchangebuyer-api.jsonnew file+4193
@@ -0,0 +1,4193 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/e2ZwVjK29RxJqz1-z8CpRPnLiKo\"",
4+ "discoveryVersion": "v1",
5+ "id": "adexchangebuyer:v1.4",
6+ "name": "adexchangebuyer",
7+ "canonicalName": "Ad Exchange Buyer",
8+ "version": "v1.4",
9+ "revision": "20150909",
10+ "title": "Ad Exchange Buyer API",
11+ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17+ },
18+ "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.4/",
21+ "basePath": "/adexchangebuyer/v1.4/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adexchangebuyer/v1.4/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "json"
32+ ],
33+ "enumDescriptions": [
34+ "Responses with Content-Type of application/json"
35+ ],
36+ "location": "query"
37+ },
38+ "fields": {
39+ "type": "string",
40+ "description": "Selector specifying which fields to include in a partial response.",
41+ "location": "query"
42+ },
43+ "key": {
44+ "type": "string",
45+ "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.",
46+ "location": "query"
47+ },
48+ "oauth_token": {
49+ "type": "string",
50+ "description": "OAuth 2.0 token for the current user.",
51+ "location": "query"
52+ },
53+ "prettyPrint": {
54+ "type": "boolean",
55+ "description": "Returns response with indentations and line breaks.",
56+ "default": "true",
57+ "location": "query"
58+ },
59+ "quotaUser": {
60+ "type": "string",
61+ "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.",
62+ "location": "query"
63+ },
64+ "userIp": {
65+ "type": "string",
66+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
67+ "location": "query"
68+ }
69+ },
70+ "auth": {
71+ "oauth2": {
72+ "scopes": {
73+ "https://www.googleapis.com/auth/adexchange.buyer": {
74+ "description": "Manage your Ad Exchange buyer account configuration"
75+ }
76+ }
77+ }
78+ },
79+ "schemas": {
80+ "Account": {
81+ "id": "Account",
82+ "type": "object",
83+ "description": "Configuration data for an Ad Exchange buyer account.",
84+ "properties": {
85+ "bidderLocation": {
86+ "type": "array",
87+ "description": "Your bidder locations that have distinct URLs.",
88+ "items": {
89+ "type": "object",
90+ "properties": {
91+ "maximumQps": {
92+ "type": "integer",
93+ "description": "The maximum queries per second the Ad Exchange will send.",
94+ "format": "int32"
95+ },
96+ "region": {
97+ "type": "string",
98+ "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"
99+ },
100+ "url": {
101+ "type": "string",
102+ "description": "The URL to which the Ad Exchange will send bid requests."
103+ }
104+ }
105+ }
106+ },
107+ "cookieMatchingNid": {
108+ "type": "string",
109+ "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this."
110+ },
111+ "cookieMatchingUrl": {
112+ "type": "string",
113+ "description": "The base URL used in cookie match requests."
114+ },
115+ "id": {
116+ "type": "integer",
117+ "description": "Account id.",
118+ "format": "int32"
119+ },
120+ "kind": {
121+ "type": "string",
122+ "description": "Resource type.",
123+ "default": "adexchangebuyer#account"
124+ },
125+ "maximumActiveCreatives": {
126+ "type": "integer",
127+ "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.",
128+ "format": "int32"
129+ },
130+ "maximumTotalQps": {
131+ "type": "integer",
132+ "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.",
133+ "format": "int32"
134+ },
135+ "numberActiveCreatives": {
136+ "type": "integer",
137+ "description": "The number of creatives that this account inserted or bid with in the last 30 days.",
138+ "format": "int32"
139+ }
140+ }
141+ },
142+ "AccountsList": {
143+ "id": "AccountsList",
144+ "type": "object",
145+ "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.",
146+ "properties": {
147+ "items": {
148+ "type": "array",
149+ "description": "A list of accounts.",
150+ "items": {
151+ "$ref": "Account"
152+ }
153+ },
154+ "kind": {
155+ "type": "string",
156+ "description": "Resource type.",
157+ "default": "adexchangebuyer#accountsList"
158+ }
159+ }
160+ },
161+ "AdSize": {
162+ "id": "AdSize",
163+ "type": "object",
164+ "properties": {
165+ "height": {
166+ "type": "integer",
167+ "format": "int32"
168+ },
169+ "width": {
170+ "type": "integer",
171+ "format": "int32"
172+ }
173+ }
174+ },
175+ "AdSlotDto": {
176+ "id": "AdSlotDto",
177+ "type": "object",
178+ "properties": {
179+ "channelCode": {
180+ "type": "string"
181+ },
182+ "channelId": {
183+ "type": "integer",
184+ "format": "int32"
185+ },
186+ "description": {
187+ "type": "string"
188+ },
189+ "name": {
190+ "type": "string"
191+ },
192+ "size": {
193+ "type": "string"
194+ },
195+ "webPropertyId": {
196+ "type": "integer",
197+ "format": "int32"
198+ }
199+ }
200+ },
201+ "AddOrderDealsRequest": {
202+ "id": "AddOrderDealsRequest",
203+ "type": "object",
204+ "properties": {
205+ "deals": {
206+ "type": "array",
207+ "description": "The list of deals to add",
208+ "items": {
209+ "$ref": "MarketplaceDeal"
210+ }
211+ },
212+ "orderRevisionNumber": {
213+ "type": "string",
214+ "description": "The last known order revision number.",
215+ "format": "int64"
216+ },
217+ "updateAction": {
218+ "type": "string",
219+ "description": "Indicates an optional action to take on the order"
220+ }
221+ }
222+ },
223+ "AddOrderDealsResponse": {
224+ "id": "AddOrderDealsResponse",
225+ "type": "object",
226+ "properties": {
227+ "deals": {
228+ "type": "array",
229+ "description": "List of deals added (in the same order as passed in the request)",
230+ "items": {
231+ "$ref": "MarketplaceDeal"
232+ }
233+ },
234+ "orderRevisionNumber": {
235+ "type": "string",
236+ "description": "The updated revision number for the order.",
237+ "format": "int64"
238+ }
239+ }
240+ },
241+ "AddOrderNotesRequest": {
242+ "id": "AddOrderNotesRequest",
243+ "type": "object",
244+ "properties": {
245+ "notes": {
246+ "type": "array",
247+ "description": "The list of notes to add.",
248+ "items": {
249+ "$ref": "MarketplaceNote"
250+ }
251+ }
252+ }
253+ },
254+ "AddOrderNotesResponse": {
255+ "id": "AddOrderNotesResponse",
256+ "type": "object",
257+ "properties": {
258+ "notes": {
259+ "type": "array",
260+ "items": {
261+ "$ref": "MarketplaceNote"
262+ }
263+ }
264+ }
265+ },
266+ "AdvertiserDto": {
267+ "id": "AdvertiserDto",
268+ "type": "object",
269+ "properties": {
270+ "brands": {
271+ "type": "array",
272+ "items": {
273+ "$ref": "BrandDto"
274+ }
275+ },
276+ "id": {
277+ "type": "string",
278+ "format": "int64"
279+ },
280+ "name": {
281+ "type": "string"
282+ },
283+ "status": {
284+ "type": "string"
285+ }
286+ }
287+ },
288+ "AudienceSegment": {
289+ "id": "AudienceSegment",
290+ "type": "object",
291+ "properties": {
292+ "description": {
293+ "type": "string"
294+ },
295+ "id": {
296+ "type": "string",
297+ "format": "int64"
298+ },
299+ "name": {
300+ "type": "string"
301+ },
302+ "numCookies": {
303+ "type": "string",
304+ "format": "int64"
305+ }
306+ }
307+ },
308+ "BillingInfo": {
309+ "id": "BillingInfo",
310+ "type": "object",
311+ "description": "The configuration data for an Ad Exchange billing info.",
312+ "properties": {
313+ "accountId": {
314+ "type": "integer",
315+ "description": "Account id.",
316+ "format": "int32"
317+ },
318+ "accountName": {
319+ "type": "string",
320+ "description": "Account name."
321+ },
322+ "billingId": {
323+ "type": "array",
324+ "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.",
325+ "items": {
326+ "type": "string"
327+ }
328+ },
329+ "kind": {
330+ "type": "string",
331+ "description": "Resource type.",
332+ "default": "adexchangebuyer#billingInfo"
333+ }
334+ }
335+ },
336+ "BillingInfoList": {
337+ "id": "BillingInfoList",
338+ "type": "object",
339+ "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.",
340+ "properties": {
341+ "items": {
342+ "type": "array",
343+ "description": "A list of billing info relevant for your account.",
344+ "items": {
345+ "$ref": "BillingInfo"
346+ }
347+ },
348+ "kind": {
349+ "type": "string",
350+ "description": "Resource type.",
351+ "default": "adexchangebuyer#billingInfoList"
352+ }
353+ }
354+ },
355+ "BrandDto": {
356+ "id": "BrandDto",
357+ "type": "object",
358+ "properties": {
359+ "advertiserId": {
360+ "type": "string",
361+ "format": "int64"
362+ },
363+ "id": {
364+ "type": "string",
365+ "format": "int64"
366+ },
367+ "name": {
368+ "type": "string"
369+ }
370+ }
371+ },
372+ "Budget": {
373+ "id": "Budget",
374+ "type": "object",
375+ "description": "The configuration data for Ad Exchange RTB - Budget API.",
376+ "properties": {
377+ "accountId": {
378+ "type": "string",
379+ "description": "The id of the account. This is required for get and update requests.",
380+ "format": "int64"
381+ },
382+ "billingId": {
383+ "type": "string",
384+ "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.",
385+ "format": "int64"
386+ },
387+ "budgetAmount": {
388+ "type": "string",
389+ "description": "The budget amount to apply for the billingId provided. This is required for update requests.",
390+ "format": "int64"
391+ },
392+ "currencyCode": {
393+ "type": "string",
394+ "description": "The currency code for the buyer. This cannot be altered here."
395+ },
396+ "id": {
397+ "type": "string",
398+ "description": "The unique id that describes this item."
399+ },
400+ "kind": {
401+ "type": "string",
402+ "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".",
403+ "default": "adexchangebuyer#budget"
404+ }
405+ }
406+ },
407+ "Buyer": {
408+ "id": "Buyer",
409+ "type": "object",
410+ "properties": {
411+ "accountId": {
412+ "type": "string",
413+ "description": "Adx account id of the buyer."
414+ }
415+ }
416+ },
417+ "BuyerDto": {
418+ "id": "BuyerDto",
419+ "type": "object",
420+ "properties": {
421+ "accountId": {
422+ "type": "integer",
423+ "format": "int32"
424+ },
425+ "customerId": {
426+ "type": "integer",
427+ "format": "int32"
428+ },
429+ "displayName": {
430+ "type": "string"
431+ },
432+ "enabledForInterestTargetingDeals": {
433+ "type": "boolean"
434+ },
435+ "enabledForPreferredDeals": {
436+ "type": "boolean"
437+ },
438+ "id": {
439+ "type": "integer",
440+ "format": "int32"
441+ },
442+ "sponsorAccountId": {
443+ "type": "integer",
444+ "format": "int32"
445+ }
446+ }
447+ },
448+ "ClientAccessCapabilities": {
449+ "id": "ClientAccessCapabilities",
450+ "type": "object",
451+ "properties": {
452+ "capabilities": {
453+ "type": "array",
454+ "items": {
455+ "type": "integer",
456+ "format": "int32"
457+ }
458+ },
459+ "clientAccountId": {
460+ "type": "string",
461+ "format": "int64"
462+ }
463+ }
464+ },
465+ "ContactInformation": {
466+ "id": "ContactInformation",
467+ "type": "object",
468+ "properties": {
469+ "email": {
470+ "type": "string",
471+ "description": "Email address of the contact."
472+ },
473+ "name": {
474+ "type": "string",
475+ "description": "The name of the contact."
476+ }
477+ }
478+ },
479+ "CreateOrdersRequest": {
480+ "id": "CreateOrdersRequest",
481+ "type": "object",
482+ "properties": {
483+ "orders": {
484+ "type": "array",
485+ "description": "The list of orders to create.",
486+ "items": {
487+ "$ref": "MarketplaceOrder"
488+ }
489+ },
490+ "webPropertyCode": {
491+ "type": "string"
492+ }
493+ }
494+ },
495+ "CreateOrdersResponse": {
496+ "id": "CreateOrdersResponse",
497+ "type": "object",
498+ "properties": {
499+ "orders": {
500+ "type": "array",
501+ "description": "The list of orders successfully created.",
502+ "items": {
503+ "$ref": "MarketplaceOrder"
504+ }
505+ }
506+ }
507+ },
508+ "Creative": {
509+ "id": "Creative",
510+ "type": "object",
511+ "description": "A creative and its classification data.",
512+ "properties": {
513+ "HTMLSnippet": {
514+ "type": "string",
515+ "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set."
516+ },
517+ "accountId": {
518+ "type": "integer",
519+ "description": "Account id.",
520+ "format": "int32",
521+ "annotations": {
522+ "required": [
523+ "adexchangebuyer.creatives.insert"
524+ ]
525+ }
526+ },
527+ "advertiserId": {
528+ "type": "array",
529+ "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.",
530+ "items": {
531+ "type": "string",
532+ "format": "int64"
533+ }
534+ },
535+ "advertiserName": {
536+ "type": "string",
537+ "description": "The name of the company being advertised in the creative.",
538+ "annotations": {
539+ "required": [
540+ "adexchangebuyer.creatives.insert"
541+ ]
542+ }
543+ },
544+ "agencyId": {
545+ "type": "string",
546+ "description": "The agency id for this creative.",
547+ "format": "int64"
548+ },
549+ "api_upload_timestamp": {
550+ "type": "string",
551+ "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).",
552+ "format": "date-time"
553+ },
554+ "attribute": {
555+ "type": "array",
556+ "description": "All attributes for the ads that may be shown from this snippet.",
557+ "items": {
558+ "type": "integer",
559+ "format": "int32"
560+ }
561+ },
562+ "buyerCreativeId": {
563+ "type": "string",
564+ "description": "A buyer-specific id identifying the creative in this ad.",
565+ "annotations": {
566+ "required": [
567+ "adexchangebuyer.creatives.insert"
568+ ]
569+ }
570+ },
571+ "clickThroughUrl": {
572+ "type": "array",
573+ "description": "The set of destination urls for the snippet.",
574+ "items": {
575+ "type": "string"
576+ },
577+ "annotations": {
578+ "required": [
579+ "adexchangebuyer.creatives.insert"
580+ ]
581+ }
582+ },
583+ "corrections": {
584+ "type": "array",
585+ "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.",
586+ "items": {
587+ "type": "object",
588+ "properties": {
589+ "details": {
590+ "type": "array",
591+ "description": "Additional details about the correction.",
592+ "items": {
593+ "type": "string"
594+ }
595+ },
596+ "reason": {
597+ "type": "string",
598+ "description": "The type of correction that was applied to the creative."
599+ }
600+ }
601+ }
602+ },
603+ "dealsStatus": {
604+ "type": "string",
605+ "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."
606+ },
607+ "filteringReasons": {
608+ "type": "object",
609+ "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.",
610+ "properties": {
611+ "date": {
612+ "type": "string",
613+ "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST."
614+ },
615+ "reasons": {
616+ "type": "array",
617+ "description": "The filtering reasons.",
618+ "items": {
619+ "type": "object",
620+ "properties": {
621+ "filteringCount": {
622+ "type": "string",
623+ "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.",
624+ "format": "int64"
625+ },
626+ "filteringStatus": {
627+ "type": "integer",
628+ "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.",
629+ "format": "int32"
630+ }
631+ }
632+ }
633+ }
634+ }
635+ },
636+ "height": {
637+ "type": "integer",
638+ "description": "Ad height.",
639+ "format": "int32",
640+ "annotations": {
641+ "required": [
642+ "adexchangebuyer.creatives.insert"
643+ ]
644+ }
645+ },
646+ "impressionTrackingUrl": {
647+ "type": "array",
648+ "description": "The set of urls to be called to record an impression.",
649+ "items": {
650+ "type": "string"
651+ }
652+ },
653+ "kind": {
654+ "type": "string",
655+ "description": "Resource type.",
656+ "default": "adexchangebuyer#creative"
657+ },
658+ "nativeAd": {
659+ "type": "object",
660+ "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.",
661+ "properties": {
662+ "advertiser": {
663+ "type": "string"
664+ },
665+ "appIcon": {
666+ "type": "object",
667+ "description": "The app icon, for app download ads.",
668+ "properties": {
669+ "height": {
670+ "type": "integer",
671+ "format": "int32"
672+ },
673+ "url": {
674+ "type": "string"
675+ },
676+ "width": {
677+ "type": "integer",
678+ "format": "int32"
679+ }
680+ }
681+ },
682+ "body": {
683+ "type": "string",
684+ "description": "A long description of the ad."
685+ },
686+ "callToAction": {
687+ "type": "string",
688+ "description": "A label for the button that the user is supposed to click."
689+ },
690+ "clickTrackingUrl": {
691+ "type": "string",
692+ "description": "The URL to use for click tracking."
693+ },
694+ "headline": {
695+ "type": "string",
696+ "description": "A short title for the ad."
697+ },
698+ "image": {
699+ "type": "object",
700+ "description": "A large image.",
701+ "properties": {
702+ "height": {
703+ "type": "integer",
704+ "format": "int32"
705+ },
706+ "url": {
707+ "type": "string"
708+ },
709+ "width": {
710+ "type": "integer",
711+ "format": "int32"
712+ }
713+ }
714+ },
715+ "impressionTrackingUrl": {
716+ "type": "array",
717+ "description": "The URLs are called when the impression is rendered.",
718+ "items": {
719+ "type": "string"
720+ }
721+ },
722+ "logo": {
723+ "type": "object",
724+ "description": "A smaller image, for the advertiser logo.",
725+ "properties": {
726+ "height": {
727+ "type": "integer",
728+ "format": "int32"
729+ },
730+ "url": {
731+ "type": "string"
732+ },
733+ "width": {
734+ "type": "integer",
735+ "format": "int32"
736+ }
737+ }
738+ },
739+ "price": {
740+ "type": "string",
741+ "description": "The price of the promoted app including the currency info."
742+ },
743+ "starRating": {
744+ "type": "number",
745+ "description": "The app rating in the app store. Must be in the range [0-5].",
746+ "format": "double"
747+ },
748+ "store": {
749+ "type": "string",
750+ "description": "The URL to the app store to purchase/download the promoted app."
751+ }
752+ }
753+ },
754+ "openAuctionStatus": {
755+ "type": "string",
756+ "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."
757+ },
758+ "productCategories": {
759+ "type": "array",
760+ "description": "Detected product categories, if any. Read-only. This field should not be set in requests.",
761+ "items": {
762+ "type": "integer",
763+ "format": "int32"
764+ }
765+ },
766+ "restrictedCategories": {
767+ "type": "array",
768+ "description": "All restricted categories for the ads that may be shown from this snippet.",
769+ "items": {
770+ "type": "integer",
771+ "format": "int32"
772+ }
773+ },
774+ "sensitiveCategories": {
775+ "type": "array",
776+ "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.",
777+ "items": {
778+ "type": "integer",
779+ "format": "int32"
780+ }
781+ },
782+ "servingRestrictions": {
783+ "type": "array",
784+ "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.",
785+ "items": {
786+ "type": "object",
787+ "properties": {
788+ "contexts": {
789+ "type": "array",
790+ "description": "All known contexts/restrictions.",
791+ "items": {
792+ "type": "object",
793+ "properties": {
794+ "auctionType": {
795+ "type": "array",
796+ "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this restriction applies to.",
797+ "items": {
798+ "type": "string"
799+ }
800+ },
801+ "contextType": {
802+ "type": "string",
803+ "description": "The type of context (e.g., location, platform, auction type, SSL-ness)."
804+ },
805+ "geoCriteriaId": {
806+ "type": "array",
807+ "description": "Only set when contextType=LOCATION. Represents the geo criterias this restriction applies to.",
808+ "items": {
809+ "type": "integer",
810+ "format": "int32"
811+ }
812+ },
813+ "platform": {
814+ "type": "array",
815+ "description": "Only set when contextType=PLATFORM. Represents the platforms this restriction applies to.",
816+ "items": {
817+ "type": "string"
818+ }
819+ }
820+ }
821+ }
822+ },
823+ "disapprovalReasons": {
824+ "type": "array",
825+ "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.",
826+ "items": {
827+ "type": "object",
828+ "properties": {
829+ "details": {
830+ "type": "array",
831+ "description": "Additional details about the reason for disapproval.",
832+ "items": {
833+ "type": "string"
834+ }
835+ },
836+ "reason": {
837+ "type": "string",
838+ "description": "The categorized reason for disapproval."
839+ }
840+ }
841+ }
842+ },
843+ "reason": {
844+ "type": "string",
845+ "description": "Why the creative is ineligible to serve in this context (e.g., it has been explicitly disapproved or is pending review)."
846+ }
847+ }
848+ }
849+ },
850+ "vendorType": {
851+ "type": "array",
852+ "description": "All vendor types for the ads that may be shown from this snippet.",
853+ "items": {
854+ "type": "integer",
855+ "format": "int32"
856+ }
857+ },
858+ "version": {
859+ "type": "integer",
860+ "description": "The version for this creative. Read-only. This field should not be set in requests.",
861+ "format": "int32"
862+ },
863+ "videoURL": {
864+ "type": "string",
865+ "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set."
866+ },
867+ "width": {
868+ "type": "integer",
869+ "description": "Ad width.",
870+ "format": "int32",
871+ "annotations": {
872+ "required": [
873+ "adexchangebuyer.creatives.insert"
874+ ]
875+ }
876+ }
877+ }
878+ },
879+ "CreativesList": {
880+ "id": "CreativesList",
881+ "type": "object",
882+ "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.",
883+ "properties": {
884+ "items": {
885+ "type": "array",
886+ "description": "A list of creatives.",
887+ "items": {
888+ "$ref": "Creative"
889+ }
890+ },
891+ "kind": {
892+ "type": "string",
893+ "description": "Resource type.",
894+ "default": "adexchangebuyer#creativesList"
895+ },
896+ "nextPageToken": {
897+ "type": "string",
898+ "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
899+ }
900+ }
901+ },
902+ "DateTime": {
903+ "id": "DateTime",
904+ "type": "object",
905+ "properties": {
906+ "day": {
907+ "type": "integer",
908+ "format": "int32"
909+ },
910+ "hour": {
911+ "type": "integer",
912+ "format": "int32"
913+ },
914+ "minute": {
915+ "type": "integer",
916+ "format": "int32"
917+ },
918+ "month": {
919+ "type": "integer",
920+ "format": "int32"
921+ },
922+ "second": {
923+ "type": "integer",
924+ "format": "int32"
925+ },
926+ "timeZoneId": {
927+ "type": "string"
928+ },
929+ "year": {
930+ "type": "integer",
931+ "format": "int32"
932+ }
933+ }
934+ },
935+ "DealPartyDto": {
936+ "id": "DealPartyDto",
937+ "type": "object",
938+ "properties": {
939+ "buyer": {
940+ "$ref": "BuyerDto"
941+ },
942+ "buyerSellerRole": {
943+ "type": "string"
944+ },
945+ "customerId": {
946+ "type": "integer",
947+ "format": "int32"
948+ },
949+ "name": {
950+ "type": "string"
951+ },
952+ "webProperty": {
953+ "$ref": "WebPropertyDto"
954+ }
955+ }
956+ },
957+ "DealTerms": {
958+ "id": "DealTerms",
959+ "type": "object",
960+ "properties": {
961+ "description": {
962+ "type": "string",
963+ "description": "Description for the proposed terms of the deal."
964+ },
965+ "guaranteedFixedPriceTerms": {
966+ "$ref": "DealTermsGuaranteedFixedPriceTerms",
967+ "description": "The terms for guaranteed fixed price deals."
968+ },
969+ "nonGuaranteedAuctionTerms": {
970+ "$ref": "DealTermsNonGuaranteedAuctionTerms",
971+ "description": "The terms for non-guaranteed auction deals."
972+ },
973+ "nonGuaranteedFixedPriceTerms": {
974+ "$ref": "DealTermsNonGuaranteedFixedPriceTerms",
975+ "description": "The terms for non-guaranteed fixed price deals."
976+ }
977+ }
978+ },
979+ "DealTermsGuaranteedFixedPriceTerms": {
980+ "id": "DealTermsGuaranteedFixedPriceTerms",
981+ "type": "object",
982+ "properties": {
983+ "fixedPrices": {
984+ "type": "array",
985+ "description": "Fixed price for the specified buyer.",
986+ "items": {
987+ "$ref": "PricePerBuyer"
988+ }
989+ },
990+ "guaranteedImpressions": {
991+ "type": "string",
992+ "description": "Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.",
993+ "format": "int64"
994+ },
995+ "guaranteedLooks": {
996+ "type": "string",
997+ "description": "Count of guaranteed looks. Required for deal, optional for offer.",
998+ "format": "int64"
999+ }
1000+ }
1001+ },
1002+ "DealTermsNonGuaranteedAuctionTerms": {
1003+ "id": "DealTermsNonGuaranteedAuctionTerms",
1004+ "type": "object",
1005+ "properties": {
1006+ "privateAuctionId": {
1007+ "type": "string",
1008+ "description": "Id of the corresponding private auction."
1009+ },
1010+ "reservePricePerBuyers": {
1011+ "type": "array",
1012+ "description": "Reserve price for the specified buyer.",
1013+ "items": {
1014+ "$ref": "PricePerBuyer"
1015+ }
1016+ }
1017+ }
1018+ },
1019+ "DealTermsNonGuaranteedFixedPriceTerms": {
1020+ "id": "DealTermsNonGuaranteedFixedPriceTerms",
1021+ "type": "object",
1022+ "properties": {
1023+ "fixedPrices": {
1024+ "type": "array",
1025+ "description": "Fixed price for the specified buyer.",
1026+ "items": {
1027+ "$ref": "PricePerBuyer"
1028+ }
1029+ }
1030+ }
1031+ },
1032+ "DeleteOrderDealsRequest": {
1033+ "id": "DeleteOrderDealsRequest",
1034+ "type": "object",
1035+ "properties": {
1036+ "dealIds": {
1037+ "type": "array",
1038+ "description": "List of deals to delete for a given order",
1039+ "items": {
1040+ "type": "string"
1041+ }
1042+ },
1043+ "orderRevisionNumber": {
1044+ "type": "string",
1045+ "description": "The last known order revision number.",
1046+ "format": "int64"
1047+ },
1048+ "updateAction": {
1049+ "type": "string"
1050+ }
1051+ }
1052+ },
1053+ "DeleteOrderDealsResponse": {
1054+ "id": "DeleteOrderDealsResponse",
1055+ "type": "object",
1056+ "properties": {
1057+ "deals": {
1058+ "type": "array",
1059+ "description": "List of deals deleted (in the same order as passed in the request)",
1060+ "items": {
1061+ "$ref": "MarketplaceDeal"
1062+ }
1063+ },
1064+ "orderRevisionNumber": {
1065+ "type": "string",
1066+ "description": "The updated revision number for the order.",
1067+ "format": "int64"
1068+ }
1069+ }
1070+ },
1071+ "DeliveryControl": {
1072+ "id": "DeliveryControl",
1073+ "type": "object",
1074+ "properties": {
1075+ "deliveryRateType": {
1076+ "type": "string"
1077+ },
1078+ "frequencyCaps": {
1079+ "type": "array",
1080+ "items": {
1081+ "$ref": "DeliveryControlFrequencyCap"
1082+ }
1083+ }
1084+ }
1085+ },
1086+ "DeliveryControlFrequencyCap": {
1087+ "id": "DeliveryControlFrequencyCap",
1088+ "type": "object",
1089+ "properties": {
1090+ "maxImpressions": {
1091+ "type": "integer",
1092+ "format": "int32"
1093+ },
1094+ "numTimeUnits": {
1095+ "type": "integer",
1096+ "format": "int32"
1097+ },
1098+ "timeUnitType": {
1099+ "type": "string"
1100+ }
1101+ }
1102+ },
1103+ "EditAllOrderDealsRequest": {
1104+ "id": "EditAllOrderDealsRequest",
1105+ "type": "object",
1106+ "properties": {
1107+ "deals": {
1108+ "type": "array",
1109+ "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.",
1110+ "items": {
1111+ "$ref": "MarketplaceDeal"
1112+ }
1113+ },
1114+ "order": {
1115+ "$ref": "MarketplaceOrder",
1116+ "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."
1117+ },
1118+ "orderRevisionNumber": {
1119+ "type": "string",
1120+ "description": "The last known revision number for the order.",
1121+ "format": "int64"
1122+ },
1123+ "updateAction": {
1124+ "type": "string",
1125+ "description": "Indicates an optional action to take on the order"
1126+ }
1127+ }
1128+ },
1129+ "EditAllOrderDealsResponse": {
1130+ "id": "EditAllOrderDealsResponse",
1131+ "type": "object",
1132+ "properties": {
1133+ "deals": {
1134+ "type": "array",
1135+ "description": "List of all deals in the order after edit.",
1136+ "items": {
1137+ "$ref": "MarketplaceDeal"
1138+ }
1139+ }
1140+ }
1141+ },
1142+ "EditHistoryDto": {
1143+ "id": "EditHistoryDto",
1144+ "type": "object",
1145+ "properties": {
1146+ "createdByLoginName": {
1147+ "type": "string"
1148+ },
1149+ "createdTimeStamp": {
1150+ "type": "string",
1151+ "format": "int64"
1152+ },
1153+ "lastUpdateTimeStamp": {
1154+ "type": "string",
1155+ "format": "int64"
1156+ },
1157+ "lastUpdatedByLoginName": {
1158+ "type": "string"
1159+ }
1160+ }
1161+ },
1162+ "GetFinalizedNegotiationByExternalDealIdRequest": {
1163+ "id": "GetFinalizedNegotiationByExternalDealIdRequest",
1164+ "type": "object",
1165+ "properties": {
1166+ "includePrivateAuctions": {
1167+ "type": "boolean"
1168+ }
1169+ }
1170+ },
1171+ "GetNegotiationByIdRequest": {
1172+ "id": "GetNegotiationByIdRequest",
1173+ "type": "object",
1174+ "properties": {
1175+ "includePrivateAuctions": {
1176+ "type": "boolean"
1177+ }
1178+ }
1179+ },
1180+ "GetNegotiationsRequest": {
1181+ "id": "GetNegotiationsRequest",
1182+ "type": "object",
1183+ "properties": {
1184+ "finalized": {
1185+ "type": "boolean"
1186+ },
1187+ "includePrivateAuctions": {
1188+ "type": "boolean"
1189+ },
1190+ "sinceTimestampMillis": {
1191+ "type": "string",
1192+ "format": "int64"
1193+ }
1194+ }
1195+ },
1196+ "GetNegotiationsResponse": {
1197+ "id": "GetNegotiationsResponse",
1198+ "type": "object",
1199+ "properties": {
1200+ "kind": {
1201+ "type": "string",
1202+ "default": "adexchangebuyer#negotiationsList"
1203+ },
1204+ "negotiations": {
1205+ "type": "array",
1206+ "items": {
1207+ "$ref": "NegotiationDto"
1208+ }
1209+ }
1210+ }
1211+ },
1212+ "GetOffersResponse": {
1213+ "id": "GetOffersResponse",
1214+ "type": "object",
1215+ "properties": {
1216+ "offers": {
1217+ "type": "array",
1218+ "description": "The returned list of offers.",
1219+ "items": {
1220+ "$ref": "MarketplaceOffer"
1221+ }
1222+ }
1223+ }
1224+ },
1225+ "GetOrderDealsResponse": {
1226+ "id": "GetOrderDealsResponse",
1227+ "type": "object",
1228+ "properties": {
1229+ "deals": {
1230+ "type": "array",
1231+ "description": "List of deals for the order",
1232+ "items": {
1233+ "$ref": "MarketplaceDeal"
1234+ }
1235+ }
1236+ }
1237+ },
1238+ "GetOrderNotesResponse": {
1239+ "id": "GetOrderNotesResponse",
1240+ "type": "object",
1241+ "properties": {
1242+ "notes": {
1243+ "type": "array",
1244+ "description": "The list of matching notes.",
1245+ "items": {
1246+ "$ref": "MarketplaceNote"
1247+ }
1248+ }
1249+ }
1250+ },
1251+ "GetOrdersResponse": {
1252+ "id": "GetOrdersResponse",
1253+ "type": "object",
1254+ "properties": {
1255+ "orders": {
1256+ "type": "array",
1257+ "description": "The list of matching orders.",
1258+ "items": {
1259+ "$ref": "MarketplaceOrder"
1260+ }
1261+ }
1262+ }
1263+ },
1264+ "InventorySegmentTargeting": {
1265+ "id": "InventorySegmentTargeting",
1266+ "type": "object",
1267+ "properties": {
1268+ "negativeAdSizes": {
1269+ "type": "array",
1270+ "items": {
1271+ "$ref": "AdSize"
1272+ }
1273+ },
1274+ "negativeAdTypeSegments": {
1275+ "type": "array",
1276+ "items": {
1277+ "type": "string"
1278+ }
1279+ },
1280+ "negativeAudienceSegments": {
1281+ "type": "array",
1282+ "items": {
1283+ "type": "string",
1284+ "format": "int64"
1285+ }
1286+ },
1287+ "negativeDeviceCategories": {
1288+ "type": "array",
1289+ "items": {
1290+ "type": "string",
1291+ "format": "int64"
1292+ }
1293+ },
1294+ "negativeIcmBrands": {
1295+ "type": "array",
1296+ "items": {
1297+ "type": "string",
1298+ "format": "int64"
1299+ }
1300+ },
1301+ "negativeIcmInterests": {
1302+ "type": "array",
1303+ "items": {
1304+ "type": "string",
1305+ "format": "int64"
1306+ }
1307+ },
1308+ "negativeInventorySlots": {
1309+ "type": "array",
1310+ "items": {
1311+ "type": "string"
1312+ }
1313+ },
1314+ "negativeKeyValues": {
1315+ "type": "array",
1316+ "items": {
1317+ "$ref": "RuleKeyValuePair"
1318+ }
1319+ },
1320+ "negativeLocations": {
1321+ "type": "array",
1322+ "items": {
1323+ "type": "string",
1324+ "format": "int64"
1325+ }
1326+ },
1327+ "negativeMobileApps": {
1328+ "type": "array",
1329+ "items": {
1330+ "type": "string"
1331+ }
1332+ },
1333+ "negativeOperatingSystemVersions": {
1334+ "type": "array",
1335+ "items": {
1336+ "type": "string",
1337+ "format": "int64"
1338+ }
1339+ },
1340+ "negativeOperatingSystems": {
1341+ "type": "array",
1342+ "items": {
1343+ "type": "string",
1344+ "format": "int64"
1345+ }
1346+ },
1347+ "negativeSiteUrls": {
1348+ "type": "array",
1349+ "items": {
1350+ "type": "string"
1351+ }
1352+ },
1353+ "negativeSizes": {
1354+ "type": "array",
1355+ "items": {
1356+ "type": "string",
1357+ "format": "int64"
1358+ }
1359+ },
1360+ "negativeVideoAdPositionSegments": {
1361+ "type": "array",
1362+ "items": {
1363+ "type": "string"
1364+ }
1365+ },
1366+ "negativeVideoDurationSegments": {
1367+ "type": "array",
1368+ "items": {
1369+ "type": "string",
1370+ "format": "int64"
1371+ }
1372+ },
1373+ "negativeXfpAdSlots": {
1374+ "type": "array",
1375+ "items": {
1376+ "type": "string",
1377+ "format": "int64"
1378+ }
1379+ },
1380+ "negativeXfpPlacements": {
1381+ "type": "array",
1382+ "items": {
1383+ "type": "string",
1384+ "format": "int64"
1385+ }
1386+ },
1387+ "positiveAdSizes": {
1388+ "type": "array",
1389+ "items": {
1390+ "$ref": "AdSize"
1391+ }
1392+ },
1393+ "positiveAdTypeSegments": {
1394+ "type": "array",
1395+ "items": {
1396+ "type": "string"
1397+ }
1398+ },
1399+ "positiveAudienceSegments": {
1400+ "type": "array",
1401+ "items": {
1402+ "type": "string",
1403+ "format": "int64"
1404+ }
1405+ },
1406+ "positiveDeviceCategories": {
1407+ "type": "array",
1408+ "items": {
1409+ "type": "string",
1410+ "format": "int64"
1411+ }
1412+ },
1413+ "positiveIcmBrands": {
1414+ "type": "array",
1415+ "items": {
1416+ "type": "string",
1417+ "format": "int64"
1418+ }
1419+ },
1420+ "positiveIcmInterests": {
1421+ "type": "array",
1422+ "items": {
1423+ "type": "string",
1424+ "format": "int64"
1425+ }
1426+ },
1427+ "positiveInventorySlots": {
1428+ "type": "array",
1429+ "items": {
1430+ "type": "string"
1431+ }
1432+ },
1433+ "positiveKeyValues": {
1434+ "type": "array",
1435+ "items": {
1436+ "$ref": "RuleKeyValuePair"
1437+ }
1438+ },
1439+ "positiveLocations": {
1440+ "type": "array",
1441+ "items": {
1442+ "type": "string",
1443+ "format": "int64"
1444+ }
1445+ },
1446+ "positiveMobileApps": {
1447+ "type": "array",
1448+ "items": {
1449+ "type": "string"
1450+ }
1451+ },
1452+ "positiveOperatingSystemVersions": {
1453+ "type": "array",
1454+ "items": {
1455+ "type": "string",
1456+ "format": "int64"
1457+ }
1458+ },
1459+ "positiveOperatingSystems": {
1460+ "type": "array",
1461+ "items": {
1462+ "type": "string",
1463+ "format": "int64"
1464+ }
1465+ },
1466+ "positiveSiteUrls": {
1467+ "type": "array",
1468+ "items": {
1469+ "type": "string"
1470+ }
1471+ },
1472+ "positiveSizes": {
1473+ "type": "array",
1474+ "items": {
1475+ "type": "string",
1476+ "format": "int64"
1477+ }
1478+ },
1479+ "positiveVideoAdPositionSegments": {
1480+ "type": "array",
1481+ "items": {
1482+ "type": "string"
1483+ }
1484+ },
1485+ "positiveVideoDurationSegments": {
1486+ "type": "array",
1487+ "items": {
1488+ "type": "string",
1489+ "format": "int64"
1490+ }
1491+ },
1492+ "positiveXfpAdSlots": {
1493+ "type": "array",
1494+ "items": {
1495+ "type": "string",
1496+ "format": "int64"
1497+ }
1498+ },
1499+ "positiveXfpPlacements": {
1500+ "type": "array",
1501+ "items": {
1502+ "type": "string",
1503+ "format": "int64"
1504+ }
1505+ }
1506+ }
1507+ },
1508+ "ListClientAccessCapabilitiesRequest": {
1509+ "id": "ListClientAccessCapabilitiesRequest",
1510+ "type": "object",
1511+ "properties": {
1512+ "sponsorAccountId": {
1513+ "type": "string",
1514+ "format": "int64"
1515+ }
1516+ }
1517+ },
1518+ "ListClientAccessCapabilitiesResponse": {
1519+ "id": "ListClientAccessCapabilitiesResponse",
1520+ "type": "object",
1521+ "properties": {
1522+ "clientAccessPermissions": {
1523+ "type": "array",
1524+ "items": {
1525+ "$ref": "ClientAccessCapabilities"
1526+ }
1527+ }
1528+ }
1529+ },
1530+ "ListOffersRequest": {
1531+ "id": "ListOffersRequest",
1532+ "type": "object",
1533+ "properties": {
1534+ "sinceTimestampMillis": {
1535+ "type": "string",
1536+ "format": "int64"
1537+ }
1538+ }
1539+ },
1540+ "ListOffersResponse": {
1541+ "id": "ListOffersResponse",
1542+ "type": "object",
1543+ "properties": {
1544+ "kind": {
1545+ "type": "string",
1546+ "default": "adexchangebuyer#offersList"
1547+ },
1548+ "offers": {
1549+ "type": "array",
1550+ "items": {
1551+ "$ref": "OfferDto"
1552+ }
1553+ }
1554+ }
1555+ },
1556+ "MarketplaceDeal": {
1557+ "id": "MarketplaceDeal",
1558+ "type": "object",
1559+ "description": "An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.",
1560+ "properties": {
1561+ "buyerPrivateData": {
1562+ "$ref": "PrivateData",
1563+ "description": "Buyer private data (hidden from seller)."
1564+ },
1565+ "creationTimeMs": {
1566+ "type": "string",
1567+ "description": "The time (ms since epoch) of the deal creation. (readonly)",
1568+ "format": "int64"
1569+ },
1570+ "dealId": {
1571+ "type": "string",
1572+ "description": "A unique deal=id for the deal (readonly)."
1573+ },
1574+ "deliveryControl": {
1575+ "$ref": "DeliveryControl",
1576+ "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."
1577+ },
1578+ "externalDealId": {
1579+ "type": "string",
1580+ "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)"
1581+ },
1582+ "flightEndTimeMs": {
1583+ "type": "string",
1584+ "description": "Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
1585+ "format": "int64"
1586+ },
1587+ "flightStartTimeMs": {
1588+ "type": "string",
1589+ "description": "Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)",
1590+ "format": "int64"
1591+ },
1592+ "inventoryDescription": {
1593+ "type": "string",
1594+ "description": "Description for the deal terms. (updatable)"
1595+ },
1596+ "kind": {
1597+ "type": "string",
1598+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".",
1599+ "default": "adexchangebuyer#marketplaceDeal"
1600+ },
1601+ "lastUpdateTimeMs": {
1602+ "type": "string",
1603+ "description": "The time (ms since epoch) when the deal was last updated. (readonly)",
1604+ "format": "int64"
1605+ },
1606+ "name": {
1607+ "type": "string",
1608+ "description": "The name of the deal. (updatable)"
1609+ },
1610+ "offerId": {
1611+ "type": "string",
1612+ "description": "The offer-id from which this deal was created. (readonly, except on create)"
1613+ },
1614+ "offerRevisionNumber": {
1615+ "type": "string",
1616+ "description": "The revision number of the offer that the deal was created from (readonly, except on create)",
1617+ "format": "int64"
1618+ },
1619+ "orderId": {
1620+ "type": "string"
1621+ },
1622+ "sellerContacts": {
1623+ "type": "array",
1624+ "description": "Optional Seller contact information for the deal (buyer-readonly)",
1625+ "items": {
1626+ "$ref": "ContactInformation"
1627+ }
1628+ },
1629+ "sharedTargetings": {
1630+ "type": "array",
1631+ "description": "The shared targeting visible to buyers and sellers. (updatable)",
1632+ "items": {
1633+ "$ref": "SharedTargeting"
1634+ }
1635+ },
1636+ "syndicationProduct": {
1637+ "type": "string",
1638+ "description": "The syndication product associated with the deal. (readonly, except on create)"
1639+ },
1640+ "terms": {
1641+ "$ref": "DealTerms",
1642+ "description": "The negotiable terms of the deal. (updatable)"
1643+ },
1644+ "webPropertyCode": {
1645+ "type": "string"
1646+ }
1647+ }
1648+ },
1649+ "MarketplaceDealParty": {
1650+ "id": "MarketplaceDealParty",
1651+ "type": "object",
1652+ "properties": {
1653+ "buyer": {
1654+ "$ref": "Buyer",
1655+ "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party."
1656+ },
1657+ "seller": {
1658+ "$ref": "Seller",
1659+ "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party."
1660+ }
1661+ }
1662+ },
1663+ "MarketplaceLabel": {
1664+ "id": "MarketplaceLabel",
1665+ "type": "object",
1666+ "properties": {
1667+ "accountId": {
1668+ "type": "string",
1669+ "description": "The accountId of the party that created the label."
1670+ },
1671+ "createTimeMs": {
1672+ "type": "string",
1673+ "description": "The creation time (in ms since epoch) for the label.",
1674+ "format": "int64"
1675+ },
1676+ "deprecatedMarketplaceDealParty": {
1677+ "$ref": "MarketplaceDealParty",
1678+ "description": "Information about the party that created the label."
1679+ },
1680+ "label": {
1681+ "type": "string",
1682+ "description": "The label to use."
1683+ }
1684+ }
1685+ },
1686+ "MarketplaceNote": {
1687+ "id": "MarketplaceNote",
1688+ "type": "object",
1689+ "description": "An order is associated with a bunch of notes which may optionally be associated with a deal and/or revision number.",
1690+ "properties": {
1691+ "creatorRole": {
1692+ "type": "string",
1693+ "description": "The role of the person (buyer/seller) creating the note. (readonly)"
1694+ },
1695+ "dealId": {
1696+ "type": "string",
1697+ "description": "Notes can optionally be associated with a deal. (readonly, except on create)"
1698+ },
1699+ "kind": {
1700+ "type": "string",
1701+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceNote\".",
1702+ "default": "adexchangebuyer#marketplaceNote"
1703+ },
1704+ "note": {
1705+ "type": "string",
1706+ "description": "The actual note to attach. (readonly, except on create)"
1707+ },
1708+ "noteId": {
1709+ "type": "string",
1710+ "description": "The unique id for the note. (readonly)"
1711+ },
1712+ "orderId": {
1713+ "type": "string",
1714+ "description": "The order_id that a note is attached to. (readonly)"
1715+ },
1716+ "orderRevisionNumber": {
1717+ "type": "string",
1718+ "description": "If the note is associated with an order revision number, then store that here. (readonly, except on create)",
1719+ "format": "int64"
1720+ },
1721+ "timestampMs": {
1722+ "type": "string",
1723+ "description": "The timestamp (ms since epoch) that this note was created. (readonly)",
1724+ "format": "int64"
1725+ }
1726+ }
1727+ },
1728+ "MarketplaceOffer": {
1729+ "id": "MarketplaceOffer",
1730+ "type": "object",
1731+ "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.",
1732+ "properties": {
1733+ "creationTimeMs": {
1734+ "type": "string",
1735+ "description": "Creation time in ms. since epoch (readonly)",
1736+ "format": "int64"
1737+ },
1738+ "creatorContacts": {
1739+ "type": "array",
1740+ "description": "Optional contact information for the creator of this offer. (buyer-readonly)",
1741+ "items": {
1742+ "$ref": "ContactInformation"
1743+ }
1744+ },
1745+ "flightEndTimeMs": {
1746+ "type": "string",
1747+ "description": "The proposed end time for the deal (ms since epoch) (buyer-readonly)",
1748+ "format": "int64"
1749+ },
1750+ "flightStartTimeMs": {
1751+ "type": "string",
1752+ "description": "Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)",
1753+ "format": "int64"
1754+ },
1755+ "hasCreatorSignedOff": {
1756+ "type": "boolean",
1757+ "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."
1758+ },
1759+ "kind": {
1760+ "type": "string",
1761+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOffer\".",
1762+ "default": "adexchangebuyer#marketplaceOffer"
1763+ },
1764+ "labels": {
1765+ "type": "array",
1766+ "description": "Optional List of labels for the offer (optional, buyer-readonly).",
1767+ "items": {
1768+ "$ref": "MarketplaceLabel"
1769+ }
1770+ },
1771+ "lastUpdateTimeMs": {
1772+ "type": "string",
1773+ "description": "Time of last update in ms. since epoch (readonly)",
1774+ "format": "int64"
1775+ },
1776+ "name": {
1777+ "type": "string",
1778+ "description": "The name for this offer as set by the seller. (buyer-readonly)"
1779+ },
1780+ "offerId": {
1781+ "type": "string",
1782+ "description": "The unique id for the offer (readonly)"
1783+ },
1784+ "revisionNumber": {
1785+ "type": "string",
1786+ "description": "The revision number of the offer. (readonly)",
1787+ "format": "int64"
1788+ },
1789+ "seller": {
1790+ "$ref": "Seller",
1791+ "description": "Information about the seller that created this offer (readonly, except on create)"
1792+ },
1793+ "sharedTargetings": {
1794+ "type": "array",
1795+ "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)",
1796+ "items": {
1797+ "$ref": "SharedTargeting"
1798+ }
1799+ },
1800+ "state": {
1801+ "type": "string",
1802+ "description": "The state of the offer. (buyer-readonly)"
1803+ },
1804+ "syndicationProduct": {
1805+ "type": "string",
1806+ "description": "The syndication product associated with the deal. (readonly, except on create)"
1807+ },
1808+ "terms": {
1809+ "$ref": "DealTerms",
1810+ "description": "The negotiable terms of the deal (buyer-readonly)"
1811+ },
1812+ "webPropertyCode": {
1813+ "type": "string"
1814+ }
1815+ }
1816+ },
1817+ "MarketplaceOrder": {
1818+ "id": "MarketplaceOrder",
1819+ "type": "object",
1820+ "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.",
1821+ "properties": {
1822+ "billedBuyer": {
1823+ "$ref": "Buyer",
1824+ "description": "Reference to the buyer that will get billed for this order. (readonly)"
1825+ },
1826+ "buyer": {
1827+ "$ref": "Buyer",
1828+ "description": "Reference to the buyer on the order. (readonly, except on create)"
1829+ },
1830+ "buyerContacts": {
1831+ "type": "array",
1832+ "description": "Optional contact information fort the buyer. (seller-readonly)",
1833+ "items": {
1834+ "$ref": "ContactInformation"
1835+ }
1836+ },
1837+ "buyerPrivateData": {
1838+ "$ref": "PrivateData",
1839+ "description": "Private data for buyer. (hidden from seller)."
1840+ },
1841+ "hasBuyerSignedOff": {
1842+ "type": "boolean",
1843+ "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)"
1844+ },
1845+ "hasSellerSignedOff": {
1846+ "type": "boolean",
1847+ "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)"
1848+ },
1849+ "isRenegotiating": {
1850+ "type": "boolean",
1851+ "description": "True if the order is being renegotiated (readonly)."
1852+ },
1853+ "isSetupComplete": {
1854+ "type": "boolean",
1855+ "description": "True, if the buyside inventory setup is complete for this order. (readonly)"
1856+ },
1857+ "kind": {
1858+ "type": "string",
1859+ "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOrder\".",
1860+ "default": "adexchangebuyer#marketplaceOrder"
1861+ },
1862+ "labels": {
1863+ "type": "array",
1864+ "description": "List of labels associated with the order. (readonly)",
1865+ "items": {
1866+ "$ref": "MarketplaceLabel"
1867+ }
1868+ },
1869+ "lastUpdaterOrCommentorRole": {
1870+ "type": "string",
1871+ "description": "The role of the last user that either updated the order or left a comment. (readonly)"
1872+ },
1873+ "lastUpdaterRole": {
1874+ "type": "string"
1875+ },
1876+ "name": {
1877+ "type": "string",
1878+ "description": "The name for the order (updatable)"
1879+ },
1880+ "orderId": {
1881+ "type": "string",
1882+ "description": "The unique id of the order. (readonly)."
1883+ },
1884+ "orderState": {
1885+ "type": "string",
1886+ "description": "The current state of the order. (readonly)"
1887+ },
1888+ "originatorRole": {
1889+ "type": "string",
1890+ "description": "Indicates whether the buyer/seller created the offer.(readonly)"
1891+ },
1892+ "revisionNumber": {
1893+ "type": "string",
1894+ "description": "The revision number for the order (readonly).",
1895+ "format": "int64"
1896+ },
1897+ "revisionTimeMs": {
1898+ "type": "string",
1899+ "description": "The time (ms since epoch) when the order was last revised (readonly).",
1900+ "format": "int64"
1901+ },
1902+ "seller": {
1903+ "$ref": "Seller",
1904+ "description": "Reference to the seller on the order. (readonly, except on create)"
1905+ },
1906+ "sellerContacts": {
1907+ "type": "array",
1908+ "description": "Optional contact information for the seller (buyer-readonly).",
1909+ "items": {
1910+ "$ref": "ContactInformation"
1911+ }
1912+ }
1913+ }
1914+ },
1915+ "MoneyDto": {
1916+ "id": "MoneyDto",
1917+ "type": "object",
1918+ "properties": {
1919+ "currencyCode": {
1920+ "type": "string"
1921+ },
1922+ "micros": {
1923+ "type": "string",
1924+ "format": "int64"
1925+ }
1926+ }
1927+ },
1928+ "NegotiationDto": {
1929+ "id": "NegotiationDto",
1930+ "type": "object",
1931+ "properties": {
1932+ "billedBuyer": {
1933+ "$ref": "DealPartyDto",
1934+ "description": "The billed buyer; Specified by a buyer buying through an intermediary."
1935+ },
1936+ "buyer": {
1937+ "$ref": "DealPartyDto",
1938+ "description": "Details of the buyer party in this negotiation."
1939+ },
1940+ "buyerEmailContacts": {
1941+ "type": "array",
1942+ "description": "The buyer party's contact email.",
1943+ "items": {
1944+ "type": "string"
1945+ }
1946+ },
1947+ "dealType": {
1948+ "type": "string",
1949+ "description": "The type of this deal."
1950+ },
1951+ "externalDealId": {
1952+ "type": "string",
1953+ "description": "For finalized negotiations, the ID of the finalized deal.",
1954+ "format": "int64"
1955+ },
1956+ "kind": {
1957+ "type": "string",
1958+ "default": "adexchangebuyer#negotiation"
1959+ },
1960+ "labelNames": {
1961+ "type": "array",
1962+ "description": "A list of label names applicable to this negotiation.",
1963+ "items": {
1964+ "type": "string"
1965+ }
1966+ },
1967+ "negotiationId": {
1968+ "type": "string",
1969+ "description": "The unique ID of this negotiation.",
1970+ "format": "int64"
1971+ },
1972+ "negotiationRounds": {
1973+ "type": "array",
1974+ "description": "The series of negotiation rounds for this negotiation.",
1975+ "items": {
1976+ "$ref": "NegotiationRoundDto"
1977+ }
1978+ },
1979+ "negotiationState": {
1980+ "type": "string",
1981+ "description": "The state of this negotiation."
1982+ },
1983+ "offerId": {
1984+ "type": "string",
1985+ "description": "The ID of this negotiation's original offer.",
1986+ "format": "int64"
1987+ },
1988+ "seller": {
1989+ "$ref": "DealPartyDto",
1990+ "description": "Details of the seller party in this negotiation."
1991+ },
1992+ "sellerEmailContacts": {
1993+ "type": "array",
1994+ "description": "The seller party's contact email.",
1995+ "items": {
1996+ "type": "string"
1997+ }
1998+ },
1999+ "stats": {
2000+ "$ref": "StatsDto",
2001+ "description": "The stats for this negotiation."
2002+ },
2003+ "status": {
2004+ "type": "string",
2005+ "description": "The status of this negotiation."
2006+ }
2007+ }
2008+ },
2009+ "NegotiationRoundDto": {
2010+ "id": "NegotiationRoundDto",
2011+ "type": "object",
2012+ "properties": {
2013+ "action": {
2014+ "type": "string",
2015+ "description": "The action performed by this negotiation round."
2016+ },
2017+ "dbmPartnerId": {
2018+ "type": "string",
2019+ "description": "Stores DBM partner ID for use by DBM",
2020+ "format": "int64"
2021+ },
2022+ "editHistory": {
2023+ "$ref": "EditHistoryDto",
2024+ "description": "The edit history of this negotiation round."
2025+ },
2026+ "kind": {
2027+ "type": "string",
2028+ "default": "adexchangebuyer#negotiationRound"
2029+ },
2030+ "negotiationId": {
2031+ "type": "string",
2032+ "description": "The ID of the negotiation to which this negotiation round applies.",
2033+ "format": "int64"
2034+ },
2035+ "notes": {
2036+ "type": "string",
2037+ "description": "Notes regarding this negotiation round."
2038+ },
2039+ "originatorRole": {
2040+ "type": "string",
2041+ "description": "The role, either buyer or seller, initiating this negotiation round."
2042+ },
2043+ "roundNumber": {
2044+ "type": "string",
2045+ "description": "The number of this negotiation round, in sequence.",
2046+ "format": "int64"
2047+ },
2048+ "terms": {
2049+ "$ref": "TermsDto",
2050+ "description": "The detailed terms proposed in this negotiation round."
2051+ }
2052+ }
2053+ },
2054+ "OfferDto": {
2055+ "id": "OfferDto",
2056+ "type": "object",
2057+ "properties": {
2058+ "anonymous": {
2059+ "type": "boolean",
2060+ "description": "Whether this offer is anonymous."
2061+ },
2062+ "billedBuyer": {
2063+ "$ref": "DealPartyDto",
2064+ "description": "The billed buyer; For buyer initiated offers, buying through an intermediary."
2065+ },
2066+ "closedToDealParties": {
2067+ "type": "array",
2068+ "description": "The list of buyer or seller parties this offer is closed to.",
2069+ "items": {
2070+ "$ref": "DealPartyDto"
2071+ }
2072+ },
2073+ "creator": {
2074+ "$ref": "DealPartyDto",
2075+ "description": "The creator of this offer."
2076+ },
2077+ "emailContacts": {
2078+ "type": "array",
2079+ "description": "The list of email contacts for this offer.",
2080+ "items": {
2081+ "type": "string"
2082+ }
2083+ },
2084+ "isOpen": {
2085+ "type": "boolean",
2086+ "description": "Whether this offer is open."
2087+ },
2088+ "kind": {
2089+ "type": "string",
2090+ "default": "adexchangebuyer#offer"
2091+ },
2092+ "labelNames": {
2093+ "type": "array",
2094+ "description": "The list of label names applicable to this offer.",
2095+ "items": {
2096+ "type": "string"
2097+ }
2098+ },
2099+ "offerId": {
2100+ "type": "string",
2101+ "description": "The unique ID of this offer.",
2102+ "format": "int64"
2103+ },
2104+ "offerState": {
2105+ "type": "string",
2106+ "description": "The state of this offer."
2107+ },
2108+ "openToDealParties": {
2109+ "type": "array",
2110+ "description": "The list of buyer or seller parties this offer is open to.",
2111+ "items": {
2112+ "$ref": "DealPartyDto"
2113+ }
2114+ },
2115+ "pointOfContact": {
2116+ "type": "string",
2117+ "description": "The point of contact for this offer."
2118+ },
2119+ "status": {
2120+ "type": "string",
2121+ "description": "The status of this offer."
2122+ },
2123+ "terms": {
2124+ "$ref": "TermsDto",
2125+ "description": "The terms of this offer."
2126+ }
2127+ }
2128+ },
2129+ "PerformanceReport": {
2130+ "id": "PerformanceReport",
2131+ "type": "object",
2132+ "description": "The configuration data for an Ad Exchange performance report list.",
2133+ "properties": {
2134+ "bidRate": {
2135+ "type": "number",
2136+ "description": "The number of bid responses with an ad.",
2137+ "format": "double"
2138+ },
2139+ "bidRequestRate": {
2140+ "type": "number",
2141+ "description": "The number of bid requests sent to your bidder.",
2142+ "format": "double"
2143+ },
2144+ "calloutStatusRate": {
2145+ "type": "array",
2146+ "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.",
2147+ "items": {
2148+ "type": "any"
2149+ }
2150+ },
2151+ "cookieMatcherStatusRate": {
2152+ "type": "array",
2153+ "description": "Average QPS for cookie matcher operations.",
2154+ "items": {
2155+ "type": "any"
2156+ }
2157+ },
2158+ "creativeStatusRate": {
2159+ "type": "array",
2160+ "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.",
2161+ "items": {
2162+ "type": "any"
2163+ }
2164+ },
2165+ "filteredBidRate": {
2166+ "type": "number",
2167+ "description": "The number of bid responses that were filtered due to a policy violation or other errors.",
2168+ "format": "double"
2169+ },
2170+ "hostedMatchStatusRate": {
2171+ "type": "array",
2172+ "description": "Average QPS for hosted match operations.",
2173+ "items": {
2174+ "type": "any"
2175+ }
2176+ },
2177+ "inventoryMatchRate": {
2178+ "type": "number",
2179+ "description": "The number of potential queries based on your pretargeting settings.",
2180+ "format": "double"
2181+ },
2182+ "kind": {
2183+ "type": "string",
2184+ "description": "Resource type.",
2185+ "default": "adexchangebuyer#performanceReport"
2186+ },
2187+ "latency50thPercentile": {
2188+ "type": "number",
2189+ "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2190+ "format": "double"
2191+ },
2192+ "latency85thPercentile": {
2193+ "type": "number",
2194+ "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2195+ "format": "double"
2196+ },
2197+ "latency95thPercentile": {
2198+ "type": "number",
2199+ "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.",
2200+ "format": "double"
2201+ },
2202+ "noQuotaInRegion": {
2203+ "type": "number",
2204+ "description": "Rate of various quota account statuses per quota check.",
2205+ "format": "double"
2206+ },
2207+ "outOfQuota": {
2208+ "type": "number",
2209+ "description": "Rate of various quota account statuses per quota check.",
2210+ "format": "double"
2211+ },
2212+ "pixelMatchRequests": {
2213+ "type": "number",
2214+ "description": "Average QPS for pixel match requests from clients.",
2215+ "format": "double"
2216+ },
2217+ "pixelMatchResponses": {
2218+ "type": "number",
2219+ "description": "Average QPS for pixel match responses from clients.",
2220+ "format": "double"
2221+ },
2222+ "quotaConfiguredLimit": {
2223+ "type": "number",
2224+ "description": "The configured quota limits for this account.",
2225+ "format": "double"
2226+ },
2227+ "quotaThrottledLimit": {
2228+ "type": "number",
2229+ "description": "The throttled quota limits for this account.",
2230+ "format": "double"
2231+ },
2232+ "region": {
2233+ "type": "string",
2234+ "description": "The trading location of this data."
2235+ },
2236+ "successfulRequestRate": {
2237+ "type": "number",
2238+ "description": "The number of properly formed bid responses received by our servers within the deadline.",
2239+ "format": "double"
2240+ },
2241+ "timestamp": {
2242+ "type": "string",
2243+ "description": "The unix timestamp of the starting time of this performance data.",
2244+ "format": "int64"
2245+ },
2246+ "unsuccessfulRequestRate": {
2247+ "type": "number",
2248+ "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.",
2249+ "format": "double"
2250+ }
2251+ }
2252+ },
2253+ "PerformanceReportList": {
2254+ "id": "PerformanceReportList",
2255+ "type": "object",
2256+ "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",
2257+ "properties": {
2258+ "kind": {
2259+ "type": "string",
2260+ "description": "Resource type.",
2261+ "default": "adexchangebuyer#performanceReportList"
2262+ },
2263+ "performanceReport": {
2264+ "type": "array",
2265+ "description": "A list of performance reports relevant for the account.",
2266+ "items": {
2267+ "$ref": "PerformanceReport"
2268+ }
2269+ }
2270+ }
2271+ },
2272+ "PretargetingConfig": {
2273+ "id": "PretargetingConfig",
2274+ "type": "object",
2275+ "properties": {
2276+ "billingId": {
2277+ "type": "string",
2278+ "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.",
2279+ "format": "int64"
2280+ },
2281+ "configId": {
2282+ "type": "string",
2283+ "description": "The config id; generated automatically. Leave this field blank for insert requests.",
2284+ "format": "int64"
2285+ },
2286+ "configName": {
2287+ "type": "string",
2288+ "description": "The name of the config. Must be unique. Required for all requests."
2289+ },
2290+ "creativeType": {
2291+ "type": "array",
2292+ "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.",
2293+ "items": {
2294+ "type": "string"
2295+ }
2296+ },
2297+ "dimensions": {
2298+ "type": "array",
2299+ "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.",
2300+ "items": {
2301+ "type": "object",
2302+ "properties": {
2303+ "height": {
2304+ "type": "string",
2305+ "description": "Height in pixels.",
2306+ "format": "int64"
2307+ },
2308+ "width": {
2309+ "type": "string",
2310+ "description": "Width in pixels.",
2311+ "format": "int64"
2312+ }
2313+ }
2314+ }
2315+ },
2316+ "excludedContentLabels": {
2317+ "type": "array",
2318+ "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.",
2319+ "items": {
2320+ "type": "string",
2321+ "format": "int64"
2322+ }
2323+ },
2324+ "excludedGeoCriteriaIds": {
2325+ "type": "array",
2326+ "description": "Requests containing any of these geo criteria ids will not match.",
2327+ "items": {
2328+ "type": "string",
2329+ "format": "int64"
2330+ }
2331+ },
2332+ "excludedPlacements": {
2333+ "type": "array",
2334+ "description": "Requests containing any of these placements will not match.",
2335+ "items": {
2336+ "type": "object",
2337+ "properties": {
2338+ "token": {
2339+ "type": "string",
2340+ "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."
2341+ },
2342+ "type": {
2343+ "type": "string",
2344+ "description": "The type of the placement."
2345+ }
2346+ }
2347+ }
2348+ },
2349+ "excludedUserLists": {
2350+ "type": "array",
2351+ "description": "Requests containing any of these users list ids will not match.",
2352+ "items": {
2353+ "type": "string",
2354+ "format": "int64"
2355+ }
2356+ },
2357+ "excludedVerticals": {
2358+ "type": "array",
2359+ "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.",
2360+ "items": {
2361+ "type": "string",
2362+ "format": "int64"
2363+ }
2364+ },
2365+ "geoCriteriaIds": {
2366+ "type": "array",
2367+ "description": "Requests containing any of these geo criteria ids will match.",
2368+ "items": {
2369+ "type": "string",
2370+ "format": "int64"
2371+ }
2372+ },
2373+ "isActive": {
2374+ "type": "boolean",
2375+ "description": "Whether this config is active. Required for all requests."
2376+ },
2377+ "kind": {
2378+ "type": "string",
2379+ "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".",
2380+ "default": "adexchangebuyer#pretargetingConfig"
2381+ },
2382+ "languages": {
2383+ "type": "array",
2384+ "description": "Request containing any of these language codes will match.",
2385+ "items": {
2386+ "type": "string"
2387+ }
2388+ },
2389+ "mobileCarriers": {
2390+ "type": "array",
2391+ "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.",
2392+ "items": {
2393+ "type": "string",
2394+ "format": "int64"
2395+ }
2396+ },
2397+ "mobileDevices": {
2398+ "type": "array",
2399+ "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.",
2400+ "items": {
2401+ "type": "string",
2402+ "format": "int64"
2403+ }
2404+ },
2405+ "mobileOperatingSystemVersions": {
2406+ "type": "array",
2407+ "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.",
2408+ "items": {
2409+ "type": "string",
2410+ "format": "int64"
2411+ }
2412+ },
2413+ "placements": {
2414+ "type": "array",
2415+ "description": "Requests containing any of these placements will match.",
2416+ "items": {
2417+ "type": "object",
2418+ "properties": {
2419+ "token": {
2420+ "type": "string",
2421+ "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."
2422+ },
2423+ "type": {
2424+ "type": "string",
2425+ "description": "The type of the placement."
2426+ }
2427+ }
2428+ }
2429+ },
2430+ "platforms": {
2431+ "type": "array",
2432+ "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.",
2433+ "items": {
2434+ "type": "string"
2435+ }
2436+ },
2437+ "supportedCreativeAttributes": {
2438+ "type": "array",
2439+ "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.",
2440+ "items": {
2441+ "type": "string",
2442+ "format": "int64"
2443+ }
2444+ },
2445+ "userLists": {
2446+ "type": "array",
2447+ "description": "Requests containing any of these user list ids will match.",
2448+ "items": {
2449+ "type": "string",
2450+ "format": "int64"
2451+ }
2452+ },
2453+ "vendorTypes": {
2454+ "type": "array",
2455+ "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.",
2456+ "items": {
2457+ "type": "string",
2458+ "format": "int64"
2459+ }
2460+ },
2461+ "verticals": {
2462+ "type": "array",
2463+ "description": "Requests containing any of these vertical ids will match.",
2464+ "items": {
2465+ "type": "string",
2466+ "format": "int64"
2467+ }
2468+ }
2469+ }
2470+ },
2471+ "PretargetingConfigList": {
2472+ "id": "PretargetingConfigList",
2473+ "type": "object",
2474+ "properties": {
2475+ "items": {
2476+ "type": "array",
2477+ "description": "A list of pretargeting configs",
2478+ "items": {
2479+ "$ref": "PretargetingConfig"
2480+ }
2481+ },
2482+ "kind": {
2483+ "type": "string",
2484+ "description": "Resource type.",
2485+ "default": "adexchangebuyer#pretargetingConfigList"
2486+ }
2487+ }
2488+ },
2489+ "Price": {
2490+ "id": "Price",
2491+ "type": "object",
2492+ "properties": {
2493+ "amountMicros": {
2494+ "type": "number",
2495+ "description": "The CPM value in micros.",
2496+ "format": "double"
2497+ },
2498+ "currencyCode": {
2499+ "type": "string",
2500+ "description": "The currency code for the price."
2501+ }
2502+ }
2503+ },
2504+ "PricePerBuyer": {
2505+ "id": "PricePerBuyer",
2506+ "type": "object",
2507+ "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.",
2508+ "properties": {
2509+ "buyer": {
2510+ "$ref": "Buyer",
2511+ "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)."
2512+ },
2513+ "price": {
2514+ "$ref": "Price",
2515+ "description": "The specified price"
2516+ }
2517+ }
2518+ },
2519+ "PrivateData": {
2520+ "id": "PrivateData",
2521+ "type": "object",
2522+ "properties": {
2523+ "referenceId": {
2524+ "type": "string"
2525+ },
2526+ "referencePayload": {
2527+ "type": "string",
2528+ "format": "byte"
2529+ }
2530+ }
2531+ },
2532+ "RuleKeyValuePair": {
2533+ "id": "RuleKeyValuePair",
2534+ "type": "object",
2535+ "properties": {
2536+ "keyName": {
2537+ "type": "string"
2538+ },
2539+ "value": {
2540+ "type": "string"
2541+ }
2542+ }
2543+ },
2544+ "Seller": {
2545+ "id": "Seller",
2546+ "type": "object",
2547+ "properties": {
2548+ "accountId": {
2549+ "type": "string",
2550+ "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."
2551+ },
2552+ "subAccountId": {
2553+ "type": "string",
2554+ "description": "Optional sub-account id for the seller."
2555+ }
2556+ }
2557+ },
2558+ "SharedTargeting": {
2559+ "id": "SharedTargeting",
2560+ "type": "object",
2561+ "properties": {
2562+ "exclusions": {
2563+ "type": "array",
2564+ "description": "The list of values to exclude from targeting.",
2565+ "items": {
2566+ "$ref": "TargetingValue"
2567+ }
2568+ },
2569+ "inclusions": {
2570+ "type": "array",
2571+ "description": "The list of value to include as part of the targeting.",
2572+ "items": {
2573+ "$ref": "TargetingValue"
2574+ }
2575+ },
2576+ "key": {
2577+ "type": "string",
2578+ "description": "The key representing the shared targeting criterion."
2579+ }
2580+ }
2581+ },
2582+ "StatsDto": {
2583+ "id": "StatsDto",
2584+ "type": "object",
2585+ "properties": {
2586+ "bids": {
2587+ "type": "string",
2588+ "format": "int64"
2589+ },
2590+ "goodBids": {
2591+ "type": "string",
2592+ "format": "int64"
2593+ },
2594+ "impressions": {
2595+ "type": "string",
2596+ "format": "int64"
2597+ },
2598+ "requests": {
2599+ "type": "string",
2600+ "format": "int64"
2601+ },
2602+ "revenue": {
2603+ "$ref": "MoneyDto"
2604+ },
2605+ "spend": {
2606+ "$ref": "MoneyDto"
2607+ }
2608+ }
2609+ },
2610+ "TargetingValue": {
2611+ "id": "TargetingValue",
2612+ "type": "object",
2613+ "properties": {
2614+ "creativeSizeValue": {
2615+ "$ref": "TargetingValueCreativeSize",
2616+ "description": "The creative size value to exclude/include."
2617+ },
2618+ "dayPartTargetingValue": {
2619+ "$ref": "TargetingValueDayPartTargeting",
2620+ "description": "The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING."
2621+ },
2622+ "longValue": {
2623+ "type": "string",
2624+ "description": "The long value to exclude/include.",
2625+ "format": "int64"
2626+ },
2627+ "stringValue": {
2628+ "type": "string",
2629+ "description": "The string value to exclude/include."
2630+ }
2631+ }
2632+ },
2633+ "TargetingValueCreativeSize": {
2634+ "id": "TargetingValueCreativeSize",
2635+ "type": "object",
2636+ "properties": {
2637+ "companionSizes": {
2638+ "type": "array",
2639+ "description": "For video size type, the list of companion sizes.",
2640+ "items": {
2641+ "$ref": "TargetingValueSize"
2642+ }
2643+ },
2644+ "creativeSizeType": {
2645+ "type": "string",
2646+ "description": "The Creative size type."
2647+ },
2648+ "size": {
2649+ "$ref": "TargetingValueSize",
2650+ "description": "For regular creative size type, specifies the size of the creative."
2651+ }
2652+ }
2653+ },
2654+ "TargetingValueDayPartTargeting": {
2655+ "id": "TargetingValueDayPartTargeting",
2656+ "type": "object",
2657+ "properties": {
2658+ "dayParts": {
2659+ "type": "array",
2660+ "items": {
2661+ "$ref": "TargetingValueDayPartTargetingDayPart"
2662+ }
2663+ },
2664+ "timeZoneType": {
2665+ "type": "string"
2666+ }
2667+ }
2668+ },
2669+ "TargetingValueDayPartTargetingDayPart": {
2670+ "id": "TargetingValueDayPartTargetingDayPart",
2671+ "type": "object",
2672+ "properties": {
2673+ "dayOfWeek": {
2674+ "type": "string"
2675+ },
2676+ "endHour": {
2677+ "type": "integer",
2678+ "format": "int32"
2679+ },
2680+ "endMinute": {
2681+ "type": "integer",
2682+ "format": "int32"
2683+ },
2684+ "startHour": {
2685+ "type": "integer",
2686+ "format": "int32"
2687+ },
2688+ "startMinute": {
2689+ "type": "integer",
2690+ "format": "int32"
2691+ }
2692+ }
2693+ },
2694+ "TargetingValueSize": {
2695+ "id": "TargetingValueSize",
2696+ "type": "object",
2697+ "properties": {
2698+ "height": {
2699+ "type": "integer",
2700+ "description": "The height of the creative.",
2701+ "format": "int32"
2702+ },
2703+ "width": {
2704+ "type": "integer",
2705+ "description": "The width of the creative.",
2706+ "format": "int32"
2707+ }
2708+ }
2709+ },
2710+ "TermsDto": {
2711+ "id": "TermsDto",
2712+ "type": "object",
2713+ "properties": {
2714+ "adSlots": {
2715+ "type": "array",
2716+ "description": "The particular ad slots targeted by the offer.",
2717+ "items": {
2718+ "$ref": "AdSlotDto"
2719+ }
2720+ },
2721+ "advertisers": {
2722+ "type": "array",
2723+ "description": "A list of advertisers for this offer.",
2724+ "items": {
2725+ "$ref": "AdvertiserDto"
2726+ }
2727+ },
2728+ "audienceSegment": {
2729+ "$ref": "AudienceSegment",
2730+ "description": "The audience segment for the offer."
2731+ },
2732+ "audienceSegmentDescription": {
2733+ "type": "string",
2734+ "description": "A description of the audience segment for the offer."
2735+ },
2736+ "billingTerms": {
2737+ "type": "string",
2738+ "description": "The billing terms."
2739+ },
2740+ "buyerBillingType": {
2741+ "type": "string",
2742+ "description": "The buyer billing type."
2743+ },
2744+ "cpm": {
2745+ "$ref": "MoneyDto",
2746+ "description": "The cpm terms."
2747+ },
2748+ "creativeBlockingLevel": {
2749+ "type": "string",
2750+ "description": "Whether to use or ignore publisher blocking rules."
2751+ },
2752+ "creativeReviewPolicy": {
2753+ "type": "string",
2754+ "description": "Whether to use publisher review policy or AdX review policy."
2755+ },
2756+ "dealPremium": {
2757+ "$ref": "MoneyDto",
2758+ "description": "The premium terms."
2759+ },
2760+ "description": {
2761+ "type": "string",
2762+ "description": "A description for these terms."
2763+ },
2764+ "descriptiveName": {
2765+ "type": "string",
2766+ "description": "A descriptive name for these terms."
2767+ },
2768+ "endDate": {
2769+ "$ref": "DateTime",
2770+ "description": "The end date for the offer."
2771+ },
2772+ "estimatedImpressionsPerDay": {
2773+ "type": "string",
2774+ "description": "The estimated daily impressions for the offer.",
2775+ "format": "int64"
2776+ },
2777+ "estimatedSpend": {
2778+ "$ref": "MoneyDto",
2779+ "description": "The estimated spend for the offer."
2780+ },
2781+ "finalizeAutomatically": {
2782+ "type": "boolean",
2783+ "description": "If true, the offer will finalize automatically when accepted."
2784+ },
2785+ "inventorySegmentTargeting": {
2786+ "$ref": "InventorySegmentTargeting",
2787+ "description": "The inventory segment targeting for the offer."
2788+ },
2789+ "isReservation": {
2790+ "type": "boolean",
2791+ "description": "Whether the offer is a reservation."
2792+ },
2793+ "minimumSpendMicros": {
2794+ "type": "string",
2795+ "description": "The minimum spend for the offer.",
2796+ "format": "int64"
2797+ },
2798+ "minimumTrueLooks": {
2799+ "type": "string",
2800+ "description": "The minimum true looks for the offer.",
2801+ "format": "int64"
2802+ },
2803+ "monetizerType": {
2804+ "type": "string",
2805+ "description": "The monetizer type."
2806+ },
2807+ "semiTransparent": {
2808+ "type": "boolean",
2809+ "description": "Whether this offer is semi-transparent."
2810+ },
2811+ "startDate": {
2812+ "$ref": "DateTime",
2813+ "description": "The start date for the offer."
2814+ },
2815+ "targetByDealId": {
2816+ "type": "boolean",
2817+ "description": "Whether to target by deal id."
2818+ },
2819+ "targetingAllAdSlots": {
2820+ "type": "boolean",
2821+ "description": "If true, the offer targets all ad slots."
2822+ },
2823+ "termsAttributes": {
2824+ "type": "array",
2825+ "description": "A list of terms attributes.",
2826+ "items": {
2827+ "type": "string"
2828+ }
2829+ },
2830+ "urls": {
2831+ "type": "array",
2832+ "description": "The urls applicable to the offer.",
2833+ "items": {
2834+ "type": "string"
2835+ }
2836+ }
2837+ }
2838+ },
2839+ "WebPropertyDto": {
2840+ "id": "WebPropertyDto",
2841+ "type": "object",
2842+ "properties": {
2843+ "allowInterestTargetedAds": {
2844+ "type": "boolean"
2845+ },
2846+ "enabledForPreferredDeals": {
2847+ "type": "boolean"
2848+ },
2849+ "id": {
2850+ "type": "integer",
2851+ "format": "int32"
2852+ },
2853+ "name": {
2854+ "type": "string"
2855+ },
2856+ "propertyCode": {
2857+ "type": "string"
2858+ },
2859+ "siteUrls": {
2860+ "type": "array",
2861+ "items": {
2862+ "type": "string"
2863+ }
2864+ },
2865+ "syndicationProduct": {
2866+ "type": "string"
2867+ }
2868+ }
2869+ }
2870+ },
2871+ "resources": {
2872+ "accounts": {
2873+ "methods": {
2874+ "get": {
2875+ "id": "adexchangebuyer.accounts.get",
2876+ "path": "accounts/{id}",
2877+ "httpMethod": "GET",
2878+ "description": "Gets one account by ID.",
2879+ "parameters": {
2880+ "id": {
2881+ "type": "integer",
2882+ "description": "The account id",
2883+ "required": true,
2884+ "format": "int32",
2885+ "location": "path"
2886+ }
2887+ },
2888+ "parameterOrder": [
2889+ "id"
2890+ ],
2891+ "response": {
2892+ "$ref": "Account"
2893+ },
2894+ "scopes": [
2895+ "https://www.googleapis.com/auth/adexchange.buyer"
2896+ ]
2897+ },
2898+ "list": {
2899+ "id": "adexchangebuyer.accounts.list",
2900+ "path": "accounts",
2901+ "httpMethod": "GET",
2902+ "description": "Retrieves the authenticated user's list of accounts.",
2903+ "response": {
2904+ "$ref": "AccountsList"
2905+ },
2906+ "scopes": [
2907+ "https://www.googleapis.com/auth/adexchange.buyer"
2908+ ]
2909+ },
2910+ "patch": {
2911+ "id": "adexchangebuyer.accounts.patch",
2912+ "path": "accounts/{id}",
2913+ "httpMethod": "PATCH",
2914+ "description": "Updates an existing account. This method supports patch semantics.",
2915+ "parameters": {
2916+ "id": {
2917+ "type": "integer",
2918+ "description": "The account id",
2919+ "required": true,
2920+ "format": "int32",
2921+ "location": "path"
2922+ }
2923+ },
2924+ "parameterOrder": [
2925+ "id"
2926+ ],
2927+ "request": {
2928+ "$ref": "Account"
2929+ },
2930+ "response": {
2931+ "$ref": "Account"
2932+ },
2933+ "scopes": [
2934+ "https://www.googleapis.com/auth/adexchange.buyer"
2935+ ]
2936+ },
2937+ "update": {
2938+ "id": "adexchangebuyer.accounts.update",
2939+ "path": "accounts/{id}",
2940+ "httpMethod": "PUT",
2941+ "description": "Updates an existing account.",
2942+ "parameters": {
2943+ "id": {
2944+ "type": "integer",
2945+ "description": "The account id",
2946+ "required": true,
2947+ "format": "int32",
2948+ "location": "path"
2949+ }
2950+ },
2951+ "parameterOrder": [
2952+ "id"
2953+ ],
2954+ "request": {
2955+ "$ref": "Account"
2956+ },
2957+ "response": {
2958+ "$ref": "Account"
2959+ },
2960+ "scopes": [
2961+ "https://www.googleapis.com/auth/adexchange.buyer"
2962+ ]
2963+ }
2964+ }
2965+ },
2966+ "billingInfo": {
2967+ "methods": {
2968+ "get": {
2969+ "id": "adexchangebuyer.billingInfo.get",
2970+ "path": "billinginfo/{accountId}",
2971+ "httpMethod": "GET",
2972+ "description": "Returns the billing information for one account specified by account ID.",
2973+ "parameters": {
2974+ "accountId": {
2975+ "type": "integer",
2976+ "description": "The account id.",
2977+ "required": true,
2978+ "format": "int32",
2979+ "location": "path"
2980+ }
2981+ },
2982+ "parameterOrder": [
2983+ "accountId"
2984+ ],
2985+ "response": {
2986+ "$ref": "BillingInfo"
2987+ },
2988+ "scopes": [
2989+ "https://www.googleapis.com/auth/adexchange.buyer"
2990+ ]
2991+ },
2992+ "list": {
2993+ "id": "adexchangebuyer.billingInfo.list",
2994+ "path": "billinginfo",
2995+ "httpMethod": "GET",
2996+ "description": "Retrieves a list of billing information for all accounts of the authenticated user.",
2997+ "response": {
2998+ "$ref": "BillingInfoList"
2999+ },
3000+ "scopes": [
3001+ "https://www.googleapis.com/auth/adexchange.buyer"
3002+ ]
3003+ }
3004+ }
3005+ },
3006+ "budget": {
3007+ "methods": {
3008+ "get": {
3009+ "id": "adexchangebuyer.budget.get",
3010+ "path": "billinginfo/{accountId}/{billingId}",
3011+ "httpMethod": "GET",
3012+ "description": "Returns the budget information for the adgroup specified by the accountId and billingId.",
3013+ "parameters": {
3014+ "accountId": {
3015+ "type": "string",
3016+ "description": "The account id to get the budget information for.",
3017+ "required": true,
3018+ "format": "int64",
3019+ "location": "path"
3020+ },
3021+ "billingId": {
3022+ "type": "string",
3023+ "description": "The billing id to get the budget information for.",
3024+ "required": true,
3025+ "format": "int64",
3026+ "location": "path"
3027+ }
3028+ },
3029+ "parameterOrder": [
3030+ "accountId",
3031+ "billingId"
3032+ ],
3033+ "response": {
3034+ "$ref": "Budget"
3035+ },
3036+ "scopes": [
3037+ "https://www.googleapis.com/auth/adexchange.buyer"
3038+ ]
3039+ },
3040+ "patch": {
3041+ "id": "adexchangebuyer.budget.patch",
3042+ "path": "billinginfo/{accountId}/{billingId}",
3043+ "httpMethod": "PATCH",
3044+ "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.",
3045+ "parameters": {
3046+ "accountId": {
3047+ "type": "string",
3048+ "description": "The account id associated with the budget being updated.",
3049+ "required": true,
3050+ "format": "int64",
3051+ "location": "path"
3052+ },
3053+ "billingId": {
3054+ "type": "string",
3055+ "description": "The billing id associated with the budget being updated.",
3056+ "required": true,
3057+ "format": "int64",
3058+ "location": "path"
3059+ }
3060+ },
3061+ "parameterOrder": [
3062+ "accountId",
3063+ "billingId"
3064+ ],
3065+ "request": {
3066+ "$ref": "Budget"
3067+ },
3068+ "response": {
3069+ "$ref": "Budget"
3070+ },
3071+ "scopes": [
3072+ "https://www.googleapis.com/auth/adexchange.buyer"
3073+ ]
3074+ },
3075+ "update": {
3076+ "id": "adexchangebuyer.budget.update",
3077+ "path": "billinginfo/{accountId}/{billingId}",
3078+ "httpMethod": "PUT",
3079+ "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.",
3080+ "parameters": {
3081+ "accountId": {
3082+ "type": "string",
3083+ "description": "The account id associated with the budget being updated.",
3084+ "required": true,
3085+ "format": "int64",
3086+ "location": "path"
3087+ },
3088+ "billingId": {
3089+ "type": "string",
3090+ "description": "The billing id associated with the budget being updated.",
3091+ "required": true,
3092+ "format": "int64",
3093+ "location": "path"
3094+ }
3095+ },
3096+ "parameterOrder": [
3097+ "accountId",
3098+ "billingId"
3099+ ],
3100+ "request": {
3101+ "$ref": "Budget"
3102+ },
3103+ "response": {
3104+ "$ref": "Budget"
3105+ },
3106+ "scopes": [
3107+ "https://www.googleapis.com/auth/adexchange.buyer"
3108+ ]
3109+ }
3110+ }
3111+ },
3112+ "clientaccess": {
3113+ "methods": {
3114+ "delete": {
3115+ "id": "adexchangebuyer.clientaccess.delete",
3116+ "path": "clientAccess/{clientAccountId}",
3117+ "httpMethod": "DELETE",
3118+ "parameters": {
3119+ "clientAccountId": {
3120+ "type": "string",
3121+ "required": true,
3122+ "format": "int64",
3123+ "location": "path"
3124+ },
3125+ "sponsorAccountId": {
3126+ "type": "integer",
3127+ "required": true,
3128+ "format": "int32",
3129+ "location": "query"
3130+ }
3131+ },
3132+ "parameterOrder": [
3133+ "clientAccountId",
3134+ "sponsorAccountId"
3135+ ],
3136+ "scopes": [
3137+ "https://www.googleapis.com/auth/adexchange.buyer"
3138+ ]
3139+ },
3140+ "get": {
3141+ "id": "adexchangebuyer.clientaccess.get",
3142+ "path": "clientAccess/{clientAccountId}",
3143+ "httpMethod": "GET",
3144+ "parameters": {
3145+ "clientAccountId": {
3146+ "type": "string",
3147+ "required": true,
3148+ "format": "int64",
3149+ "location": "path"
3150+ },
3151+ "sponsorAccountId": {
3152+ "type": "integer",
3153+ "required": true,
3154+ "format": "int32",
3155+ "location": "query"
3156+ }
3157+ },
3158+ "parameterOrder": [
3159+ "clientAccountId",
3160+ "sponsorAccountId"
3161+ ],
3162+ "response": {
3163+ "$ref": "ClientAccessCapabilities"
3164+ },
3165+ "scopes": [
3166+ "https://www.googleapis.com/auth/adexchange.buyer"
3167+ ]
3168+ },
3169+ "insert": {
3170+ "id": "adexchangebuyer.clientaccess.insert",
3171+ "path": "clientAccess",
3172+ "httpMethod": "POST",
3173+ "parameters": {
3174+ "clientAccountId": {
3175+ "type": "string",
3176+ "format": "int64",
3177+ "location": "query"
3178+ },
3179+ "sponsorAccountId": {
3180+ "type": "integer",
3181+ "format": "int32",
3182+ "location": "query"
3183+ }
3184+ },
3185+ "request": {
3186+ "$ref": "ClientAccessCapabilities"
3187+ },
3188+ "response": {
3189+ "$ref": "ClientAccessCapabilities"
3190+ },
3191+ "scopes": [
3192+ "https://www.googleapis.com/auth/adexchange.buyer"
3193+ ]
3194+ },
3195+ "list": {
3196+ "id": "adexchangebuyer.clientaccess.list",
3197+ "path": "clientAccess",
3198+ "httpMethod": "GET",
3199+ "request": {
3200+ "$ref": "ListClientAccessCapabilitiesRequest"
3201+ },
3202+ "response": {
3203+ "$ref": "ListClientAccessCapabilitiesResponse"
3204+ },
3205+ "scopes": [
3206+ "https://www.googleapis.com/auth/adexchange.buyer"
3207+ ]
3208+ },
3209+ "patch": {
3210+ "id": "adexchangebuyer.clientaccess.patch",
3211+ "path": "clientAccess/{clientAccountId}",
3212+ "httpMethod": "PATCH",
3213+ "parameters": {
3214+ "clientAccountId": {
3215+ "type": "string",
3216+ "required": true,
3217+ "format": "int64",
3218+ "location": "path"
3219+ },
3220+ "sponsorAccountId": {
3221+ "type": "integer",
3222+ "required": true,
3223+ "format": "int32",
3224+ "location": "query"
3225+ }
3226+ },
3227+ "parameterOrder": [
3228+ "clientAccountId",
3229+ "sponsorAccountId"
3230+ ],
3231+ "request": {
3232+ "$ref": "ClientAccessCapabilities"
3233+ },
3234+ "response": {
3235+ "$ref": "ClientAccessCapabilities"
3236+ },
3237+ "scopes": [
3238+ "https://www.googleapis.com/auth/adexchange.buyer"
3239+ ]
3240+ },
3241+ "update": {
3242+ "id": "adexchangebuyer.clientaccess.update",
3243+ "path": "clientAccess/{clientAccountId}",
3244+ "httpMethod": "PUT",
3245+ "parameters": {
3246+ "clientAccountId": {
3247+ "type": "string",
3248+ "required": true,
3249+ "format": "int64",
3250+ "location": "path"
3251+ },
3252+ "sponsorAccountId": {
3253+ "type": "integer",
3254+ "required": true,
3255+ "format": "int32",
3256+ "location": "query"
3257+ }
3258+ },
3259+ "parameterOrder": [
3260+ "clientAccountId",
3261+ "sponsorAccountId"
3262+ ],
3263+ "request": {
3264+ "$ref": "ClientAccessCapabilities"
3265+ },
3266+ "response": {
3267+ "$ref": "ClientAccessCapabilities"
3268+ },
3269+ "scopes": [
3270+ "https://www.googleapis.com/auth/adexchange.buyer"
3271+ ]
3272+ }
3273+ }
3274+ },
3275+ "creatives": {
3276+ "methods": {
3277+ "get": {
3278+ "id": "adexchangebuyer.creatives.get",
3279+ "path": "creatives/{accountId}/{buyerCreativeId}",
3280+ "httpMethod": "GET",
3281+ "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.",
3282+ "parameters": {
3283+ "accountId": {
3284+ "type": "integer",
3285+ "description": "The id for the account that will serve this creative.",
3286+ "required": true,
3287+ "format": "int32",
3288+ "location": "path"
3289+ },
3290+ "buyerCreativeId": {
3291+ "type": "string",
3292+ "description": "The buyer-specific id for this creative.",
3293+ "required": true,
3294+ "location": "path"
3295+ }
3296+ },
3297+ "parameterOrder": [
3298+ "accountId",
3299+ "buyerCreativeId"
3300+ ],
3301+ "response": {
3302+ "$ref": "Creative"
3303+ },
3304+ "scopes": [
3305+ "https://www.googleapis.com/auth/adexchange.buyer"
3306+ ]
3307+ },
3308+ "insert": {
3309+ "id": "adexchangebuyer.creatives.insert",
3310+ "path": "creatives",
3311+ "httpMethod": "POST",
3312+ "description": "Submit a new creative.",
3313+ "request": {
3314+ "$ref": "Creative"
3315+ },
3316+ "response": {
3317+ "$ref": "Creative"
3318+ },
3319+ "scopes": [
3320+ "https://www.googleapis.com/auth/adexchange.buyer"
3321+ ]
3322+ },
3323+ "list": {
3324+ "id": "adexchangebuyer.creatives.list",
3325+ "path": "creatives",
3326+ "httpMethod": "GET",
3327+ "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.",
3328+ "parameters": {
3329+ "accountId": {
3330+ "type": "integer",
3331+ "description": "When specified, only creatives for the given account ids are returned.",
3332+ "format": "int32",
3333+ "repeated": true,
3334+ "location": "query"
3335+ },
3336+ "buyerCreativeId": {
3337+ "type": "string",
3338+ "description": "When specified, only creatives for the given buyer creative ids are returned.",
3339+ "repeated": true,
3340+ "location": "query"
3341+ },
3342+ "dealsStatusFilter": {
3343+ "type": "string",
3344+ "description": "When specified, only creatives having the given direct deals status are returned.",
3345+ "enum": [
3346+ "approved",
3347+ "conditionally_approved",
3348+ "disapproved",
3349+ "not_checked"
3350+ ],
3351+ "enumDescriptions": [
3352+ "Creatives which have been approved for serving on direct deals.",
3353+ "Creatives which have been conditionally approved for serving on direct deals.",
3354+ "Creatives which have been disapproved for serving on direct deals.",
3355+ "Creatives whose direct deals status is not yet checked."
3356+ ],
3357+ "location": "query"
3358+ },
3359+ "maxResults": {
3360+ "type": "integer",
3361+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
3362+ "format": "uint32",
3363+ "minimum": "1",
3364+ "maximum": "1000",
3365+ "location": "query"
3366+ },
3367+ "openAuctionStatusFilter": {
3368+ "type": "string",
3369+ "description": "When specified, only creatives having the given open auction status are returned.",
3370+ "enum": [
3371+ "approved",
3372+ "conditionally_approved",
3373+ "disapproved",
3374+ "not_checked"
3375+ ],
3376+ "enumDescriptions": [
3377+ "Creatives which have been approved for serving on the open auction.",
3378+ "Creatives which have been conditionally approved for serving on the open auction.",
3379+ "Creatives which have been disapproved for serving on the open auction.",
3380+ "Creatives whose open auction status is not yet checked."
3381+ ],
3382+ "location": "query"
3383+ },
3384+ "pageToken": {
3385+ "type": "string",
3386+ "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.",
3387+ "location": "query"
3388+ }
3389+ },
3390+ "response": {
3391+ "$ref": "CreativesList"
3392+ },
3393+ "scopes": [
3394+ "https://www.googleapis.com/auth/adexchange.buyer"
3395+ ]
3396+ }
3397+ }
3398+ },
3399+ "deals": {
3400+ "methods": {
3401+ "get": {
3402+ "id": "adexchangebuyer.deals.get",
3403+ "path": "deals/{dealId}",
3404+ "httpMethod": "GET",
3405+ "description": "Gets the requested deal.",
3406+ "parameters": {
3407+ "dealId": {
3408+ "type": "string",
3409+ "required": true,
3410+ "format": "int64",
3411+ "location": "path"
3412+ }
3413+ },
3414+ "parameterOrder": [
3415+ "dealId"
3416+ ],
3417+ "request": {
3418+ "$ref": "GetFinalizedNegotiationByExternalDealIdRequest"
3419+ },
3420+ "response": {
3421+ "$ref": "NegotiationDto"
3422+ },
3423+ "scopes": [
3424+ "https://www.googleapis.com/auth/adexchange.buyer"
3425+ ]
3426+ }
3427+ }
3428+ },
3429+ "marketplacedeals": {
3430+ "methods": {
3431+ "delete": {
3432+ "id": "adexchangebuyer.marketplacedeals.delete",
3433+ "path": "marketplaceOrders/{orderId}/deals/delete",
3434+ "httpMethod": "POST",
3435+ "description": "Delete the specified deals from the order",
3436+ "parameters": {
3437+ "orderId": {
3438+ "type": "string",
3439+ "description": "The orderId to delete deals from.",
3440+ "required": true,
3441+ "location": "path"
3442+ }
3443+ },
3444+ "parameterOrder": [
3445+ "orderId"
3446+ ],
3447+ "request": {
3448+ "$ref": "DeleteOrderDealsRequest"
3449+ },
3450+ "response": {
3451+ "$ref": "DeleteOrderDealsResponse"
3452+ },
3453+ "scopes": [
3454+ "https://www.googleapis.com/auth/adexchange.buyer"
3455+ ]
3456+ },
3457+ "insert": {
3458+ "id": "adexchangebuyer.marketplacedeals.insert",
3459+ "path": "marketplaceOrders/{orderId}/deals/insert",
3460+ "httpMethod": "POST",
3461+ "description": "Add new deals for the specified order",
3462+ "parameters": {
3463+ "orderId": {
3464+ "type": "string",
3465+ "description": "OrderId for which deals need to be added.",
3466+ "required": true,
3467+ "location": "path"
3468+ }
3469+ },
3470+ "parameterOrder": [
3471+ "orderId"
3472+ ],
3473+ "request": {
3474+ "$ref": "AddOrderDealsRequest"
3475+ },
3476+ "response": {
3477+ "$ref": "AddOrderDealsResponse"
3478+ },
3479+ "scopes": [
3480+ "https://www.googleapis.com/auth/adexchange.buyer"
3481+ ]
3482+ },
3483+ "list": {
3484+ "id": "adexchangebuyer.marketplacedeals.list",
3485+ "path": "marketplaceOrders/{orderId}/deals",
3486+ "httpMethod": "GET",
3487+ "description": "List all the deals for a given order",
3488+ "parameters": {
3489+ "orderId": {
3490+ "type": "string",
3491+ "description": "The orderId to get deals for.",
3492+ "required": true,
3493+ "location": "path"
3494+ }
3495+ },
3496+ "parameterOrder": [
3497+ "orderId"
3498+ ],
3499+ "response": {
3500+ "$ref": "GetOrderDealsResponse"
3501+ },
3502+ "scopes": [
3503+ "https://www.googleapis.com/auth/adexchange.buyer"
3504+ ]
3505+ },
3506+ "update": {
3507+ "id": "adexchangebuyer.marketplacedeals.update",
3508+ "path": "marketplaceOrders/{orderId}/deals/update",
3509+ "httpMethod": "POST",
3510+ "description": "Replaces all the deals in the order with the passed in deals",
3511+ "parameters": {
3512+ "orderId": {
3513+ "type": "string",
3514+ "description": "The orderId to edit deals on.",
3515+ "required": true,
3516+ "location": "path"
3517+ }
3518+ },
3519+ "parameterOrder": [
3520+ "orderId"
3521+ ],
3522+ "request": {
3523+ "$ref": "EditAllOrderDealsRequest"
3524+ },
3525+ "response": {
3526+ "$ref": "EditAllOrderDealsResponse"
3527+ },
3528+ "scopes": [
3529+ "https://www.googleapis.com/auth/adexchange.buyer"
3530+ ]
3531+ }
3532+ }
3533+ },
3534+ "marketplacenotes": {
3535+ "methods": {
3536+ "insert": {
3537+ "id": "adexchangebuyer.marketplacenotes.insert",
3538+ "path": "marketplaceOrders/{orderId}/notes/insert",
3539+ "httpMethod": "POST",
3540+ "description": "Add notes to the order",
3541+ "parameters": {
3542+ "orderId": {
3543+ "type": "string",
3544+ "description": "The orderId to add notes for.",
3545+ "required": true,
3546+ "location": "path"
3547+ }
3548+ },
3549+ "parameterOrder": [
3550+ "orderId"
3551+ ],
3552+ "request": {
3553+ "$ref": "AddOrderNotesRequest"
3554+ },
3555+ "response": {
3556+ "$ref": "AddOrderNotesResponse"
3557+ },
3558+ "scopes": [
3559+ "https://www.googleapis.com/auth/adexchange.buyer"
3560+ ]
3561+ },
3562+ "list": {
3563+ "id": "adexchangebuyer.marketplacenotes.list",
3564+ "path": "marketplaceOrders/{orderId}/notes",
3565+ "httpMethod": "GET",
3566+ "description": "Get all the notes associated with an order",
3567+ "parameters": {
3568+ "orderId": {
3569+ "type": "string",
3570+ "description": "The orderId to get notes for.",
3571+ "required": true,
3572+ "location": "path"
3573+ }
3574+ },
3575+ "parameterOrder": [
3576+ "orderId"
3577+ ],
3578+ "response": {
3579+ "$ref": "GetOrderNotesResponse"
3580+ },
3581+ "scopes": [
3582+ "https://www.googleapis.com/auth/adexchange.buyer"
3583+ ]
3584+ }
3585+ }
3586+ },
3587+ "marketplaceoffers": {
3588+ "methods": {
3589+ "get": {
3590+ "id": "adexchangebuyer.marketplaceoffers.get",
3591+ "path": "marketplaceOffers/{offerId}",
3592+ "httpMethod": "GET",
3593+ "description": "Gets the requested negotiation.",
3594+ "parameters": {
3595+ "offerId": {
3596+ "type": "string",
3597+ "description": "The offerId for the offer to get the head revision for.",
3598+ "required": true,
3599+ "location": "path"
3600+ }
3601+ },
3602+ "parameterOrder": [
3603+ "offerId"
3604+ ],
3605+ "response": {
3606+ "$ref": "MarketplaceOffer"
3607+ },
3608+ "scopes": [
3609+ "https://www.googleapis.com/auth/adexchange.buyer"
3610+ ]
3611+ },
3612+ "search": {
3613+ "id": "adexchangebuyer.marketplaceoffers.search",
3614+ "path": "marketplaceOffers/search",
3615+ "httpMethod": "GET",
3616+ "description": "Gets the requested negotiation.",
3617+ "parameters": {
3618+ "pqlQuery": {
3619+ "type": "string",
3620+ "description": "The pql query used to query for offers.",
3621+ "location": "query"
3622+ }
3623+ },
3624+ "response": {
3625+ "$ref": "GetOffersResponse"
3626+ },
3627+ "scopes": [
3628+ "https://www.googleapis.com/auth/adexchange.buyer"
3629+ ]
3630+ }
3631+ }
3632+ },
3633+ "marketplaceorders": {
3634+ "methods": {
3635+ "get": {
3636+ "id": "adexchangebuyer.marketplaceorders.get",
3637+ "path": "marketplaceOrders/{orderId}",
3638+ "httpMethod": "GET",
3639+ "description": "Get an order given its id",
3640+ "parameters": {
3641+ "orderId": {
3642+ "type": "string",
3643+ "description": "Id of the order to retrieve.",
3644+ "required": true,
3645+ "location": "path"
3646+ }
3647+ },
3648+ "parameterOrder": [
3649+ "orderId"
3650+ ],
3651+ "response": {
3652+ "$ref": "MarketplaceOrder"
3653+ },
3654+ "scopes": [
3655+ "https://www.googleapis.com/auth/adexchange.buyer"
3656+ ]
3657+ },
3658+ "insert": {
3659+ "id": "adexchangebuyer.marketplaceorders.insert",
3660+ "path": "marketplaceOrders/insert",
3661+ "httpMethod": "POST",
3662+ "description": "Create the given list of orders",
3663+ "request": {
3664+ "$ref": "CreateOrdersRequest"
3665+ },
3666+ "response": {
3667+ "$ref": "CreateOrdersResponse"
3668+ },
3669+ "scopes": [
3670+ "https://www.googleapis.com/auth/adexchange.buyer"
3671+ ]
3672+ },
3673+ "patch": {
3674+ "id": "adexchangebuyer.marketplaceorders.patch",
3675+ "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}",
3676+ "httpMethod": "PATCH",
3677+ "description": "Update the given order. This method supports patch semantics.",
3678+ "parameters": {
3679+ "orderId": {
3680+ "type": "string",
3681+ "description": "The order id to update.",
3682+ "required": true,
3683+ "location": "path"
3684+ },
3685+ "revisionNumber": {
3686+ "type": "string",
3687+ "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.",
3688+ "required": true,
3689+ "format": "int64",
3690+ "location": "path"
3691+ },
3692+ "updateAction": {
3693+ "type": "string",
3694+ "description": "The proposed action to take on the order.",
3695+ "required": true,
3696+ "enum": [
3697+ "accept",
3698+ "cancel",
3699+ "propose",
3700+ "unknownAction",
3701+ "updateFinalized"
3702+ ],
3703+ "enumDescriptions": [
3704+ "",
3705+ "",
3706+ "",
3707+ "",
3708+ ""
3709+ ],
3710+ "location": "path"
3711+ }
3712+ },
3713+ "parameterOrder": [
3714+ "orderId",
3715+ "revisionNumber",
3716+ "updateAction"
3717+ ],
3718+ "request": {
3719+ "$ref": "MarketplaceOrder"
3720+ },
3721+ "response": {
3722+ "$ref": "MarketplaceOrder"
3723+ },
3724+ "scopes": [
3725+ "https://www.googleapis.com/auth/adexchange.buyer"
3726+ ]
3727+ },
3728+ "search": {
3729+ "id": "adexchangebuyer.marketplaceorders.search",
3730+ "path": "marketplaceOrders/search",
3731+ "httpMethod": "GET",
3732+ "description": "Search for orders using pql query",
3733+ "parameters": {
3734+ "pqlQuery": {
3735+ "type": "string",
3736+ "description": "Query string to retrieve specific orders.",
3737+ "location": "query"
3738+ }
3739+ },
3740+ "response": {
3741+ "$ref": "GetOrdersResponse"
3742+ },
3743+ "scopes": [
3744+ "https://www.googleapis.com/auth/adexchange.buyer"
3745+ ]
3746+ },
3747+ "update": {
3748+ "id": "adexchangebuyer.marketplaceorders.update",
3749+ "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}",
3750+ "httpMethod": "PUT",
3751+ "description": "Update the given order",
3752+ "parameters": {
3753+ "orderId": {
3754+ "type": "string",
3755+ "description": "The order id to update.",
3756+ "required": true,
3757+ "location": "path"
3758+ },
3759+ "revisionNumber": {
3760+ "type": "string",
3761+ "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.",
3762+ "required": true,
3763+ "format": "int64",
3764+ "location": "path"
3765+ },
3766+ "updateAction": {
3767+ "type": "string",
3768+ "description": "The proposed action to take on the order.",
3769+ "required": true,
3770+ "enum": [
3771+ "accept",
3772+ "cancel",
3773+ "propose",
3774+ "unknownAction",
3775+ "updateFinalized"
3776+ ],
3777+ "enumDescriptions": [
3778+ "",
3779+ "",
3780+ "",
3781+ "",
3782+ ""
3783+ ],
3784+ "location": "path"
3785+ }
3786+ },
3787+ "parameterOrder": [
3788+ "orderId",
3789+ "revisionNumber",
3790+ "updateAction"
3791+ ],
3792+ "request": {
3793+ "$ref": "MarketplaceOrder"
3794+ },
3795+ "response": {
3796+ "$ref": "MarketplaceOrder"
3797+ },
3798+ "scopes": [
3799+ "https://www.googleapis.com/auth/adexchange.buyer"
3800+ ]
3801+ }
3802+ }
3803+ },
3804+ "negotiationrounds": {
3805+ "methods": {
3806+ "insert": {
3807+ "id": "adexchangebuyer.negotiationrounds.insert",
3808+ "path": "negotiations/{negotiationId}/negotiationrounds",
3809+ "httpMethod": "POST",
3810+ "description": "Adds the requested negotiationRound to the requested negotiation.",
3811+ "parameters": {
3812+ "negotiationId": {
3813+ "type": "string",
3814+ "required": true,
3815+ "format": "int64",
3816+ "location": "path"
3817+ }
3818+ },
3819+ "parameterOrder": [
3820+ "negotiationId"
3821+ ],
3822+ "request": {
3823+ "$ref": "NegotiationRoundDto"
3824+ },
3825+ "response": {
3826+ "$ref": "NegotiationRoundDto"
3827+ },
3828+ "scopes": [
3829+ "https://www.googleapis.com/auth/adexchange.buyer"
3830+ ]
3831+ }
3832+ }
3833+ },
3834+ "negotiations": {
3835+ "methods": {
3836+ "get": {
3837+ "id": "adexchangebuyer.negotiations.get",
3838+ "path": "negotiations/{negotiationId}",
3839+ "httpMethod": "GET",
3840+ "description": "Gets the requested negotiation.",
3841+ "parameters": {
3842+ "negotiationId": {
3843+ "type": "string",
3844+ "required": true,
3845+ "format": "int64",
3846+ "location": "path"
3847+ }
3848+ },
3849+ "parameterOrder": [
3850+ "negotiationId"
3851+ ],
3852+ "request": {
3853+ "$ref": "GetNegotiationByIdRequest"
3854+ },
3855+ "response": {
3856+ "$ref": "NegotiationDto"
3857+ },
3858+ "scopes": [
3859+ "https://www.googleapis.com/auth/adexchange.buyer"
3860+ ]
3861+ },
3862+ "insert": {
3863+ "id": "adexchangebuyer.negotiations.insert",
3864+ "path": "negotiations",
3865+ "httpMethod": "POST",
3866+ "description": "Creates or updates the requested negotiation.",
3867+ "request": {
3868+ "$ref": "NegotiationDto"
3869+ },
3870+ "response": {
3871+ "$ref": "NegotiationDto"
3872+ },
3873+ "scopes": [
3874+ "https://www.googleapis.com/auth/adexchange.buyer"
3875+ ]
3876+ },
3877+ "list": {
3878+ "id": "adexchangebuyer.negotiations.list",
3879+ "path": "negotiations",
3880+ "httpMethod": "GET",
3881+ "description": "Lists all negotiations the authenticated user has access to.",
3882+ "request": {
3883+ "$ref": "GetNegotiationsRequest"
3884+ },
3885+ "response": {
3886+ "$ref": "GetNegotiationsResponse"
3887+ },
3888+ "scopes": [
3889+ "https://www.googleapis.com/auth/adexchange.buyer"
3890+ ]
3891+ }
3892+ }
3893+ },
3894+ "offers": {
3895+ "methods": {
3896+ "get": {
3897+ "id": "adexchangebuyer.offers.get",
3898+ "path": "offers/{offerId}",
3899+ "httpMethod": "GET",
3900+ "description": "Gets the requested offer.",
3901+ "parameters": {
3902+ "offerId": {
3903+ "type": "string",
3904+ "required": true,
3905+ "format": "int64",
3906+ "location": "path"
3907+ }
3908+ },
3909+ "parameterOrder": [
3910+ "offerId"
3911+ ],
3912+ "response": {
3913+ "$ref": "OfferDto"
3914+ },
3915+ "scopes": [
3916+ "https://www.googleapis.com/auth/adexchange.buyer"
3917+ ]
3918+ },
3919+ "insert": {
3920+ "id": "adexchangebuyer.offers.insert",
3921+ "path": "offers",
3922+ "httpMethod": "POST",
3923+ "description": "Creates or updates the requested offer.",
3924+ "request": {
3925+ "$ref": "OfferDto"
3926+ },
3927+ "response": {
3928+ "$ref": "OfferDto"
3929+ },
3930+ "scopes": [
3931+ "https://www.googleapis.com/auth/adexchange.buyer"
3932+ ]
3933+ },
3934+ "list": {
3935+ "id": "adexchangebuyer.offers.list",
3936+ "path": "offers",
3937+ "httpMethod": "GET",
3938+ "description": "Lists all offers the authenticated user has access to.",
3939+ "request": {
3940+ "$ref": "ListOffersRequest"
3941+ },
3942+ "response": {
3943+ "$ref": "ListOffersResponse"
3944+ },
3945+ "scopes": [
3946+ "https://www.googleapis.com/auth/adexchange.buyer"
3947+ ]
3948+ }
3949+ }
3950+ },
3951+ "performanceReport": {
3952+ "methods": {
3953+ "list": {
3954+ "id": "adexchangebuyer.performanceReport.list",
3955+ "path": "performancereport",
3956+ "httpMethod": "GET",
3957+ "description": "Retrieves the authenticated user's list of performance metrics.",
3958+ "parameters": {
3959+ "accountId": {
3960+ "type": "string",
3961+ "description": "The account id to get the reports.",
3962+ "required": true,
3963+ "format": "int64",
3964+ "location": "query"
3965+ },
3966+ "endDateTime": {
3967+ "type": "string",
3968+ "description": "The end time of the report in ISO 8601 timestamp format using UTC.",
3969+ "required": true,
3970+ "location": "query"
3971+ },
3972+ "maxResults": {
3973+ "type": "integer",
3974+ "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.",
3975+ "format": "uint32",
3976+ "minimum": "1",
3977+ "maximum": "1000",
3978+ "location": "query"
3979+ },
3980+ "pageToken": {
3981+ "type": "string",
3982+ "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.",
3983+ "location": "query"
3984+ },
3985+ "startDateTime": {
3986+ "type": "string",
3987+ "description": "The start time of the report in ISO 8601 timestamp format using UTC.",
3988+ "required": true,
3989+ "location": "query"
3990+ }
3991+ },
3992+ "parameterOrder": [
3993+ "accountId",
3994+ "endDateTime",
3995+ "startDateTime"
3996+ ],
3997+ "response": {
3998+ "$ref": "PerformanceReportList"
3999+ },
4000+ "scopes": [
4001+ "https://www.googleapis.com/auth/adexchange.buyer"
4002+ ]
4003+ }
4004+ }
4005+ },
4006+ "pretargetingConfig": {
4007+ "methods": {
4008+ "delete": {
4009+ "id": "adexchangebuyer.pretargetingConfig.delete",
4010+ "path": "pretargetingconfigs/{accountId}/{configId}",
4011+ "httpMethod": "DELETE",
4012+ "description": "Deletes an existing pretargeting config.",
4013+ "parameters": {
4014+ "accountId": {
4015+ "type": "string",
4016+ "description": "The account id to delete the pretargeting config for.",
4017+ "required": true,
4018+ "format": "int64",
4019+ "location": "path"
4020+ },
4021+ "configId": {
4022+ "type": "string",
4023+ "description": "The specific id of the configuration to delete.",
4024+ "required": true,
4025+ "format": "int64",
4026+ "location": "path"
4027+ }
4028+ },
4029+ "parameterOrder": [
4030+ "accountId",
4031+ "configId"
4032+ ],
4033+ "scopes": [
4034+ "https://www.googleapis.com/auth/adexchange.buyer"
4035+ ]
4036+ },
4037+ "get": {
4038+ "id": "adexchangebuyer.pretargetingConfig.get",
4039+ "path": "pretargetingconfigs/{accountId}/{configId}",
4040+ "httpMethod": "GET",
4041+ "description": "Gets a specific pretargeting configuration",
4042+ "parameters": {
4043+ "accountId": {
4044+ "type": "string",
4045+ "description": "The account id to get the pretargeting config for.",
4046+ "required": true,
4047+ "format": "int64",
4048+ "location": "path"
4049+ },
4050+ "configId": {
4051+ "type": "string",
4052+ "description": "The specific id of the configuration to retrieve.",
4053+ "required": true,
4054+ "format": "int64",
4055+ "location": "path"
4056+ }
4057+ },
4058+ "parameterOrder": [
4059+ "accountId",
4060+ "configId"
4061+ ],
4062+ "response": {
4063+ "$ref": "PretargetingConfig"
4064+ },
4065+ "scopes": [
4066+ "https://www.googleapis.com/auth/adexchange.buyer"
4067+ ]
4068+ },
4069+ "insert": {
4070+ "id": "adexchangebuyer.pretargetingConfig.insert",
4071+ "path": "pretargetingconfigs/{accountId}",
4072+ "httpMethod": "POST",
4073+ "description": "Inserts a new pretargeting configuration.",
4074+ "parameters": {
4075+ "accountId": {
4076+ "type": "string",
4077+ "description": "The account id to insert the pretargeting config for.",
4078+ "required": true,
4079+ "format": "int64",
4080+ "location": "path"
4081+ }
4082+ },
4083+ "parameterOrder": [
4084+ "accountId"
4085+ ],
4086+ "request": {
4087+ "$ref": "PretargetingConfig"
4088+ },
4089+ "response": {
4090+ "$ref": "PretargetingConfig"
4091+ },
4092+ "scopes": [
4093+ "https://www.googleapis.com/auth/adexchange.buyer"
4094+ ]
4095+ },
4096+ "list": {
4097+ "id": "adexchangebuyer.pretargetingConfig.list",
4098+ "path": "pretargetingconfigs/{accountId}",
4099+ "httpMethod": "GET",
4100+ "description": "Retrieves a list of the authenticated user's pretargeting configurations.",
4101+ "parameters": {
4102+ "accountId": {
4103+ "type": "string",
4104+ "description": "The account id to get the pretargeting configs for.",
4105+ "required": true,
4106+ "format": "int64",
4107+ "location": "path"
4108+ }
4109+ },
4110+ "parameterOrder": [
4111+ "accountId"
4112+ ],
4113+ "response": {
4114+ "$ref": "PretargetingConfigList"
4115+ },
4116+ "scopes": [
4117+ "https://www.googleapis.com/auth/adexchange.buyer"
4118+ ]
4119+ },
4120+ "patch": {
4121+ "id": "adexchangebuyer.pretargetingConfig.patch",
4122+ "path": "pretargetingconfigs/{accountId}/{configId}",
4123+ "httpMethod": "PATCH",
4124+ "description": "Updates an existing pretargeting config. This method supports patch semantics.",
4125+ "parameters": {
4126+ "accountId": {
4127+ "type": "string",
4128+ "description": "The account id to update the pretargeting config for.",
4129+ "required": true,
4130+ "format": "int64",
4131+ "location": "path"
4132+ },
4133+ "configId": {
4134+ "type": "string",
4135+ "description": "The specific id of the configuration to update.",
4136+ "required": true,
4137+ "format": "int64",
4138+ "location": "path"
4139+ }
4140+ },
4141+ "parameterOrder": [
4142+ "accountId",
4143+ "configId"
4144+ ],
4145+ "request": {
4146+ "$ref": "PretargetingConfig"
4147+ },
4148+ "response": {
4149+ "$ref": "PretargetingConfig"
4150+ },
4151+ "scopes": [
4152+ "https://www.googleapis.com/auth/adexchange.buyer"
4153+ ]
4154+ },
4155+ "update": {
4156+ "id": "adexchangebuyer.pretargetingConfig.update",
4157+ "path": "pretargetingconfigs/{accountId}/{configId}",
4158+ "httpMethod": "PUT",
4159+ "description": "Updates an existing pretargeting config.",
4160+ "parameters": {
4161+ "accountId": {
4162+ "type": "string",
4163+ "description": "The account id to update the pretargeting config for.",
4164+ "required": true,
4165+ "format": "int64",
4166+ "location": "path"
4167+ },
4168+ "configId": {
4169+ "type": "string",
4170+ "description": "The specific id of the configuration to update.",
4171+ "required": true,
4172+ "format": "int64",
4173+ "location": "path"
4174+ }
4175+ },
4176+ "parameterOrder": [
4177+ "accountId",
4178+ "configId"
4179+ ],
4180+ "request": {
4181+ "$ref": "PretargetingConfig"
4182+ },
4183+ "response": {
4184+ "$ref": "PretargetingConfig"
4185+ },
4186+ "scopes": [
4187+ "https://www.googleapis.com/auth/adexchange.buyer"
4188+ ]
4189+ }
4190+ }
4191+ }
4192+ }
4193+}
gen/model/adexchangeseller/adexchangeseller/v1.1/adexchangeseller-api.jsonnew file+1241
@@ -0,0 +1,1241 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Ob-vIbU0CMw39spLQLZEQavYp3Q\"",
4+ "discoveryVersion": "v1",
5+ "id": "adexchangeseller:v1.1",
6+ "name": "adexchangeseller",
7+ "canonicalName": "Ad Exchange Seller",
8+ "version": "v1.1",
9+ "revision": "20141112",
10+ "title": "Ad Exchange Seller API",
11+ "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17+ },
18+ "documentationLink": "https://developers.google.com/ad-exchange/seller-rest/",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adexchangeseller/v1.1/",
21+ "basePath": "/adexchangeseller/v1.1/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adexchangeseller/v1.1/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "csv",
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of text/csv",
36+ "Responses with Content-Type of application/json"
37+ ],
38+ "location": "query"
39+ },
40+ "fields": {
41+ "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
43+ "location": "query"
44+ },
45+ "key": {
46+ "type": "string",
47+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
48+ "location": "query"
49+ },
50+ "oauth_token": {
51+ "type": "string",
52+ "description": "OAuth 2.0 token for the current user.",
53+ "location": "query"
54+ },
55+ "prettyPrint": {
56+ "type": "boolean",
57+ "description": "Returns response with indentations and line breaks.",
58+ "default": "true",
59+ "location": "query"
60+ },
61+ "quotaUser": {
62+ "type": "string",
63+ "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.",
64+ "location": "query"
65+ },
66+ "userIp": {
67+ "type": "string",
68+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
69+ "location": "query"
70+ }
71+ },
72+ "auth": {
73+ "oauth2": {
74+ "scopes": {
75+ "https://www.googleapis.com/auth/adexchange.seller": {
76+ "description": "View and manage your Ad Exchange data"
77+ },
78+ "https://www.googleapis.com/auth/adexchange.seller.readonly": {
79+ "description": "View your Ad Exchange data"
80+ }
81+ }
82+ }
83+ },
84+ "schemas": {
85+ "Account": {
86+ "id": "Account",
87+ "type": "object",
88+ "properties": {
89+ "id": {
90+ "type": "string",
91+ "description": "Unique identifier of this account."
92+ },
93+ "kind": {
94+ "type": "string",
95+ "description": "Kind of resource this is, in this case adexchangeseller#account.",
96+ "default": "adexchangeseller#account"
97+ },
98+ "name": {
99+ "type": "string",
100+ "description": "Name of this account."
101+ }
102+ }
103+ },
104+ "AdClient": {
105+ "id": "AdClient",
106+ "type": "object",
107+ "properties": {
108+ "arcOptIn": {
109+ "type": "boolean",
110+ "description": "Whether this ad client is opted in to ARC."
111+ },
112+ "id": {
113+ "type": "string",
114+ "description": "Unique identifier of this ad client."
115+ },
116+ "kind": {
117+ "type": "string",
118+ "description": "Kind of resource this is, in this case adexchangeseller#adClient.",
119+ "default": "adexchangeseller#adClient"
120+ },
121+ "productCode": {
122+ "type": "string",
123+ "description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension."
124+ },
125+ "supportsReporting": {
126+ "type": "boolean",
127+ "description": "Whether this ad client supports being reported on."
128+ }
129+ }
130+ },
131+ "AdClients": {
132+ "id": "AdClients",
133+ "type": "object",
134+ "properties": {
135+ "etag": {
136+ "type": "string",
137+ "description": "ETag of this response for caching purposes."
138+ },
139+ "items": {
140+ "type": "array",
141+ "description": "The ad clients returned in this list response.",
142+ "items": {
143+ "$ref": "AdClient"
144+ }
145+ },
146+ "kind": {
147+ "type": "string",
148+ "description": "Kind of list this is, in this case adexchangeseller#adClients.",
149+ "default": "adexchangeseller#adClients"
150+ },
151+ "nextPageToken": {
152+ "type": "string",
153+ "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."
154+ }
155+ }
156+ },
157+ "AdUnit": {
158+ "id": "AdUnit",
159+ "type": "object",
160+ "properties": {
161+ "code": {
162+ "type": "string",
163+ "description": "Identity code of this ad unit, not necessarily unique across ad clients."
164+ },
165+ "id": {
166+ "type": "string",
167+ "description": "Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
168+ },
169+ "kind": {
170+ "type": "string",
171+ "description": "Kind of resource this is, in this case adexchangeseller#adUnit.",
172+ "default": "adexchangeseller#adUnit"
173+ },
174+ "name": {
175+ "type": "string",
176+ "description": "Name of this ad unit."
177+ },
178+ "status": {
179+ "type": "string",
180+ "description": "Status of this ad unit. Possible values are:\nNEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.\n\nACTIVE: Indicates that there has been activity on this ad unit in the last seven days.\n\nINACTIVE: Indicates that there has been no activity on this ad unit in the last seven days."
181+ }
182+ }
183+ },
184+ "AdUnits": {
185+ "id": "AdUnits",
186+ "type": "object",
187+ "properties": {
188+ "etag": {
189+ "type": "string",
190+ "description": "ETag of this response for caching purposes."
191+ },
192+ "items": {
193+ "type": "array",
194+ "description": "The ad units returned in this list response.",
195+ "items": {
196+ "$ref": "AdUnit"
197+ }
198+ },
199+ "kind": {
200+ "type": "string",
201+ "description": "Kind of list this is, in this case adexchangeseller#adUnits.",
202+ "default": "adexchangeseller#adUnits"
203+ },
204+ "nextPageToken": {
205+ "type": "string",
206+ "description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
207+ }
208+ }
209+ },
210+ "Alert": {
211+ "id": "Alert",
212+ "type": "object",
213+ "properties": {
214+ "id": {
215+ "type": "string",
216+ "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."
217+ },
218+ "kind": {
219+ "type": "string",
220+ "description": "Kind of resource this is, in this case adexchangeseller#alert.",
221+ "default": "adexchangeseller#alert"
222+ },
223+ "message": {
224+ "type": "string",
225+ "description": "The localized alert message."
226+ },
227+ "severity": {
228+ "type": "string",
229+ "description": "Severity of this alert. Possible values: INFO, WARNING, SEVERE."
230+ },
231+ "type": {
232+ "type": "string",
233+ "description": "Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD."
234+ }
235+ }
236+ },
237+ "Alerts": {
238+ "id": "Alerts",
239+ "type": "object",
240+ "properties": {
241+ "items": {
242+ "type": "array",
243+ "description": "The alerts returned in this list response.",
244+ "items": {
245+ "$ref": "Alert"
246+ }
247+ },
248+ "kind": {
249+ "type": "string",
250+ "description": "Kind of list this is, in this case adexchangeseller#alerts.",
251+ "default": "adexchangeseller#alerts"
252+ }
253+ }
254+ },
255+ "CustomChannel": {
256+ "id": "CustomChannel",
257+ "type": "object",
258+ "properties": {
259+ "code": {
260+ "type": "string",
261+ "description": "Code of this custom channel, not necessarily unique across ad clients."
262+ },
263+ "id": {
264+ "type": "string",
265+ "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."
266+ },
267+ "kind": {
268+ "type": "string",
269+ "description": "Kind of resource this is, in this case adexchangeseller#customChannel.",
270+ "default": "adexchangeseller#customChannel"
271+ },
272+ "name": {
273+ "type": "string",
274+ "description": "Name of this custom channel."
275+ },
276+ "targetingInfo": {
277+ "type": "object",
278+ "description": "The targeting information of this custom channel, if activated.",
279+ "properties": {
280+ "adsAppearOn": {
281+ "type": "string",
282+ "description": "The name used to describe this channel externally."
283+ },
284+ "description": {
285+ "type": "string",
286+ "description": "The external description of the channel."
287+ },
288+ "location": {
289+ "type": "string",
290+ "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."
291+ },
292+ "siteLanguage": {
293+ "type": "string",
294+ "description": "The language of the sites ads will be displayed on."
295+ }
296+ }
297+ }
298+ }
299+ },
300+ "CustomChannels": {
301+ "id": "CustomChannels",
302+ "type": "object",
303+ "properties": {
304+ "etag": {
305+ "type": "string",
306+ "description": "ETag of this response for caching purposes."
307+ },
308+ "items": {
309+ "type": "array",
310+ "description": "The custom channels returned in this list response.",
311+ "items": {
312+ "$ref": "CustomChannel"
313+ }
314+ },
315+ "kind": {
316+ "type": "string",
317+ "description": "Kind of list this is, in this case adexchangeseller#customChannels.",
318+ "default": "adexchangeseller#customChannels"
319+ },
320+ "nextPageToken": {
321+ "type": "string",
322+ "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."
323+ }
324+ }
325+ },
326+ "Metadata": {
327+ "id": "Metadata",
328+ "type": "object",
329+ "properties": {
330+ "items": {
331+ "type": "array",
332+ "items": {
333+ "$ref": "ReportingMetadataEntry"
334+ }
335+ },
336+ "kind": {
337+ "type": "string",
338+ "description": "Kind of list this is, in this case adexchangeseller#metadata.",
339+ "default": "adexchangeseller#metadata"
340+ }
341+ }
342+ },
343+ "PreferredDeal": {
344+ "id": "PreferredDeal",
345+ "type": "object",
346+ "properties": {
347+ "advertiserName": {
348+ "type": "string",
349+ "description": "The name of the advertiser this deal is for."
350+ },
351+ "buyerNetworkName": {
352+ "type": "string",
353+ "description": "The name of the buyer network this deal is for."
354+ },
355+ "currencyCode": {
356+ "type": "string",
357+ "description": "The currency code that applies to the fixed_cpm value. If not set then assumed to be USD."
358+ },
359+ "endTime": {
360+ "type": "string",
361+ "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.",
362+ "format": "uint64"
363+ },
364+ "fixedCpm": {
365+ "type": "string",
366+ "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).",
367+ "format": "int64"
368+ },
369+ "id": {
370+ "type": "string",
371+ "description": "Unique identifier of this preferred deal.",
372+ "format": "int64"
373+ },
374+ "kind": {
375+ "type": "string",
376+ "description": "Kind of resource this is, in this case adexchangeseller#preferredDeal.",
377+ "default": "adexchangeseller#preferredDeal"
378+ },
379+ "startTime": {
380+ "type": "string",
381+ "description": "Time when this deal becomes active in seconds since the epoch (GMT). If not set then this deal is active immediately upon creation.",
382+ "format": "uint64"
383+ }
384+ }
385+ },
386+ "PreferredDeals": {
387+ "id": "PreferredDeals",
388+ "type": "object",
389+ "properties": {
390+ "items": {
391+ "type": "array",
392+ "description": "The preferred deals returned in this list response.",
393+ "items": {
394+ "$ref": "PreferredDeal"
395+ }
396+ },
397+ "kind": {
398+ "type": "string",
399+ "description": "Kind of list this is, in this case adexchangeseller#preferredDeals.",
400+ "default": "adexchangeseller#preferredDeals"
401+ }
402+ }
403+ },
404+ "Report": {
405+ "id": "Report",
406+ "type": "object",
407+ "properties": {
408+ "averages": {
409+ "type": "array",
410+ "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.",
411+ "items": {
412+ "type": "string"
413+ }
414+ },
415+ "headers": {
416+ "type": "array",
417+ "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.",
418+ "items": {
419+ "type": "object",
420+ "properties": {
421+ "currency": {
422+ "type": "string",
423+ "description": "The currency of this column. Only present if the header type is METRIC_CURRENCY."
424+ },
425+ "name": {
426+ "type": "string",
427+ "description": "The name of the header."
428+ },
429+ "type": {
430+ "type": "string",
431+ "description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY."
432+ }
433+ }
434+ }
435+ },
436+ "kind": {
437+ "type": "string",
438+ "description": "Kind this is, in this case adexchangeseller#report.",
439+ "default": "adexchangeseller#report"
440+ },
441+ "rows": {
442+ "type": "array",
443+ "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.",
444+ "items": {
445+ "type": "array",
446+ "items": {
447+ "type": "string"
448+ }
449+ }
450+ },
451+ "totalMatchedRows": {
452+ "type": "string",
453+ "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.",
454+ "format": "int64"
455+ },
456+ "totals": {
457+ "type": "array",
458+ "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.",
459+ "items": {
460+ "type": "string"
461+ }
462+ },
463+ "warnings": {
464+ "type": "array",
465+ "description": "Any warnings associated with generation of the report.",
466+ "items": {
467+ "type": "string"
468+ }
469+ }
470+ }
471+ },
472+ "ReportingMetadataEntry": {
473+ "id": "ReportingMetadataEntry",
474+ "type": "object",
475+ "properties": {
476+ "compatibleDimensions": {
477+ "type": "array",
478+ "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.",
479+ "items": {
480+ "type": "string"
481+ }
482+ },
483+ "compatibleMetrics": {
484+ "type": "array",
485+ "description": "The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.",
486+ "items": {
487+ "type": "string"
488+ }
489+ },
490+ "id": {
491+ "type": "string",
492+ "description": "Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric."
493+ },
494+ "kind": {
495+ "type": "string",
496+ "description": "Kind of resource this is, in this case adexchangeseller#reportingMetadataEntry.",
497+ "default": "adexchangeseller#reportingMetadataEntry"
498+ },
499+ "requiredDimensions": {
500+ "type": "array",
501+ "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.",
502+ "items": {
503+ "type": "string"
504+ }
505+ },
506+ "requiredMetrics": {
507+ "type": "array",
508+ "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.",
509+ "items": {
510+ "type": "string"
511+ }
512+ },
513+ "supportedProducts": {
514+ "type": "array",
515+ "description": "The codes of the projects supported by the dimension or metric this reporting metadata entry describes.",
516+ "items": {
517+ "type": "string"
518+ }
519+ }
520+ }
521+ },
522+ "SavedReport": {
523+ "id": "SavedReport",
524+ "type": "object",
525+ "properties": {
526+ "id": {
527+ "type": "string",
528+ "description": "Unique identifier of this saved report."
529+ },
530+ "kind": {
531+ "type": "string",
532+ "description": "Kind of resource this is, in this case adexchangeseller#savedReport.",
533+ "default": "adexchangeseller#savedReport"
534+ },
535+ "name": {
536+ "type": "string",
537+ "description": "This saved report's name."
538+ }
539+ }
540+ },
541+ "SavedReports": {
542+ "id": "SavedReports",
543+ "type": "object",
544+ "properties": {
545+ "etag": {
546+ "type": "string",
547+ "description": "ETag of this response for caching purposes."
548+ },
549+ "items": {
550+ "type": "array",
551+ "description": "The saved reports returned in this list response.",
552+ "items": {
553+ "$ref": "SavedReport"
554+ }
555+ },
556+ "kind": {
557+ "type": "string",
558+ "description": "Kind of list this is, in this case adexchangeseller#savedReports.",
559+ "default": "adexchangeseller#savedReports"
560+ },
561+ "nextPageToken": {
562+ "type": "string",
563+ "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."
564+ }
565+ }
566+ },
567+ "UrlChannel": {
568+ "id": "UrlChannel",
569+ "type": "object",
570+ "properties": {
571+ "id": {
572+ "type": "string",
573+ "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."
574+ },
575+ "kind": {
576+ "type": "string",
577+ "description": "Kind of resource this is, in this case adexchangeseller#urlChannel.",
578+ "default": "adexchangeseller#urlChannel"
579+ },
580+ "urlPattern": {
581+ "type": "string",
582+ "description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home"
583+ }
584+ }
585+ },
586+ "UrlChannels": {
587+ "id": "UrlChannels",
588+ "type": "object",
589+ "properties": {
590+ "etag": {
591+ "type": "string",
592+ "description": "ETag of this response for caching purposes."
593+ },
594+ "items": {
595+ "type": "array",
596+ "description": "The URL channels returned in this list response.",
597+ "items": {
598+ "$ref": "UrlChannel"
599+ }
600+ },
601+ "kind": {
602+ "type": "string",
603+ "description": "Kind of list this is, in this case adexchangeseller#urlChannels.",
604+ "default": "adexchangeseller#urlChannels"
605+ },
606+ "nextPageToken": {
607+ "type": "string",
608+ "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."
609+ }
610+ }
611+ }
612+ },
613+ "resources": {
614+ "accounts": {
615+ "methods": {
616+ "get": {
617+ "id": "adexchangeseller.accounts.get",
618+ "path": "accounts/{accountId}",
619+ "httpMethod": "GET",
620+ "description": "Get information about the selected Ad Exchange account.",
621+ "parameters": {
622+ "accountId": {
623+ "type": "string",
624+ "description": "Account to get information about. Tip: 'myaccount' is a valid ID.",
625+ "required": true,
626+ "location": "path"
627+ }
628+ },
629+ "parameterOrder": [
630+ "accountId"
631+ ],
632+ "response": {
633+ "$ref": "Account"
634+ },
635+ "scopes": [
636+ "https://www.googleapis.com/auth/adexchange.seller",
637+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
638+ ]
639+ }
640+ }
641+ },
642+ "adclients": {
643+ "methods": {
644+ "list": {
645+ "id": "adexchangeseller.adclients.list",
646+ "path": "adclients",
647+ "httpMethod": "GET",
648+ "description": "List all ad clients in this Ad Exchange account.",
649+ "parameters": {
650+ "maxResults": {
651+ "type": "integer",
652+ "description": "The maximum number of ad clients to include in the response, used for paging.",
653+ "format": "uint32",
654+ "minimum": "0",
655+ "maximum": "10000",
656+ "location": "query"
657+ },
658+ "pageToken": {
659+ "type": "string",
660+ "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.",
661+ "location": "query"
662+ }
663+ },
664+ "response": {
665+ "$ref": "AdClients"
666+ },
667+ "scopes": [
668+ "https://www.googleapis.com/auth/adexchange.seller",
669+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
670+ ]
671+ }
672+ }
673+ },
674+ "adunits": {
675+ "methods": {
676+ "get": {
677+ "id": "adexchangeseller.adunits.get",
678+ "path": "adclients/{adClientId}/adunits/{adUnitId}",
679+ "httpMethod": "GET",
680+ "description": "Gets the specified ad unit in the specified ad client.",
681+ "parameters": {
682+ "adClientId": {
683+ "type": "string",
684+ "description": "Ad client for which to get the ad unit.",
685+ "required": true,
686+ "location": "path"
687+ },
688+ "adUnitId": {
689+ "type": "string",
690+ "description": "Ad unit to retrieve.",
691+ "required": true,
692+ "location": "path"
693+ }
694+ },
695+ "parameterOrder": [
696+ "adClientId",
697+ "adUnitId"
698+ ],
699+ "response": {
700+ "$ref": "AdUnit"
701+ },
702+ "scopes": [
703+ "https://www.googleapis.com/auth/adexchange.seller",
704+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
705+ ]
706+ },
707+ "list": {
708+ "id": "adexchangeseller.adunits.list",
709+ "path": "adclients/{adClientId}/adunits",
710+ "httpMethod": "GET",
711+ "description": "List all ad units in the specified ad client for this Ad Exchange account.",
712+ "parameters": {
713+ "adClientId": {
714+ "type": "string",
715+ "description": "Ad client for which to list ad units.",
716+ "required": true,
717+ "location": "path"
718+ },
719+ "includeInactive": {
720+ "type": "boolean",
721+ "description": "Whether to include inactive ad units. Default: true.",
722+ "location": "query"
723+ },
724+ "maxResults": {
725+ "type": "integer",
726+ "description": "The maximum number of ad units to include in the response, used for paging.",
727+ "format": "uint32",
728+ "minimum": "0",
729+ "maximum": "10000",
730+ "location": "query"
731+ },
732+ "pageToken": {
733+ "type": "string",
734+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
735+ "location": "query"
736+ }
737+ },
738+ "parameterOrder": [
739+ "adClientId"
740+ ],
741+ "response": {
742+ "$ref": "AdUnits"
743+ },
744+ "scopes": [
745+ "https://www.googleapis.com/auth/adexchange.seller",
746+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
747+ ]
748+ }
749+ },
750+ "resources": {
751+ "customchannels": {
752+ "methods": {
753+ "list": {
754+ "id": "adexchangeseller.adunits.customchannels.list",
755+ "path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels",
756+ "httpMethod": "GET",
757+ "description": "List all custom channels which the specified ad unit belongs to.",
758+ "parameters": {
759+ "adClientId": {
760+ "type": "string",
761+ "description": "Ad client which contains the ad unit.",
762+ "required": true,
763+ "location": "path"
764+ },
765+ "adUnitId": {
766+ "type": "string",
767+ "description": "Ad unit for which to list custom channels.",
768+ "required": true,
769+ "location": "path"
770+ },
771+ "maxResults": {
772+ "type": "integer",
773+ "description": "The maximum number of custom channels to include in the response, used for paging.",
774+ "format": "uint32",
775+ "minimum": "0",
776+ "maximum": "10000",
777+ "location": "query"
778+ },
779+ "pageToken": {
780+ "type": "string",
781+ "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.",
782+ "location": "query"
783+ }
784+ },
785+ "parameterOrder": [
786+ "adClientId",
787+ "adUnitId"
788+ ],
789+ "response": {
790+ "$ref": "CustomChannels"
791+ },
792+ "scopes": [
793+ "https://www.googleapis.com/auth/adexchange.seller",
794+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
795+ ]
796+ }
797+ }
798+ }
799+ }
800+ },
801+ "alerts": {
802+ "methods": {
803+ "list": {
804+ "id": "adexchangeseller.alerts.list",
805+ "path": "alerts",
806+ "httpMethod": "GET",
807+ "description": "List the alerts for this Ad Exchange account.",
808+ "parameters": {
809+ "locale": {
810+ "type": "string",
811+ "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.",
812+ "location": "query"
813+ }
814+ },
815+ "response": {
816+ "$ref": "Alerts"
817+ },
818+ "scopes": [
819+ "https://www.googleapis.com/auth/adexchange.seller",
820+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
821+ ]
822+ }
823+ }
824+ },
825+ "customchannels": {
826+ "methods": {
827+ "get": {
828+ "id": "adexchangeseller.customchannels.get",
829+ "path": "adclients/{adClientId}/customchannels/{customChannelId}",
830+ "httpMethod": "GET",
831+ "description": "Get the specified custom channel from the specified ad client.",
832+ "parameters": {
833+ "adClientId": {
834+ "type": "string",
835+ "description": "Ad client which contains the custom channel.",
836+ "required": true,
837+ "location": "path"
838+ },
839+ "customChannelId": {
840+ "type": "string",
841+ "description": "Custom channel to retrieve.",
842+ "required": true,
843+ "location": "path"
844+ }
845+ },
846+ "parameterOrder": [
847+ "adClientId",
848+ "customChannelId"
849+ ],
850+ "response": {
851+ "$ref": "CustomChannel"
852+ },
853+ "scopes": [
854+ "https://www.googleapis.com/auth/adexchange.seller",
855+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
856+ ]
857+ },
858+ "list": {
859+ "id": "adexchangeseller.customchannels.list",
860+ "path": "adclients/{adClientId}/customchannels",
861+ "httpMethod": "GET",
862+ "description": "List all custom channels in the specified ad client for this Ad Exchange account.",
863+ "parameters": {
864+ "adClientId": {
865+ "type": "string",
866+ "description": "Ad client for which to list custom channels.",
867+ "required": true,
868+ "location": "path"
869+ },
870+ "maxResults": {
871+ "type": "integer",
872+ "description": "The maximum number of custom channels to include in the response, used for paging.",
873+ "format": "uint32",
874+ "minimum": "0",
875+ "maximum": "10000",
876+ "location": "query"
877+ },
878+ "pageToken": {
879+ "type": "string",
880+ "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.",
881+ "location": "query"
882+ }
883+ },
884+ "parameterOrder": [
885+ "adClientId"
886+ ],
887+ "response": {
888+ "$ref": "CustomChannels"
889+ },
890+ "scopes": [
891+ "https://www.googleapis.com/auth/adexchange.seller",
892+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
893+ ]
894+ }
895+ },
896+ "resources": {
897+ "adunits": {
898+ "methods": {
899+ "list": {
900+ "id": "adexchangeseller.customchannels.adunits.list",
901+ "path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits",
902+ "httpMethod": "GET",
903+ "description": "List all ad units in the specified custom channel.",
904+ "parameters": {
905+ "adClientId": {
906+ "type": "string",
907+ "description": "Ad client which contains the custom channel.",
908+ "required": true,
909+ "location": "path"
910+ },
911+ "customChannelId": {
912+ "type": "string",
913+ "description": "Custom channel for which to list ad units.",
914+ "required": true,
915+ "location": "path"
916+ },
917+ "includeInactive": {
918+ "type": "boolean",
919+ "description": "Whether to include inactive ad units. Default: true.",
920+ "location": "query"
921+ },
922+ "maxResults": {
923+ "type": "integer",
924+ "description": "The maximum number of ad units to include in the response, used for paging.",
925+ "format": "uint32",
926+ "minimum": "0",
927+ "maximum": "10000",
928+ "location": "query"
929+ },
930+ "pageToken": {
931+ "type": "string",
932+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
933+ "location": "query"
934+ }
935+ },
936+ "parameterOrder": [
937+ "adClientId",
938+ "customChannelId"
939+ ],
940+ "response": {
941+ "$ref": "AdUnits"
942+ },
943+ "scopes": [
944+ "https://www.googleapis.com/auth/adexchange.seller",
945+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
946+ ]
947+ }
948+ }
949+ }
950+ }
951+ },
952+ "metadata": {
953+ "resources": {
954+ "dimensions": {
955+ "methods": {
956+ "list": {
957+ "id": "adexchangeseller.metadata.dimensions.list",
958+ "path": "metadata/dimensions",
959+ "httpMethod": "GET",
960+ "description": "List the metadata for the dimensions available to this AdExchange account.",
961+ "response": {
962+ "$ref": "Metadata"
963+ },
964+ "scopes": [
965+ "https://www.googleapis.com/auth/adexchange.seller",
966+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
967+ ]
968+ }
969+ }
970+ },
971+ "metrics": {
972+ "methods": {
973+ "list": {
974+ "id": "adexchangeseller.metadata.metrics.list",
975+ "path": "metadata/metrics",
976+ "httpMethod": "GET",
977+ "description": "List the metadata for the metrics available to this AdExchange account.",
978+ "response": {
979+ "$ref": "Metadata"
980+ },
981+ "scopes": [
982+ "https://www.googleapis.com/auth/adexchange.seller",
983+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
984+ ]
985+ }
986+ }
987+ }
988+ }
989+ },
990+ "preferreddeals": {
991+ "methods": {
992+ "get": {
993+ "id": "adexchangeseller.preferreddeals.get",
994+ "path": "preferreddeals/{dealId}",
995+ "httpMethod": "GET",
996+ "description": "Get information about the selected Ad Exchange Preferred Deal.",
997+ "parameters": {
998+ "dealId": {
999+ "type": "string",
1000+ "description": "Preferred deal to get information about.",
1001+ "required": true,
1002+ "location": "path"
1003+ }
1004+ },
1005+ "parameterOrder": [
1006+ "dealId"
1007+ ],
1008+ "response": {
1009+ "$ref": "PreferredDeal"
1010+ },
1011+ "scopes": [
1012+ "https://www.googleapis.com/auth/adexchange.seller",
1013+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1014+ ]
1015+ },
1016+ "list": {
1017+ "id": "adexchangeseller.preferreddeals.list",
1018+ "path": "preferreddeals",
1019+ "httpMethod": "GET",
1020+ "description": "List the preferred deals for this Ad Exchange account.",
1021+ "response": {
1022+ "$ref": "PreferredDeals"
1023+ },
1024+ "scopes": [
1025+ "https://www.googleapis.com/auth/adexchange.seller",
1026+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1027+ ]
1028+ }
1029+ }
1030+ },
1031+ "reports": {
1032+ "methods": {
1033+ "generate": {
1034+ "id": "adexchangeseller.reports.generate",
1035+ "path": "reports",
1036+ "httpMethod": "GET",
1037+ "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.",
1038+ "parameters": {
1039+ "dimension": {
1040+ "type": "string",
1041+ "description": "Dimensions to base the report on.",
1042+ "pattern": "[a-zA-Z_]+",
1043+ "repeated": true,
1044+ "location": "query"
1045+ },
1046+ "endDate": {
1047+ "type": "string",
1048+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1049+ "required": true,
1050+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1051+ "location": "query"
1052+ },
1053+ "filter": {
1054+ "type": "string",
1055+ "description": "Filters to be run on the report.",
1056+ "pattern": "[a-zA-Z_]+(==|=@).+",
1057+ "repeated": true,
1058+ "location": "query"
1059+ },
1060+ "locale": {
1061+ "type": "string",
1062+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1063+ "pattern": "[a-zA-Z_]+",
1064+ "location": "query"
1065+ },
1066+ "maxResults": {
1067+ "type": "integer",
1068+ "description": "The maximum number of rows of report data to return.",
1069+ "format": "uint32",
1070+ "minimum": "0",
1071+ "maximum": "50000",
1072+ "location": "query"
1073+ },
1074+ "metric": {
1075+ "type": "string",
1076+ "description": "Numeric columns to include in the report.",
1077+ "pattern": "[a-zA-Z_]+",
1078+ "repeated": true,
1079+ "location": "query"
1080+ },
1081+ "sort": {
1082+ "type": "string",
1083+ "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.",
1084+ "pattern": "(\\+|-)?[a-zA-Z_]+",
1085+ "repeated": true,
1086+ "location": "query"
1087+ },
1088+ "startDate": {
1089+ "type": "string",
1090+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1091+ "required": true,
1092+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1093+ "location": "query"
1094+ },
1095+ "startIndex": {
1096+ "type": "integer",
1097+ "description": "Index of the first row of report data to return.",
1098+ "format": "uint32",
1099+ "minimum": "0",
1100+ "maximum": "5000",
1101+ "location": "query"
1102+ }
1103+ },
1104+ "parameterOrder": [
1105+ "startDate",
1106+ "endDate"
1107+ ],
1108+ "response": {
1109+ "$ref": "Report"
1110+ },
1111+ "scopes": [
1112+ "https://www.googleapis.com/auth/adexchange.seller",
1113+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1114+ ],
1115+ "supportsMediaDownload": true
1116+ }
1117+ },
1118+ "resources": {
1119+ "saved": {
1120+ "methods": {
1121+ "generate": {
1122+ "id": "adexchangeseller.reports.saved.generate",
1123+ "path": "reports/{savedReportId}",
1124+ "httpMethod": "GET",
1125+ "description": "Generate an Ad Exchange report based on the saved report ID sent in the query parameters.",
1126+ "parameters": {
1127+ "locale": {
1128+ "type": "string",
1129+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1130+ "pattern": "[a-zA-Z_]+",
1131+ "location": "query"
1132+ },
1133+ "maxResults": {
1134+ "type": "integer",
1135+ "description": "The maximum number of rows of report data to return.",
1136+ "format": "int32",
1137+ "minimum": "0",
1138+ "maximum": "50000",
1139+ "location": "query"
1140+ },
1141+ "savedReportId": {
1142+ "type": "string",
1143+ "description": "The saved report to retrieve.",
1144+ "required": true,
1145+ "location": "path"
1146+ },
1147+ "startIndex": {
1148+ "type": "integer",
1149+ "description": "Index of the first row of report data to return.",
1150+ "format": "int32",
1151+ "minimum": "0",
1152+ "maximum": "5000",
1153+ "location": "query"
1154+ }
1155+ },
1156+ "parameterOrder": [
1157+ "savedReportId"
1158+ ],
1159+ "response": {
1160+ "$ref": "Report"
1161+ },
1162+ "scopes": [
1163+ "https://www.googleapis.com/auth/adexchange.seller",
1164+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1165+ ]
1166+ },
1167+ "list": {
1168+ "id": "adexchangeseller.reports.saved.list",
1169+ "path": "reports/saved",
1170+ "httpMethod": "GET",
1171+ "description": "List all saved reports in this Ad Exchange account.",
1172+ "parameters": {
1173+ "maxResults": {
1174+ "type": "integer",
1175+ "description": "The maximum number of saved reports to include in the response, used for paging.",
1176+ "format": "int32",
1177+ "minimum": "0",
1178+ "maximum": "100",
1179+ "location": "query"
1180+ },
1181+ "pageToken": {
1182+ "type": "string",
1183+ "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.",
1184+ "location": "query"
1185+ }
1186+ },
1187+ "response": {
1188+ "$ref": "SavedReports"
1189+ },
1190+ "scopes": [
1191+ "https://www.googleapis.com/auth/adexchange.seller",
1192+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1193+ ]
1194+ }
1195+ }
1196+ }
1197+ }
1198+ },
1199+ "urlchannels": {
1200+ "methods": {
1201+ "list": {
1202+ "id": "adexchangeseller.urlchannels.list",
1203+ "path": "adclients/{adClientId}/urlchannels",
1204+ "httpMethod": "GET",
1205+ "description": "List all URL channels in the specified ad client for this Ad Exchange account.",
1206+ "parameters": {
1207+ "adClientId": {
1208+ "type": "string",
1209+ "description": "Ad client for which to list URL channels.",
1210+ "required": true,
1211+ "location": "path"
1212+ },
1213+ "maxResults": {
1214+ "type": "integer",
1215+ "description": "The maximum number of URL channels to include in the response, used for paging.",
1216+ "format": "uint32",
1217+ "minimum": "0",
1218+ "maximum": "10000",
1219+ "location": "query"
1220+ },
1221+ "pageToken": {
1222+ "type": "string",
1223+ "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.",
1224+ "location": "query"
1225+ }
1226+ },
1227+ "parameterOrder": [
1228+ "adClientId"
1229+ ],
1230+ "response": {
1231+ "$ref": "UrlChannels"
1232+ },
1233+ "scopes": [
1234+ "https://www.googleapis.com/auth/adexchange.seller",
1235+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1236+ ]
1237+ }
1238+ }
1239+ }
1240+ }
1241+}
gen/model/adexchangeseller/adexchangeseller/v1/adexchangeseller-api.jsonnew file+918
@@ -0,0 +1,918 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/kgKc4O1bceVftsMmf3p1OXF57gg\"",
4+ "discoveryVersion": "v1",
5+ "id": "adexchangeseller:v1",
6+ "name": "adexchangeseller",
7+ "canonicalName": "Ad Exchange Seller",
8+ "version": "v1",
9+ "revision": "20141112",
10+ "title": "Ad Exchange Seller API",
11+ "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17+ },
18+ "documentationLink": "https://developers.google.com/ad-exchange/seller-rest/",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adexchangeseller/v1/",
21+ "basePath": "/adexchangeseller/v1/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adexchangeseller/v1/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "csv",
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of text/csv",
36+ "Responses with Content-Type of application/json"
37+ ],
38+ "location": "query"
39+ },
40+ "fields": {
41+ "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
43+ "location": "query"
44+ },
45+ "key": {
46+ "type": "string",
47+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
48+ "location": "query"
49+ },
50+ "oauth_token": {
51+ "type": "string",
52+ "description": "OAuth 2.0 token for the current user.",
53+ "location": "query"
54+ },
55+ "prettyPrint": {
56+ "type": "boolean",
57+ "description": "Returns response with indentations and line breaks.",
58+ "default": "true",
59+ "location": "query"
60+ },
61+ "quotaUser": {
62+ "type": "string",
63+ "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.",
64+ "location": "query"
65+ },
66+ "userIp": {
67+ "type": "string",
68+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
69+ "location": "query"
70+ }
71+ },
72+ "auth": {
73+ "oauth2": {
74+ "scopes": {
75+ "https://www.googleapis.com/auth/adexchange.seller": {
76+ "description": "View and manage your Ad Exchange data"
77+ },
78+ "https://www.googleapis.com/auth/adexchange.seller.readonly": {
79+ "description": "View your Ad Exchange data"
80+ }
81+ }
82+ }
83+ },
84+ "schemas": {
85+ "AdClient": {
86+ "id": "AdClient",
87+ "type": "object",
88+ "properties": {
89+ "arcOptIn": {
90+ "type": "boolean",
91+ "description": "Whether this ad client is opted in to ARC."
92+ },
93+ "id": {
94+ "type": "string",
95+ "description": "Unique identifier of this ad client."
96+ },
97+ "kind": {
98+ "type": "string",
99+ "description": "Kind of resource this is, in this case adexchangeseller#adClient.",
100+ "default": "adexchangeseller#adClient"
101+ },
102+ "productCode": {
103+ "type": "string",
104+ "description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension."
105+ },
106+ "supportsReporting": {
107+ "type": "boolean",
108+ "description": "Whether this ad client supports being reported on."
109+ }
110+ }
111+ },
112+ "AdClients": {
113+ "id": "AdClients",
114+ "type": "object",
115+ "properties": {
116+ "etag": {
117+ "type": "string",
118+ "description": "ETag of this response for caching purposes."
119+ },
120+ "items": {
121+ "type": "array",
122+ "description": "The ad clients returned in this list response.",
123+ "items": {
124+ "$ref": "AdClient"
125+ }
126+ },
127+ "kind": {
128+ "type": "string",
129+ "description": "Kind of list this is, in this case adexchangeseller#adClients.",
130+ "default": "adexchangeseller#adClients"
131+ },
132+ "nextPageToken": {
133+ "type": "string",
134+ "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."
135+ }
136+ }
137+ },
138+ "AdUnit": {
139+ "id": "AdUnit",
140+ "type": "object",
141+ "properties": {
142+ "code": {
143+ "type": "string",
144+ "description": "Identity code of this ad unit, not necessarily unique across ad clients."
145+ },
146+ "id": {
147+ "type": "string",
148+ "description": "Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
149+ },
150+ "kind": {
151+ "type": "string",
152+ "description": "Kind of resource this is, in this case adexchangeseller#adUnit.",
153+ "default": "adexchangeseller#adUnit"
154+ },
155+ "name": {
156+ "type": "string",
157+ "description": "Name of this ad unit."
158+ },
159+ "status": {
160+ "type": "string",
161+ "description": "Status of this ad unit. Possible values are:\nNEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.\n\nACTIVE: Indicates that there has been activity on this ad unit in the last seven days.\n\nINACTIVE: Indicates that there has been no activity on this ad unit in the last seven days."
162+ }
163+ }
164+ },
165+ "AdUnits": {
166+ "id": "AdUnits",
167+ "type": "object",
168+ "properties": {
169+ "etag": {
170+ "type": "string",
171+ "description": "ETag of this response for caching purposes."
172+ },
173+ "items": {
174+ "type": "array",
175+ "description": "The ad units returned in this list response.",
176+ "items": {
177+ "$ref": "AdUnit"
178+ }
179+ },
180+ "kind": {
181+ "type": "string",
182+ "description": "Kind of list this is, in this case adexchangeseller#adUnits.",
183+ "default": "adexchangeseller#adUnits"
184+ },
185+ "nextPageToken": {
186+ "type": "string",
187+ "description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
188+ }
189+ }
190+ },
191+ "CustomChannel": {
192+ "id": "CustomChannel",
193+ "type": "object",
194+ "properties": {
195+ "code": {
196+ "type": "string",
197+ "description": "Code of this custom channel, not necessarily unique across ad clients."
198+ },
199+ "id": {
200+ "type": "string",
201+ "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."
202+ },
203+ "kind": {
204+ "type": "string",
205+ "description": "Kind of resource this is, in this case adexchangeseller#customChannel.",
206+ "default": "adexchangeseller#customChannel"
207+ },
208+ "name": {
209+ "type": "string",
210+ "description": "Name of this custom channel."
211+ },
212+ "targetingInfo": {
213+ "type": "object",
214+ "description": "The targeting information of this custom channel, if activated.",
215+ "properties": {
216+ "adsAppearOn": {
217+ "type": "string",
218+ "description": "The name used to describe this channel externally."
219+ },
220+ "description": {
221+ "type": "string",
222+ "description": "The external description of the channel."
223+ },
224+ "location": {
225+ "type": "string",
226+ "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."
227+ },
228+ "siteLanguage": {
229+ "type": "string",
230+ "description": "The language of the sites ads will be displayed on."
231+ }
232+ }
233+ }
234+ }
235+ },
236+ "CustomChannels": {
237+ "id": "CustomChannels",
238+ "type": "object",
239+ "properties": {
240+ "etag": {
241+ "type": "string",
242+ "description": "ETag of this response for caching purposes."
243+ },
244+ "items": {
245+ "type": "array",
246+ "description": "The custom channels returned in this list response.",
247+ "items": {
248+ "$ref": "CustomChannel"
249+ }
250+ },
251+ "kind": {
252+ "type": "string",
253+ "description": "Kind of list this is, in this case adexchangeseller#customChannels.",
254+ "default": "adexchangeseller#customChannels"
255+ },
256+ "nextPageToken": {
257+ "type": "string",
258+ "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."
259+ }
260+ }
261+ },
262+ "Report": {
263+ "id": "Report",
264+ "type": "object",
265+ "properties": {
266+ "averages": {
267+ "type": "array",
268+ "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.",
269+ "items": {
270+ "type": "string"
271+ }
272+ },
273+ "headers": {
274+ "type": "array",
275+ "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.",
276+ "items": {
277+ "type": "object",
278+ "properties": {
279+ "currency": {
280+ "type": "string",
281+ "description": "The currency of this column. Only present if the header type is METRIC_CURRENCY."
282+ },
283+ "name": {
284+ "type": "string",
285+ "description": "The name of the header."
286+ },
287+ "type": {
288+ "type": "string",
289+ "description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY."
290+ }
291+ }
292+ }
293+ },
294+ "kind": {
295+ "type": "string",
296+ "description": "Kind this is, in this case adexchangeseller#report.",
297+ "default": "adexchangeseller#report"
298+ },
299+ "rows": {
300+ "type": "array",
301+ "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.",
302+ "items": {
303+ "type": "array",
304+ "items": {
305+ "type": "string"
306+ }
307+ }
308+ },
309+ "totalMatchedRows": {
310+ "type": "string",
311+ "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.",
312+ "format": "int64"
313+ },
314+ "totals": {
315+ "type": "array",
316+ "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.",
317+ "items": {
318+ "type": "string"
319+ }
320+ },
321+ "warnings": {
322+ "type": "array",
323+ "description": "Any warnings associated with generation of the report.",
324+ "items": {
325+ "type": "string"
326+ }
327+ }
328+ }
329+ },
330+ "SavedReport": {
331+ "id": "SavedReport",
332+ "type": "object",
333+ "properties": {
334+ "id": {
335+ "type": "string",
336+ "description": "Unique identifier of this saved report."
337+ },
338+ "kind": {
339+ "type": "string",
340+ "description": "Kind of resource this is, in this case adexchangeseller#savedReport.",
341+ "default": "adexchangeseller#savedReport"
342+ },
343+ "name": {
344+ "type": "string",
345+ "description": "This saved report's name."
346+ }
347+ }
348+ },
349+ "SavedReports": {
350+ "id": "SavedReports",
351+ "type": "object",
352+ "properties": {
353+ "etag": {
354+ "type": "string",
355+ "description": "ETag of this response for caching purposes."
356+ },
357+ "items": {
358+ "type": "array",
359+ "description": "The saved reports returned in this list response.",
360+ "items": {
361+ "$ref": "SavedReport"
362+ }
363+ },
364+ "kind": {
365+ "type": "string",
366+ "description": "Kind of list this is, in this case adexchangeseller#savedReports.",
367+ "default": "adexchangeseller#savedReports"
368+ },
369+ "nextPageToken": {
370+ "type": "string",
371+ "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."
372+ }
373+ }
374+ },
375+ "UrlChannel": {
376+ "id": "UrlChannel",
377+ "type": "object",
378+ "properties": {
379+ "id": {
380+ "type": "string",
381+ "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."
382+ },
383+ "kind": {
384+ "type": "string",
385+ "description": "Kind of resource this is, in this case adexchangeseller#urlChannel.",
386+ "default": "adexchangeseller#urlChannel"
387+ },
388+ "urlPattern": {
389+ "type": "string",
390+ "description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home"
391+ }
392+ }
393+ },
394+ "UrlChannels": {
395+ "id": "UrlChannels",
396+ "type": "object",
397+ "properties": {
398+ "etag": {
399+ "type": "string",
400+ "description": "ETag of this response for caching purposes."
401+ },
402+ "items": {
403+ "type": "array",
404+ "description": "The URL channels returned in this list response.",
405+ "items": {
406+ "$ref": "UrlChannel"
407+ }
408+ },
409+ "kind": {
410+ "type": "string",
411+ "description": "Kind of list this is, in this case adexchangeseller#urlChannels.",
412+ "default": "adexchangeseller#urlChannels"
413+ },
414+ "nextPageToken": {
415+ "type": "string",
416+ "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."
417+ }
418+ }
419+ }
420+ },
421+ "resources": {
422+ "adclients": {
423+ "methods": {
424+ "list": {
425+ "id": "adexchangeseller.adclients.list",
426+ "path": "adclients",
427+ "httpMethod": "GET",
428+ "description": "List all ad clients in this Ad Exchange account.",
429+ "parameters": {
430+ "maxResults": {
431+ "type": "integer",
432+ "description": "The maximum number of ad clients to include in the response, used for paging.",
433+ "format": "uint32",
434+ "minimum": "0",
435+ "maximum": "10000",
436+ "location": "query"
437+ },
438+ "pageToken": {
439+ "type": "string",
440+ "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.",
441+ "location": "query"
442+ }
443+ },
444+ "response": {
445+ "$ref": "AdClients"
446+ },
447+ "scopes": [
448+ "https://www.googleapis.com/auth/adexchange.seller",
449+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
450+ ]
451+ }
452+ }
453+ },
454+ "adunits": {
455+ "methods": {
456+ "get": {
457+ "id": "adexchangeseller.adunits.get",
458+ "path": "adclients/{adClientId}/adunits/{adUnitId}",
459+ "httpMethod": "GET",
460+ "description": "Gets the specified ad unit in the specified ad client.",
461+ "parameters": {
462+ "adClientId": {
463+ "type": "string",
464+ "description": "Ad client for which to get the ad unit.",
465+ "required": true,
466+ "location": "path"
467+ },
468+ "adUnitId": {
469+ "type": "string",
470+ "description": "Ad unit to retrieve.",
471+ "required": true,
472+ "location": "path"
473+ }
474+ },
475+ "parameterOrder": [
476+ "adClientId",
477+ "adUnitId"
478+ ],
479+ "response": {
480+ "$ref": "AdUnit"
481+ },
482+ "scopes": [
483+ "https://www.googleapis.com/auth/adexchange.seller",
484+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
485+ ]
486+ },
487+ "list": {
488+ "id": "adexchangeseller.adunits.list",
489+ "path": "adclients/{adClientId}/adunits",
490+ "httpMethod": "GET",
491+ "description": "List all ad units in the specified ad client for this Ad Exchange account.",
492+ "parameters": {
493+ "adClientId": {
494+ "type": "string",
495+ "description": "Ad client for which to list ad units.",
496+ "required": true,
497+ "location": "path"
498+ },
499+ "includeInactive": {
500+ "type": "boolean",
501+ "description": "Whether to include inactive ad units. Default: true.",
502+ "location": "query"
503+ },
504+ "maxResults": {
505+ "type": "integer",
506+ "description": "The maximum number of ad units to include in the response, used for paging.",
507+ "format": "uint32",
508+ "minimum": "0",
509+ "maximum": "10000",
510+ "location": "query"
511+ },
512+ "pageToken": {
513+ "type": "string",
514+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
515+ "location": "query"
516+ }
517+ },
518+ "parameterOrder": [
519+ "adClientId"
520+ ],
521+ "response": {
522+ "$ref": "AdUnits"
523+ },
524+ "scopes": [
525+ "https://www.googleapis.com/auth/adexchange.seller",
526+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
527+ ]
528+ }
529+ },
530+ "resources": {
531+ "customchannels": {
532+ "methods": {
533+ "list": {
534+ "id": "adexchangeseller.adunits.customchannels.list",
535+ "path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels",
536+ "httpMethod": "GET",
537+ "description": "List all custom channels which the specified ad unit belongs to.",
538+ "parameters": {
539+ "adClientId": {
540+ "type": "string",
541+ "description": "Ad client which contains the ad unit.",
542+ "required": true,
543+ "location": "path"
544+ },
545+ "adUnitId": {
546+ "type": "string",
547+ "description": "Ad unit for which to list custom channels.",
548+ "required": true,
549+ "location": "path"
550+ },
551+ "maxResults": {
552+ "type": "integer",
553+ "description": "The maximum number of custom channels to include in the response, used for paging.",
554+ "format": "uint32",
555+ "minimum": "0",
556+ "maximum": "10000",
557+ "location": "query"
558+ },
559+ "pageToken": {
560+ "type": "string",
561+ "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.",
562+ "location": "query"
563+ }
564+ },
565+ "parameterOrder": [
566+ "adClientId",
567+ "adUnitId"
568+ ],
569+ "response": {
570+ "$ref": "CustomChannels"
571+ },
572+ "scopes": [
573+ "https://www.googleapis.com/auth/adexchange.seller",
574+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
575+ ]
576+ }
577+ }
578+ }
579+ }
580+ },
581+ "customchannels": {
582+ "methods": {
583+ "get": {
584+ "id": "adexchangeseller.customchannels.get",
585+ "path": "adclients/{adClientId}/customchannels/{customChannelId}",
586+ "httpMethod": "GET",
587+ "description": "Get the specified custom channel from the specified ad client.",
588+ "parameters": {
589+ "adClientId": {
590+ "type": "string",
591+ "description": "Ad client which contains the custom channel.",
592+ "required": true,
593+ "location": "path"
594+ },
595+ "customChannelId": {
596+ "type": "string",
597+ "description": "Custom channel to retrieve.",
598+ "required": true,
599+ "location": "path"
600+ }
601+ },
602+ "parameterOrder": [
603+ "adClientId",
604+ "customChannelId"
605+ ],
606+ "response": {
607+ "$ref": "CustomChannel"
608+ },
609+ "scopes": [
610+ "https://www.googleapis.com/auth/adexchange.seller",
611+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
612+ ]
613+ },
614+ "list": {
615+ "id": "adexchangeseller.customchannels.list",
616+ "path": "adclients/{adClientId}/customchannels",
617+ "httpMethod": "GET",
618+ "description": "List all custom channels in the specified ad client for this Ad Exchange account.",
619+ "parameters": {
620+ "adClientId": {
621+ "type": "string",
622+ "description": "Ad client for which to list custom channels.",
623+ "required": true,
624+ "location": "path"
625+ },
626+ "maxResults": {
627+ "type": "integer",
628+ "description": "The maximum number of custom channels to include in the response, used for paging.",
629+ "format": "uint32",
630+ "minimum": "0",
631+ "maximum": "10000",
632+ "location": "query"
633+ },
634+ "pageToken": {
635+ "type": "string",
636+ "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.",
637+ "location": "query"
638+ }
639+ },
640+ "parameterOrder": [
641+ "adClientId"
642+ ],
643+ "response": {
644+ "$ref": "CustomChannels"
645+ },
646+ "scopes": [
647+ "https://www.googleapis.com/auth/adexchange.seller",
648+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
649+ ]
650+ }
651+ },
652+ "resources": {
653+ "adunits": {
654+ "methods": {
655+ "list": {
656+ "id": "adexchangeseller.customchannels.adunits.list",
657+ "path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits",
658+ "httpMethod": "GET",
659+ "description": "List all ad units in the specified custom channel.",
660+ "parameters": {
661+ "adClientId": {
662+ "type": "string",
663+ "description": "Ad client which contains the custom channel.",
664+ "required": true,
665+ "location": "path"
666+ },
667+ "customChannelId": {
668+ "type": "string",
669+ "description": "Custom channel for which to list ad units.",
670+ "required": true,
671+ "location": "path"
672+ },
673+ "includeInactive": {
674+ "type": "boolean",
675+ "description": "Whether to include inactive ad units. Default: true.",
676+ "location": "query"
677+ },
678+ "maxResults": {
679+ "type": "integer",
680+ "description": "The maximum number of ad units to include in the response, used for paging.",
681+ "format": "uint32",
682+ "minimum": "0",
683+ "maximum": "10000",
684+ "location": "query"
685+ },
686+ "pageToken": {
687+ "type": "string",
688+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
689+ "location": "query"
690+ }
691+ },
692+ "parameterOrder": [
693+ "adClientId",
694+ "customChannelId"
695+ ],
696+ "response": {
697+ "$ref": "AdUnits"
698+ },
699+ "scopes": [
700+ "https://www.googleapis.com/auth/adexchange.seller",
701+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
702+ ]
703+ }
704+ }
705+ }
706+ }
707+ },
708+ "reports": {
709+ "methods": {
710+ "generate": {
711+ "id": "adexchangeseller.reports.generate",
712+ "path": "reports",
713+ "httpMethod": "GET",
714+ "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.",
715+ "parameters": {
716+ "dimension": {
717+ "type": "string",
718+ "description": "Dimensions to base the report on.",
719+ "pattern": "[a-zA-Z_]+",
720+ "repeated": true,
721+ "location": "query"
722+ },
723+ "endDate": {
724+ "type": "string",
725+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
726+ "required": true,
727+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
728+ "location": "query"
729+ },
730+ "filter": {
731+ "type": "string",
732+ "description": "Filters to be run on the report.",
733+ "pattern": "[a-zA-Z_]+(==|=@).+",
734+ "repeated": true,
735+ "location": "query"
736+ },
737+ "locale": {
738+ "type": "string",
739+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
740+ "pattern": "[a-zA-Z_]+",
741+ "location": "query"
742+ },
743+ "maxResults": {
744+ "type": "integer",
745+ "description": "The maximum number of rows of report data to return.",
746+ "format": "uint32",
747+ "minimum": "0",
748+ "maximum": "50000",
749+ "location": "query"
750+ },
751+ "metric": {
752+ "type": "string",
753+ "description": "Numeric columns to include in the report.",
754+ "pattern": "[a-zA-Z_]+",
755+ "repeated": true,
756+ "location": "query"
757+ },
758+ "sort": {
759+ "type": "string",
760+ "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.",
761+ "pattern": "(\\+|-)?[a-zA-Z_]+",
762+ "repeated": true,
763+ "location": "query"
764+ },
765+ "startDate": {
766+ "type": "string",
767+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
768+ "required": true,
769+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
770+ "location": "query"
771+ },
772+ "startIndex": {
773+ "type": "integer",
774+ "description": "Index of the first row of report data to return.",
775+ "format": "uint32",
776+ "minimum": "0",
777+ "maximum": "5000",
778+ "location": "query"
779+ }
780+ },
781+ "parameterOrder": [
782+ "startDate",
783+ "endDate"
784+ ],
785+ "response": {
786+ "$ref": "Report"
787+ },
788+ "scopes": [
789+ "https://www.googleapis.com/auth/adexchange.seller",
790+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
791+ ],
792+ "supportsMediaDownload": true
793+ }
794+ },
795+ "resources": {
796+ "saved": {
797+ "methods": {
798+ "generate": {
799+ "id": "adexchangeseller.reports.saved.generate",
800+ "path": "reports/{savedReportId}",
801+ "httpMethod": "GET",
802+ "description": "Generate an Ad Exchange report based on the saved report ID sent in the query parameters.",
803+ "parameters": {
804+ "locale": {
805+ "type": "string",
806+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
807+ "pattern": "[a-zA-Z_]+",
808+ "location": "query"
809+ },
810+ "maxResults": {
811+ "type": "integer",
812+ "description": "The maximum number of rows of report data to return.",
813+ "format": "int32",
814+ "minimum": "0",
815+ "maximum": "50000",
816+ "location": "query"
817+ },
818+ "savedReportId": {
819+ "type": "string",
820+ "description": "The saved report to retrieve.",
821+ "required": true,
822+ "location": "path"
823+ },
824+ "startIndex": {
825+ "type": "integer",
826+ "description": "Index of the first row of report data to return.",
827+ "format": "int32",
828+ "minimum": "0",
829+ "maximum": "5000",
830+ "location": "query"
831+ }
832+ },
833+ "parameterOrder": [
834+ "savedReportId"
835+ ],
836+ "response": {
837+ "$ref": "Report"
838+ },
839+ "scopes": [
840+ "https://www.googleapis.com/auth/adexchange.seller",
841+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
842+ ]
843+ },
844+ "list": {
845+ "id": "adexchangeseller.reports.saved.list",
846+ "path": "reports/saved",
847+ "httpMethod": "GET",
848+ "description": "List all saved reports in this Ad Exchange account.",
849+ "parameters": {
850+ "maxResults": {
851+ "type": "integer",
852+ "description": "The maximum number of saved reports to include in the response, used for paging.",
853+ "format": "int32",
854+ "minimum": "0",
855+ "maximum": "100",
856+ "location": "query"
857+ },
858+ "pageToken": {
859+ "type": "string",
860+ "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.",
861+ "location": "query"
862+ }
863+ },
864+ "response": {
865+ "$ref": "SavedReports"
866+ },
867+ "scopes": [
868+ "https://www.googleapis.com/auth/adexchange.seller",
869+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
870+ ]
871+ }
872+ }
873+ }
874+ }
875+ },
876+ "urlchannels": {
877+ "methods": {
878+ "list": {
879+ "id": "adexchangeseller.urlchannels.list",
880+ "path": "adclients/{adClientId}/urlchannels",
881+ "httpMethod": "GET",
882+ "description": "List all URL channels in the specified ad client for this Ad Exchange account.",
883+ "parameters": {
884+ "adClientId": {
885+ "type": "string",
886+ "description": "Ad client for which to list URL channels.",
887+ "required": true,
888+ "location": "path"
889+ },
890+ "maxResults": {
891+ "type": "integer",
892+ "description": "The maximum number of URL channels to include in the response, used for paging.",
893+ "format": "uint32",
894+ "minimum": "0",
895+ "maximum": "10000",
896+ "location": "query"
897+ },
898+ "pageToken": {
899+ "type": "string",
900+ "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.",
901+ "location": "query"
902+ }
903+ },
904+ "parameterOrder": [
905+ "adClientId"
906+ ],
907+ "response": {
908+ "$ref": "UrlChannels"
909+ },
910+ "scopes": [
911+ "https://www.googleapis.com/auth/adexchange.seller",
912+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
913+ ]
914+ }
915+ }
916+ }
917+ }
918+}
gen/model/adexchangeseller/adexchangeseller/v2.0/adexchangeseller-api.jsonnew file+1164
@@ -0,0 +1,1164 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/6aC1_omptpkys969gj83ZtJAvZ8\"",
4+ "discoveryVersion": "v1",
5+ "id": "adexchangeseller:v2.0",
6+ "name": "adexchangeseller",
7+ "canonicalName": "Ad Exchange Seller",
8+ "version": "v2.0",
9+ "revision": "20141112",
10+ "title": "Ad Exchange Seller API",
11+ "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
16+ "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
17+ },
18+ "documentationLink": "https://developers.google.com/ad-exchange/seller-rest/",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adexchangeseller/v2.0/",
21+ "basePath": "/adexchangeseller/v2.0/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adexchangeseller/v2.0/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "csv",
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of text/csv",
36+ "Responses with Content-Type of application/json"
37+ ],
38+ "location": "query"
39+ },
40+ "fields": {
41+ "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
43+ "location": "query"
44+ },
45+ "key": {
46+ "type": "string",
47+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
48+ "location": "query"
49+ },
50+ "oauth_token": {
51+ "type": "string",
52+ "description": "OAuth 2.0 token for the current user.",
53+ "location": "query"
54+ },
55+ "prettyPrint": {
56+ "type": "boolean",
57+ "description": "Returns response with indentations and line breaks.",
58+ "default": "true",
59+ "location": "query"
60+ },
61+ "quotaUser": {
62+ "type": "string",
63+ "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.",
64+ "location": "query"
65+ },
66+ "userIp": {
67+ "type": "string",
68+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
69+ "location": "query"
70+ }
71+ },
72+ "auth": {
73+ "oauth2": {
74+ "scopes": {
75+ "https://www.googleapis.com/auth/adexchange.seller": {
76+ "description": "View and manage your Ad Exchange data"
77+ },
78+ "https://www.googleapis.com/auth/adexchange.seller.readonly": {
79+ "description": "View your Ad Exchange data"
80+ }
81+ }
82+ }
83+ },
84+ "schemas": {
85+ "Account": {
86+ "id": "Account",
87+ "type": "object",
88+ "properties": {
89+ "id": {
90+ "type": "string",
91+ "description": "Unique identifier of this account."
92+ },
93+ "kind": {
94+ "type": "string",
95+ "description": "Kind of resource this is, in this case adexchangeseller#account.",
96+ "default": "adexchangeseller#account"
97+ },
98+ "name": {
99+ "type": "string",
100+ "description": "Name of this account."
101+ }
102+ }
103+ },
104+ "Accounts": {
105+ "id": "Accounts",
106+ "type": "object",
107+ "properties": {
108+ "etag": {
109+ "type": "string",
110+ "description": "ETag of this response for caching purposes."
111+ },
112+ "items": {
113+ "type": "array",
114+ "description": "The accounts returned in this list response.",
115+ "items": {
116+ "$ref": "Account"
117+ }
118+ },
119+ "kind": {
120+ "type": "string",
121+ "description": "Kind of list this is, in this case adexchangeseller#accounts.",
122+ "default": "adexchangeseller#accounts"
123+ },
124+ "nextPageToken": {
125+ "type": "string",
126+ "description": "Continuation token used to page through accounts. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
127+ }
128+ }
129+ },
130+ "AdClient": {
131+ "id": "AdClient",
132+ "type": "object",
133+ "properties": {
134+ "arcOptIn": {
135+ "type": "boolean",
136+ "description": "Whether this ad client is opted in to ARC."
137+ },
138+ "id": {
139+ "type": "string",
140+ "description": "Unique identifier of this ad client."
141+ },
142+ "kind": {
143+ "type": "string",
144+ "description": "Kind of resource this is, in this case adexchangeseller#adClient.",
145+ "default": "adexchangeseller#adClient"
146+ },
147+ "productCode": {
148+ "type": "string",
149+ "description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension."
150+ },
151+ "supportsReporting": {
152+ "type": "boolean",
153+ "description": "Whether this ad client supports being reported on."
154+ }
155+ }
156+ },
157+ "AdClients": {
158+ "id": "AdClients",
159+ "type": "object",
160+ "properties": {
161+ "etag": {
162+ "type": "string",
163+ "description": "ETag of this response for caching purposes."
164+ },
165+ "items": {
166+ "type": "array",
167+ "description": "The ad clients returned in this list response.",
168+ "items": {
169+ "$ref": "AdClient"
170+ }
171+ },
172+ "kind": {
173+ "type": "string",
174+ "description": "Kind of list this is, in this case adexchangeseller#adClients.",
175+ "default": "adexchangeseller#adClients"
176+ },
177+ "nextPageToken": {
178+ "type": "string",
179+ "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."
180+ }
181+ }
182+ },
183+ "Alert": {
184+ "id": "Alert",
185+ "type": "object",
186+ "properties": {
187+ "id": {
188+ "type": "string",
189+ "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."
190+ },
191+ "kind": {
192+ "type": "string",
193+ "description": "Kind of resource this is, in this case adexchangeseller#alert.",
194+ "default": "adexchangeseller#alert"
195+ },
196+ "message": {
197+ "type": "string",
198+ "description": "The localized alert message."
199+ },
200+ "severity": {
201+ "type": "string",
202+ "description": "Severity of this alert. Possible values: INFO, WARNING, SEVERE."
203+ },
204+ "type": {
205+ "type": "string",
206+ "description": "Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD."
207+ }
208+ }
209+ },
210+ "Alerts": {
211+ "id": "Alerts",
212+ "type": "object",
213+ "properties": {
214+ "items": {
215+ "type": "array",
216+ "description": "The alerts returned in this list response.",
217+ "items": {
218+ "$ref": "Alert"
219+ }
220+ },
221+ "kind": {
222+ "type": "string",
223+ "description": "Kind of list this is, in this case adexchangeseller#alerts.",
224+ "default": "adexchangeseller#alerts"
225+ }
226+ }
227+ },
228+ "CustomChannel": {
229+ "id": "CustomChannel",
230+ "type": "object",
231+ "properties": {
232+ "code": {
233+ "type": "string",
234+ "description": "Code of this custom channel, not necessarily unique across ad clients."
235+ },
236+ "id": {
237+ "type": "string",
238+ "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."
239+ },
240+ "kind": {
241+ "type": "string",
242+ "description": "Kind of resource this is, in this case adexchangeseller#customChannel.",
243+ "default": "adexchangeseller#customChannel"
244+ },
245+ "name": {
246+ "type": "string",
247+ "description": "Name of this custom channel."
248+ },
249+ "targetingInfo": {
250+ "type": "object",
251+ "description": "The targeting information of this custom channel, if activated.",
252+ "properties": {
253+ "adsAppearOn": {
254+ "type": "string",
255+ "description": "The name used to describe this channel externally."
256+ },
257+ "description": {
258+ "type": "string",
259+ "description": "The external description of the channel."
260+ },
261+ "location": {
262+ "type": "string",
263+ "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."
264+ },
265+ "siteLanguage": {
266+ "type": "string",
267+ "description": "The language of the sites ads will be displayed on."
268+ }
269+ }
270+ }
271+ }
272+ },
273+ "CustomChannels": {
274+ "id": "CustomChannels",
275+ "type": "object",
276+ "properties": {
277+ "etag": {
278+ "type": "string",
279+ "description": "ETag of this response for caching purposes."
280+ },
281+ "items": {
282+ "type": "array",
283+ "description": "The custom channels returned in this list response.",
284+ "items": {
285+ "$ref": "CustomChannel"
286+ }
287+ },
288+ "kind": {
289+ "type": "string",
290+ "description": "Kind of list this is, in this case adexchangeseller#customChannels.",
291+ "default": "adexchangeseller#customChannels"
292+ },
293+ "nextPageToken": {
294+ "type": "string",
295+ "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."
296+ }
297+ }
298+ },
299+ "Metadata": {
300+ "id": "Metadata",
301+ "type": "object",
302+ "properties": {
303+ "items": {
304+ "type": "array",
305+ "items": {
306+ "$ref": "ReportingMetadataEntry"
307+ }
308+ },
309+ "kind": {
310+ "type": "string",
311+ "description": "Kind of list this is, in this case adexchangeseller#metadata.",
312+ "default": "adexchangeseller#metadata"
313+ }
314+ }
315+ },
316+ "PreferredDeal": {
317+ "id": "PreferredDeal",
318+ "type": "object",
319+ "properties": {
320+ "advertiserName": {
321+ "type": "string",
322+ "description": "The name of the advertiser this deal is for."
323+ },
324+ "buyerNetworkName": {
325+ "type": "string",
326+ "description": "The name of the buyer network this deal is for."
327+ },
328+ "currencyCode": {
329+ "type": "string",
330+ "description": "The currency code that applies to the fixed_cpm value. If not set then assumed to be USD."
331+ },
332+ "endTime": {
333+ "type": "string",
334+ "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.",
335+ "format": "uint64"
336+ },
337+ "fixedCpm": {
338+ "type": "string",
339+ "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).",
340+ "format": "int64"
341+ },
342+ "id": {
343+ "type": "string",
344+ "description": "Unique identifier of this preferred deal.",
345+ "format": "int64"
346+ },
347+ "kind": {
348+ "type": "string",
349+ "description": "Kind of resource this is, in this case adexchangeseller#preferredDeal.",
350+ "default": "adexchangeseller#preferredDeal"
351+ },
352+ "startTime": {
353+ "type": "string",
354+ "description": "Time when this deal becomes active in seconds since the epoch (GMT). If not set then this deal is active immediately upon creation.",
355+ "format": "uint64"
356+ }
357+ }
358+ },
359+ "PreferredDeals": {
360+ "id": "PreferredDeals",
361+ "type": "object",
362+ "properties": {
363+ "items": {
364+ "type": "array",
365+ "description": "The preferred deals returned in this list response.",
366+ "items": {
367+ "$ref": "PreferredDeal"
368+ }
369+ },
370+ "kind": {
371+ "type": "string",
372+ "description": "Kind of list this is, in this case adexchangeseller#preferredDeals.",
373+ "default": "adexchangeseller#preferredDeals"
374+ }
375+ }
376+ },
377+ "Report": {
378+ "id": "Report",
379+ "type": "object",
380+ "properties": {
381+ "averages": {
382+ "type": "array",
383+ "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.",
384+ "items": {
385+ "type": "string"
386+ }
387+ },
388+ "headers": {
389+ "type": "array",
390+ "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.",
391+ "items": {
392+ "type": "object",
393+ "properties": {
394+ "currency": {
395+ "type": "string",
396+ "description": "The currency of this column. Only present if the header type is METRIC_CURRENCY."
397+ },
398+ "name": {
399+ "type": "string",
400+ "description": "The name of the header."
401+ },
402+ "type": {
403+ "type": "string",
404+ "description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY."
405+ }
406+ }
407+ }
408+ },
409+ "kind": {
410+ "type": "string",
411+ "description": "Kind this is, in this case adexchangeseller#report.",
412+ "default": "adexchangeseller#report"
413+ },
414+ "rows": {
415+ "type": "array",
416+ "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.",
417+ "items": {
418+ "type": "array",
419+ "items": {
420+ "type": "string"
421+ }
422+ }
423+ },
424+ "totalMatchedRows": {
425+ "type": "string",
426+ "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.",
427+ "format": "int64"
428+ },
429+ "totals": {
430+ "type": "array",
431+ "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.",
432+ "items": {
433+ "type": "string"
434+ }
435+ },
436+ "warnings": {
437+ "type": "array",
438+ "description": "Any warnings associated with generation of the report.",
439+ "items": {
440+ "type": "string"
441+ }
442+ }
443+ }
444+ },
445+ "ReportingMetadataEntry": {
446+ "id": "ReportingMetadataEntry",
447+ "type": "object",
448+ "properties": {
449+ "compatibleDimensions": {
450+ "type": "array",
451+ "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.",
452+ "items": {
453+ "type": "string"
454+ }
455+ },
456+ "compatibleMetrics": {
457+ "type": "array",
458+ "description": "The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.",
459+ "items": {
460+ "type": "string"
461+ }
462+ },
463+ "id": {
464+ "type": "string",
465+ "description": "Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric."
466+ },
467+ "kind": {
468+ "type": "string",
469+ "description": "Kind of resource this is, in this case adexchangeseller#reportingMetadataEntry.",
470+ "default": "adexchangeseller#reportingMetadataEntry"
471+ },
472+ "requiredDimensions": {
473+ "type": "array",
474+ "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.",
475+ "items": {
476+ "type": "string"
477+ }
478+ },
479+ "requiredMetrics": {
480+ "type": "array",
481+ "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.",
482+ "items": {
483+ "type": "string"
484+ }
485+ },
486+ "supportedProducts": {
487+ "type": "array",
488+ "description": "The codes of the projects supported by the dimension or metric this reporting metadata entry describes.",
489+ "items": {
490+ "type": "string"
491+ }
492+ }
493+ }
494+ },
495+ "SavedReport": {
496+ "id": "SavedReport",
497+ "type": "object",
498+ "properties": {
499+ "id": {
500+ "type": "string",
501+ "description": "Unique identifier of this saved report."
502+ },
503+ "kind": {
504+ "type": "string",
505+ "description": "Kind of resource this is, in this case adexchangeseller#savedReport.",
506+ "default": "adexchangeseller#savedReport"
507+ },
508+ "name": {
509+ "type": "string",
510+ "description": "This saved report's name."
511+ }
512+ }
513+ },
514+ "SavedReports": {
515+ "id": "SavedReports",
516+ "type": "object",
517+ "properties": {
518+ "etag": {
519+ "type": "string",
520+ "description": "ETag of this response for caching purposes."
521+ },
522+ "items": {
523+ "type": "array",
524+ "description": "The saved reports returned in this list response.",
525+ "items": {
526+ "$ref": "SavedReport"
527+ }
528+ },
529+ "kind": {
530+ "type": "string",
531+ "description": "Kind of list this is, in this case adexchangeseller#savedReports.",
532+ "default": "adexchangeseller#savedReports"
533+ },
534+ "nextPageToken": {
535+ "type": "string",
536+ "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."
537+ }
538+ }
539+ },
540+ "UrlChannel": {
541+ "id": "UrlChannel",
542+ "type": "object",
543+ "properties": {
544+ "id": {
545+ "type": "string",
546+ "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."
547+ },
548+ "kind": {
549+ "type": "string",
550+ "description": "Kind of resource this is, in this case adexchangeseller#urlChannel.",
551+ "default": "adexchangeseller#urlChannel"
552+ },
553+ "urlPattern": {
554+ "type": "string",
555+ "description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home"
556+ }
557+ }
558+ },
559+ "UrlChannels": {
560+ "id": "UrlChannels",
561+ "type": "object",
562+ "properties": {
563+ "etag": {
564+ "type": "string",
565+ "description": "ETag of this response for caching purposes."
566+ },
567+ "items": {
568+ "type": "array",
569+ "description": "The URL channels returned in this list response.",
570+ "items": {
571+ "$ref": "UrlChannel"
572+ }
573+ },
574+ "kind": {
575+ "type": "string",
576+ "description": "Kind of list this is, in this case adexchangeseller#urlChannels.",
577+ "default": "adexchangeseller#urlChannels"
578+ },
579+ "nextPageToken": {
580+ "type": "string",
581+ "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."
582+ }
583+ }
584+ }
585+ },
586+ "resources": {
587+ "accounts": {
588+ "methods": {
589+ "get": {
590+ "id": "adexchangeseller.accounts.get",
591+ "path": "accounts/{accountId}",
592+ "httpMethod": "GET",
593+ "description": "Get information about the selected Ad Exchange account.",
594+ "parameters": {
595+ "accountId": {
596+ "type": "string",
597+ "description": "Account to get information about. Tip: 'myaccount' is a valid ID.",
598+ "required": true,
599+ "location": "path"
600+ }
601+ },
602+ "parameterOrder": [
603+ "accountId"
604+ ],
605+ "response": {
606+ "$ref": "Account"
607+ },
608+ "scopes": [
609+ "https://www.googleapis.com/auth/adexchange.seller",
610+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
611+ ]
612+ },
613+ "list": {
614+ "id": "adexchangeseller.accounts.list",
615+ "path": "accounts",
616+ "httpMethod": "GET",
617+ "description": "List all accounts available to this Ad Exchange account.",
618+ "parameters": {
619+ "maxResults": {
620+ "type": "integer",
621+ "description": "The maximum number of accounts to include in the response, used for paging.",
622+ "format": "int32",
623+ "minimum": "0",
624+ "maximum": "10000",
625+ "location": "query"
626+ },
627+ "pageToken": {
628+ "type": "string",
629+ "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.",
630+ "location": "query"
631+ }
632+ },
633+ "response": {
634+ "$ref": "Accounts"
635+ },
636+ "scopes": [
637+ "https://www.googleapis.com/auth/adexchange.seller",
638+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
639+ ]
640+ }
641+ },
642+ "resources": {
643+ "adclients": {
644+ "methods": {
645+ "list": {
646+ "id": "adexchangeseller.accounts.adclients.list",
647+ "path": "accounts/{accountId}/adclients",
648+ "httpMethod": "GET",
649+ "description": "List all ad clients in this Ad Exchange account.",
650+ "parameters": {
651+ "accountId": {
652+ "type": "string",
653+ "description": "Account to which the ad client belongs.",
654+ "required": true,
655+ "location": "path"
656+ },
657+ "maxResults": {
658+ "type": "integer",
659+ "description": "The maximum number of ad clients to include in the response, used for paging.",
660+ "format": "uint32",
661+ "minimum": "0",
662+ "maximum": "10000",
663+ "location": "query"
664+ },
665+ "pageToken": {
666+ "type": "string",
667+ "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.",
668+ "location": "query"
669+ }
670+ },
671+ "parameterOrder": [
672+ "accountId"
673+ ],
674+ "response": {
675+ "$ref": "AdClients"
676+ },
677+ "scopes": [
678+ "https://www.googleapis.com/auth/adexchange.seller",
679+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
680+ ]
681+ }
682+ }
683+ },
684+ "alerts": {
685+ "methods": {
686+ "list": {
687+ "id": "adexchangeseller.accounts.alerts.list",
688+ "path": "accounts/{accountId}/alerts",
689+ "httpMethod": "GET",
690+ "description": "List the alerts for this Ad Exchange account.",
691+ "parameters": {
692+ "accountId": {
693+ "type": "string",
694+ "description": "Account owning the alerts.",
695+ "required": true,
696+ "location": "path"
697+ },
698+ "locale": {
699+ "type": "string",
700+ "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.",
701+ "location": "query"
702+ }
703+ },
704+ "parameterOrder": [
705+ "accountId"
706+ ],
707+ "response": {
708+ "$ref": "Alerts"
709+ },
710+ "scopes": [
711+ "https://www.googleapis.com/auth/adexchange.seller",
712+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
713+ ]
714+ }
715+ }
716+ },
717+ "customchannels": {
718+ "methods": {
719+ "get": {
720+ "id": "adexchangeseller.accounts.customchannels.get",
721+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}",
722+ "httpMethod": "GET",
723+ "description": "Get the specified custom channel from the specified ad client.",
724+ "parameters": {
725+ "accountId": {
726+ "type": "string",
727+ "description": "Account to which the ad client belongs.",
728+ "required": true,
729+ "location": "path"
730+ },
731+ "adClientId": {
732+ "type": "string",
733+ "description": "Ad client which contains the custom channel.",
734+ "required": true,
735+ "location": "path"
736+ },
737+ "customChannelId": {
738+ "type": "string",
739+ "description": "Custom channel to retrieve.",
740+ "required": true,
741+ "location": "path"
742+ }
743+ },
744+ "parameterOrder": [
745+ "accountId",
746+ "adClientId",
747+ "customChannelId"
748+ ],
749+ "response": {
750+ "$ref": "CustomChannel"
751+ },
752+ "scopes": [
753+ "https://www.googleapis.com/auth/adexchange.seller",
754+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
755+ ]
756+ },
757+ "list": {
758+ "id": "adexchangeseller.accounts.customchannels.list",
759+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels",
760+ "httpMethod": "GET",
761+ "description": "List all custom channels in the specified ad client for this Ad Exchange account.",
762+ "parameters": {
763+ "accountId": {
764+ "type": "string",
765+ "description": "Account to which the ad client belongs.",
766+ "required": true,
767+ "location": "path"
768+ },
769+ "adClientId": {
770+ "type": "string",
771+ "description": "Ad client for which to list custom channels.",
772+ "required": true,
773+ "location": "path"
774+ },
775+ "maxResults": {
776+ "type": "integer",
777+ "description": "The maximum number of custom channels to include in the response, used for paging.",
778+ "format": "uint32",
779+ "minimum": "0",
780+ "maximum": "10000",
781+ "location": "query"
782+ },
783+ "pageToken": {
784+ "type": "string",
785+ "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.",
786+ "location": "query"
787+ }
788+ },
789+ "parameterOrder": [
790+ "accountId",
791+ "adClientId"
792+ ],
793+ "response": {
794+ "$ref": "CustomChannels"
795+ },
796+ "scopes": [
797+ "https://www.googleapis.com/auth/adexchange.seller",
798+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
799+ ]
800+ }
801+ }
802+ },
803+ "metadata": {
804+ "resources": {
805+ "dimensions": {
806+ "methods": {
807+ "list": {
808+ "id": "adexchangeseller.accounts.metadata.dimensions.list",
809+ "path": "accounts/{accountId}/metadata/dimensions",
810+ "httpMethod": "GET",
811+ "description": "List the metadata for the dimensions available to this AdExchange account.",
812+ "parameters": {
813+ "accountId": {
814+ "type": "string",
815+ "description": "Account with visibility to the dimensions.",
816+ "required": true,
817+ "location": "path"
818+ }
819+ },
820+ "parameterOrder": [
821+ "accountId"
822+ ],
823+ "response": {
824+ "$ref": "Metadata"
825+ },
826+ "scopes": [
827+ "https://www.googleapis.com/auth/adexchange.seller",
828+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
829+ ]
830+ }
831+ }
832+ },
833+ "metrics": {
834+ "methods": {
835+ "list": {
836+ "id": "adexchangeseller.accounts.metadata.metrics.list",
837+ "path": "accounts/{accountId}/metadata/metrics",
838+ "httpMethod": "GET",
839+ "description": "List the metadata for the metrics available to this AdExchange account.",
840+ "parameters": {
841+ "accountId": {
842+ "type": "string",
843+ "description": "Account with visibility to the metrics.",
844+ "required": true,
845+ "location": "path"
846+ }
847+ },
848+ "parameterOrder": [
849+ "accountId"
850+ ],
851+ "response": {
852+ "$ref": "Metadata"
853+ },
854+ "scopes": [
855+ "https://www.googleapis.com/auth/adexchange.seller",
856+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
857+ ]
858+ }
859+ }
860+ }
861+ }
862+ },
863+ "preferreddeals": {
864+ "methods": {
865+ "get": {
866+ "id": "adexchangeseller.accounts.preferreddeals.get",
867+ "path": "accounts/{accountId}/preferreddeals/{dealId}",
868+ "httpMethod": "GET",
869+ "description": "Get information about the selected Ad Exchange Preferred Deal.",
870+ "parameters": {
871+ "accountId": {
872+ "type": "string",
873+ "description": "Account owning the deal.",
874+ "required": true,
875+ "location": "path"
876+ },
877+ "dealId": {
878+ "type": "string",
879+ "description": "Preferred deal to get information about.",
880+ "required": true,
881+ "location": "path"
882+ }
883+ },
884+ "parameterOrder": [
885+ "accountId",
886+ "dealId"
887+ ],
888+ "response": {
889+ "$ref": "PreferredDeal"
890+ },
891+ "scopes": [
892+ "https://www.googleapis.com/auth/adexchange.seller",
893+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
894+ ]
895+ },
896+ "list": {
897+ "id": "adexchangeseller.accounts.preferreddeals.list",
898+ "path": "accounts/{accountId}/preferreddeals",
899+ "httpMethod": "GET",
900+ "description": "List the preferred deals for this Ad Exchange account.",
901+ "parameters": {
902+ "accountId": {
903+ "type": "string",
904+ "description": "Account owning the deals.",
905+ "required": true,
906+ "location": "path"
907+ }
908+ },
909+ "parameterOrder": [
910+ "accountId"
911+ ],
912+ "response": {
913+ "$ref": "PreferredDeals"
914+ },
915+ "scopes": [
916+ "https://www.googleapis.com/auth/adexchange.seller",
917+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
918+ ]
919+ }
920+ }
921+ },
922+ "reports": {
923+ "methods": {
924+ "generate": {
925+ "id": "adexchangeseller.accounts.reports.generate",
926+ "path": "accounts/{accountId}/reports",
927+ "httpMethod": "GET",
928+ "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.",
929+ "parameters": {
930+ "accountId": {
931+ "type": "string",
932+ "description": "Account which owns the generated report.",
933+ "required": true,
934+ "location": "path"
935+ },
936+ "dimension": {
937+ "type": "string",
938+ "description": "Dimensions to base the report on.",
939+ "pattern": "[a-zA-Z_]+",
940+ "repeated": true,
941+ "location": "query"
942+ },
943+ "endDate": {
944+ "type": "string",
945+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
946+ "required": true,
947+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
948+ "location": "query"
949+ },
950+ "filter": {
951+ "type": "string",
952+ "description": "Filters to be run on the report.",
953+ "pattern": "[a-zA-Z_]+(==|=@).+",
954+ "repeated": true,
955+ "location": "query"
956+ },
957+ "locale": {
958+ "type": "string",
959+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
960+ "pattern": "[a-zA-Z_]+",
961+ "location": "query"
962+ },
963+ "maxResults": {
964+ "type": "integer",
965+ "description": "The maximum number of rows of report data to return.",
966+ "format": "uint32",
967+ "minimum": "0",
968+ "maximum": "50000",
969+ "location": "query"
970+ },
971+ "metric": {
972+ "type": "string",
973+ "description": "Numeric columns to include in the report.",
974+ "pattern": "[a-zA-Z_]+",
975+ "repeated": true,
976+ "location": "query"
977+ },
978+ "sort": {
979+ "type": "string",
980+ "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.",
981+ "pattern": "(\\+|-)?[a-zA-Z_]+",
982+ "repeated": true,
983+ "location": "query"
984+ },
985+ "startDate": {
986+ "type": "string",
987+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
988+ "required": true,
989+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
990+ "location": "query"
991+ },
992+ "startIndex": {
993+ "type": "integer",
994+ "description": "Index of the first row of report data to return.",
995+ "format": "uint32",
996+ "minimum": "0",
997+ "maximum": "5000",
998+ "location": "query"
999+ }
1000+ },
1001+ "parameterOrder": [
1002+ "accountId",
1003+ "startDate",
1004+ "endDate"
1005+ ],
1006+ "response": {
1007+ "$ref": "Report"
1008+ },
1009+ "scopes": [
1010+ "https://www.googleapis.com/auth/adexchange.seller",
1011+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1012+ ],
1013+ "supportsMediaDownload": true
1014+ }
1015+ },
1016+ "resources": {
1017+ "saved": {
1018+ "methods": {
1019+ "generate": {
1020+ "id": "adexchangeseller.accounts.reports.saved.generate",
1021+ "path": "accounts/{accountId}/reports/{savedReportId}",
1022+ "httpMethod": "GET",
1023+ "description": "Generate an Ad Exchange report based on the saved report ID sent in the query parameters.",
1024+ "parameters": {
1025+ "accountId": {
1026+ "type": "string",
1027+ "description": "Account owning the saved report.",
1028+ "required": true,
1029+ "location": "path"
1030+ },
1031+ "locale": {
1032+ "type": "string",
1033+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1034+ "pattern": "[a-zA-Z_]+",
1035+ "location": "query"
1036+ },
1037+ "maxResults": {
1038+ "type": "integer",
1039+ "description": "The maximum number of rows of report data to return.",
1040+ "format": "int32",
1041+ "minimum": "0",
1042+ "maximum": "50000",
1043+ "location": "query"
1044+ },
1045+ "savedReportId": {
1046+ "type": "string",
1047+ "description": "The saved report to retrieve.",
1048+ "required": true,
1049+ "location": "path"
1050+ },
1051+ "startIndex": {
1052+ "type": "integer",
1053+ "description": "Index of the first row of report data to return.",
1054+ "format": "int32",
1055+ "minimum": "0",
1056+ "maximum": "5000",
1057+ "location": "query"
1058+ }
1059+ },
1060+ "parameterOrder": [
1061+ "accountId",
1062+ "savedReportId"
1063+ ],
1064+ "response": {
1065+ "$ref": "Report"
1066+ },
1067+ "scopes": [
1068+ "https://www.googleapis.com/auth/adexchange.seller",
1069+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1070+ ]
1071+ },
1072+ "list": {
1073+ "id": "adexchangeseller.accounts.reports.saved.list",
1074+ "path": "accounts/{accountId}/reports/saved",
1075+ "httpMethod": "GET",
1076+ "description": "List all saved reports in this Ad Exchange account.",
1077+ "parameters": {
1078+ "accountId": {
1079+ "type": "string",
1080+ "description": "Account owning the saved reports.",
1081+ "required": true,
1082+ "location": "path"
1083+ },
1084+ "maxResults": {
1085+ "type": "integer",
1086+ "description": "The maximum number of saved reports to include in the response, used for paging.",
1087+ "format": "int32",
1088+ "minimum": "0",
1089+ "maximum": "100",
1090+ "location": "query"
1091+ },
1092+ "pageToken": {
1093+ "type": "string",
1094+ "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.",
1095+ "location": "query"
1096+ }
1097+ },
1098+ "parameterOrder": [
1099+ "accountId"
1100+ ],
1101+ "response": {
1102+ "$ref": "SavedReports"
1103+ },
1104+ "scopes": [
1105+ "https://www.googleapis.com/auth/adexchange.seller",
1106+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1107+ ]
1108+ }
1109+ }
1110+ }
1111+ }
1112+ },
1113+ "urlchannels": {
1114+ "methods": {
1115+ "list": {
1116+ "id": "adexchangeseller.accounts.urlchannels.list",
1117+ "path": "accounts/{accountId}/adclients/{adClientId}/urlchannels",
1118+ "httpMethod": "GET",
1119+ "description": "List all URL channels in the specified ad client for this Ad Exchange account.",
1120+ "parameters": {
1121+ "accountId": {
1122+ "type": "string",
1123+ "description": "Account to which the ad client belongs.",
1124+ "required": true,
1125+ "location": "path"
1126+ },
1127+ "adClientId": {
1128+ "type": "string",
1129+ "description": "Ad client for which to list URL channels.",
1130+ "required": true,
1131+ "location": "path"
1132+ },
1133+ "maxResults": {
1134+ "type": "integer",
1135+ "description": "The maximum number of URL channels to include in the response, used for paging.",
1136+ "format": "uint32",
1137+ "minimum": "0",
1138+ "maximum": "10000",
1139+ "location": "query"
1140+ },
1141+ "pageToken": {
1142+ "type": "string",
1143+ "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.",
1144+ "location": "query"
1145+ }
1146+ },
1147+ "parameterOrder": [
1148+ "accountId",
1149+ "adClientId"
1150+ ],
1151+ "response": {
1152+ "$ref": "UrlChannels"
1153+ },
1154+ "scopes": [
1155+ "https://www.googleapis.com/auth/adexchange.seller",
1156+ "https://www.googleapis.com/auth/adexchange.seller.readonly"
1157+ ]
1158+ }
1159+ }
1160+ }
1161+ }
1162+ }
1163+ }
1164+}
gen/model/admin/admin/datatransfer/v1/admin-api.jsonnew file+411
@@ -0,0 +1,411 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/fIZK26KtD09fXt5m9JygrSOR194\"",
4+ "discoveryVersion": "v1",
5+ "id": "admin:datatransfer_v1",
6+ "name": "admin",
7+ "canonicalName": "DataTransfer",
8+ "version": "datatransfer_v1",
9+ "revision": "20150917",
10+ "title": "Admin Data Transfer API",
11+ "description": "Admin Data Transfer API lets you transfer user data from one user to another.",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "packagePath": "admin",
15+ "icons": {
16+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
17+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
18+ },
19+ "documentationLink": "https://developers.google.com/admin-sdk/data-transfer/",
20+ "protocol": "rest",
21+ "baseUrl": "https://www.googleapis.com/admin/datatransfer/v1/",
22+ "basePath": "/admin/datatransfer/v1/",
23+ "rootUrl": "https://www.googleapis.com/",
24+ "servicePath": "admin/datatransfer/v1/",
25+ "batchPath": "batch",
26+ "parameters": {
27+ "alt": {
28+ "type": "string",
29+ "description": "Data format for the response.",
30+ "default": "json",
31+ "enum": [
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of application/json"
36+ ],
37+ "location": "query"
38+ },
39+ "fields": {
40+ "type": "string",
41+ "description": "Selector specifying which fields to include in a partial response.",
42+ "location": "query"
43+ },
44+ "key": {
45+ "type": "string",
46+ "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.",
47+ "location": "query"
48+ },
49+ "oauth_token": {
50+ "type": "string",
51+ "description": "OAuth 2.0 token for the current user.",
52+ "location": "query"
53+ },
54+ "prettyPrint": {
55+ "type": "boolean",
56+ "description": "Returns response with indentations and line breaks.",
57+ "default": "true",
58+ "location": "query"
59+ },
60+ "quotaUser": {
61+ "type": "string",
62+ "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.",
63+ "location": "query"
64+ },
65+ "userIp": {
66+ "type": "string",
67+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
68+ "location": "query"
69+ }
70+ },
71+ "auth": {
72+ "oauth2": {
73+ "scopes": {
74+ "https://www.googleapis.com/auth/admin.datatransfer": {
75+ "description": "View and manage data transfers between users in your organization"
76+ },
77+ "https://www.googleapis.com/auth/admin.datatransfer.readonly": {
78+ "description": "View data transfers between users in your organization"
79+ }
80+ }
81+ }
82+ },
83+ "schemas": {
84+ "Application": {
85+ "id": "Application",
86+ "type": "object",
87+ "description": "The JSON template for an Application resource.",
88+ "properties": {
89+ "etag": {
90+ "type": "string",
91+ "description": "Etag of the resource."
92+ },
93+ "id": {
94+ "type": "string",
95+ "description": "The application's ID.",
96+ "format": "int64"
97+ },
98+ "kind": {
99+ "type": "string",
100+ "description": "Identifies the resource as a DataTransfer Application Resource.",
101+ "default": "admin#datatransfer#ApplicationResource"
102+ },
103+ "name": {
104+ "type": "string",
105+ "description": "The application's name."
106+ },
107+ "transferParams": {
108+ "type": "array",
109+ "description": "The list of all possible transfer parameters for this application. These parameters can be used to select the data of the user in this application to be transfered.",
110+ "items": {
111+ "$ref": "ApplicationTransferParam"
112+ }
113+ }
114+ }
115+ },
116+ "ApplicationDataTransfer": {
117+ "id": "ApplicationDataTransfer",
118+ "type": "object",
119+ "description": "Template to map fields of ApplicationDataTransfer resource.",
120+ "properties": {
121+ "applicationId": {
122+ "type": "string",
123+ "description": "The application's ID.",
124+ "format": "int64"
125+ },
126+ "applicationTransferParams": {
127+ "type": "array",
128+ "description": "The transfer parameters for the application. These parameters are used to select the data which will get transfered in context of this application.",
129+ "items": {
130+ "$ref": "ApplicationTransferParam"
131+ }
132+ },
133+ "applicationTransferStatus": {
134+ "type": "string",
135+ "description": "Current status of transfer for this application. (Read-only)"
136+ }
137+ }
138+ },
139+ "ApplicationTransferParam": {
140+ "id": "ApplicationTransferParam",
141+ "type": "object",
142+ "description": "Template for application transfer parameters.",
143+ "properties": {
144+ "key": {
145+ "type": "string",
146+ "description": "The type of the transfer parameter. eg: 'PRIVACY_LEVEL'"
147+ },
148+ "value": {
149+ "type": "array",
150+ "description": "The value of the coressponding transfer parameter. eg: 'PRIVATE' or 'SHARED'",
151+ "items": {
152+ "type": "string"
153+ }
154+ }
155+ }
156+ },
157+ "ApplicationsListResponse": {
158+ "id": "ApplicationsListResponse",
159+ "type": "object",
160+ "description": "Template for a collection of Applications.",
161+ "properties": {
162+ "applications": {
163+ "type": "array",
164+ "description": "List of applications that support data transfer and are also installed for the customer.",
165+ "items": {
166+ "$ref": "Application"
167+ }
168+ },
169+ "etag": {
170+ "type": "string",
171+ "description": "ETag of the resource."
172+ },
173+ "kind": {
174+ "type": "string",
175+ "description": "Identifies the resource as a collection of Applications.",
176+ "default": "admin#datatransfer#applicationsList"
177+ },
178+ "nextPageToken": {
179+ "type": "string",
180+ "description": "Continuation token which will be used to specify next page in list API."
181+ }
182+ }
183+ },
184+ "DataTransfer": {
185+ "id": "DataTransfer",
186+ "type": "object",
187+ "description": "The JSON template for a DataTransfer resource.",
188+ "properties": {
189+ "applicationDataTransfers": {
190+ "type": "array",
191+ "description": "List of per application data transfer resources. It contains data transfer details of the applications associated with this transfer resource. Note that this list is also used to specify the applications for which data transfer has to be done at the time of the transfer resource creation.",
192+ "items": {
193+ "$ref": "ApplicationDataTransfer"
194+ }
195+ },
196+ "etag": {
197+ "type": "string",
198+ "description": "ETag of the resource."
199+ },
200+ "id": {
201+ "type": "string",
202+ "description": "The transfer's ID (Read-only)."
203+ },
204+ "kind": {
205+ "type": "string",
206+ "description": "Identifies the resource as a DataTransfer request.",
207+ "default": "admin#datatransfer#DataTransfer"
208+ },
209+ "newOwnerUserId": {
210+ "type": "string",
211+ "description": "ID of the user to whom the data is being transfered."
212+ },
213+ "oldOwnerUserId": {
214+ "type": "string",
215+ "description": "ID of the user whose data is being transfered."
216+ },
217+ "overallTransferStatusCode": {
218+ "type": "string",
219+ "description": "Overall transfer status (Read-only)."
220+ },
221+ "requestTime": {
222+ "type": "string",
223+ "description": "The time at which the data transfer was requested (Read-only).",
224+ "format": "date-time"
225+ }
226+ }
227+ },
228+ "DataTransfersListResponse": {
229+ "id": "DataTransfersListResponse",
230+ "type": "object",
231+ "description": "Template for a collection of DataTransfer resources.",
232+ "properties": {
233+ "dataTransfers": {
234+ "type": "array",
235+ "description": "List of data transfer requests.",
236+ "items": {
237+ "$ref": "DataTransfer"
238+ }
239+ },
240+ "etag": {
241+ "type": "string",
242+ "description": "ETag of the resource."
243+ },
244+ "kind": {
245+ "type": "string",
246+ "description": "Identifies the resource as a collection of data transfer requests.",
247+ "default": "admin#datatransfer#dataTransfersList"
248+ },
249+ "nextPageToken": {
250+ "type": "string",
251+ "description": "Continuation token which will be used to specify next page in list API."
252+ }
253+ }
254+ }
255+ },
256+ "resources": {
257+ "applications": {
258+ "methods": {
259+ "get": {
260+ "id": "datatransfer.applications.get",
261+ "path": "applications/{applicationId}",
262+ "httpMethod": "GET",
263+ "description": "Retrieves information about an application for the given application ID.",
264+ "parameters": {
265+ "applicationId": {
266+ "type": "string",
267+ "description": "ID of the application resource to be retrieved.",
268+ "required": true,
269+ "format": "int64",
270+ "location": "path"
271+ }
272+ },
273+ "parameterOrder": [
274+ "applicationId"
275+ ],
276+ "response": {
277+ "$ref": "Application"
278+ },
279+ "scopes": [
280+ "https://www.googleapis.com/auth/admin.datatransfer",
281+ "https://www.googleapis.com/auth/admin.datatransfer.readonly"
282+ ]
283+ },
284+ "list": {
285+ "id": "datatransfer.applications.list",
286+ "path": "applications",
287+ "httpMethod": "GET",
288+ "description": "Lists the applications available for data transfer for a customer.",
289+ "parameters": {
290+ "customerId": {
291+ "type": "string",
292+ "description": "Immutable ID of the Google Apps account.",
293+ "location": "query"
294+ },
295+ "maxResults": {
296+ "type": "integer",
297+ "description": "Maximum number of results to return. Default is 100.",
298+ "format": "uint32",
299+ "minimum": "1",
300+ "maximum": "500",
301+ "location": "query"
302+ },
303+ "pageToken": {
304+ "type": "string",
305+ "description": "Token to specify next page in the list.",
306+ "location": "query"
307+ }
308+ },
309+ "response": {
310+ "$ref": "ApplicationsListResponse"
311+ },
312+ "scopes": [
313+ "https://www.googleapis.com/auth/admin.datatransfer",
314+ "https://www.googleapis.com/auth/admin.datatransfer.readonly"
315+ ]
316+ }
317+ }
318+ },
319+ "transfers": {
320+ "methods": {
321+ "get": {
322+ "id": "datatransfer.transfers.get",
323+ "path": "transfers/{dataTransferId}",
324+ "httpMethod": "GET",
325+ "description": "Retrieves a data transfer request by its resource ID.",
326+ "parameters": {
327+ "dataTransferId": {
328+ "type": "string",
329+ "description": "ID of the resource to be retrieved. This is returned in the response from the insert method.",
330+ "required": true,
331+ "location": "path"
332+ }
333+ },
334+ "parameterOrder": [
335+ "dataTransferId"
336+ ],
337+ "response": {
338+ "$ref": "DataTransfer"
339+ },
340+ "scopes": [
341+ "https://www.googleapis.com/auth/admin.datatransfer",
342+ "https://www.googleapis.com/auth/admin.datatransfer.readonly"
343+ ]
344+ },
345+ "insert": {
346+ "id": "datatransfer.transfers.insert",
347+ "path": "transfers",
348+ "httpMethod": "POST",
349+ "description": "Inserts a data transfer request.",
350+ "request": {
351+ "$ref": "DataTransfer"
352+ },
353+ "response": {
354+ "$ref": "DataTransfer"
355+ },
356+ "scopes": [
357+ "https://www.googleapis.com/auth/admin.datatransfer"
358+ ]
359+ },
360+ "list": {
361+ "id": "datatransfer.transfers.list",
362+ "path": "transfers",
363+ "httpMethod": "GET",
364+ "description": "Lists the transfers for a customer by source user, destination user, or status.",
365+ "parameters": {
366+ "customerId": {
367+ "type": "string",
368+ "description": "Immutable ID of the Google Apps account.",
369+ "location": "query"
370+ },
371+ "maxResults": {
372+ "type": "integer",
373+ "description": "Maximum number of results to return. Default is 100.",
374+ "format": "int32",
375+ "minimum": "1",
376+ "maximum": "500",
377+ "location": "query"
378+ },
379+ "newOwnerUserId": {
380+ "type": "string",
381+ "description": "Destination user's profile ID.",
382+ "location": "query"
383+ },
384+ "oldOwnerUserId": {
385+ "type": "string",
386+ "description": "Source user's profile ID.",
387+ "location": "query"
388+ },
389+ "pageToken": {
390+ "type": "string",
391+ "description": "Token to specify the next page in the list.",
392+ "location": "query"
393+ },
394+ "status": {
395+ "type": "string",
396+ "description": "Status of the transfer.",
397+ "location": "query"
398+ }
399+ },
400+ "response": {
401+ "$ref": "DataTransfersListResponse"
402+ },
403+ "scopes": [
404+ "https://www.googleapis.com/auth/admin.datatransfer",
405+ "https://www.googleapis.com/auth/admin.datatransfer.readonly"
406+ ]
407+ }
408+ }
409+ }
410+ }
411+}
gen/model/admin/admin/directory/v1/admin-api.jsonnew file+4182
@@ -0,0 +1,4182 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/uQEY1lxUpBjGfWxd7mioMh_V8P8\"",
4+ "discoveryVersion": "v1",
5+ "id": "admin:directory_v1",
6+ "name": "admin",
7+ "canonicalName": "directory",
8+ "version": "directory_v1",
9+ "revision": "20150720",
10+ "title": "Admin Directory API",
11+ "description": "The Admin SDK Directory API lets you view and manage enterprise resources such as users and groups, administrative notifications, security features, and more.",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "packagePath": "admin",
15+ "icons": {
16+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
17+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
18+ },
19+ "documentationLink": "https://developers.google.com/admin-sdk/directory/",
20+ "protocol": "rest",
21+ "baseUrl": "https://www.googleapis.com/admin/directory/v1/",
22+ "basePath": "/admin/directory/v1/",
23+ "rootUrl": "https://www.googleapis.com/",
24+ "servicePath": "admin/directory/v1/",
25+ "batchPath": "batch",
26+ "parameters": {
27+ "alt": {
28+ "type": "string",
29+ "description": "Data format for the response.",
30+ "default": "json",
31+ "enum": [
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of application/json"
36+ ],
37+ "location": "query"
38+ },
39+ "fields": {
40+ "type": "string",
41+ "description": "Selector specifying which fields to include in a partial response.",
42+ "location": "query"
43+ },
44+ "key": {
45+ "type": "string",
46+ "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.",
47+ "location": "query"
48+ },
49+ "oauth_token": {
50+ "type": "string",
51+ "description": "OAuth 2.0 token for the current user.",
52+ "location": "query"
53+ },
54+ "prettyPrint": {
55+ "type": "boolean",
56+ "description": "Returns response with indentations and line breaks.",
57+ "default": "true",
58+ "location": "query"
59+ },
60+ "quotaUser": {
61+ "type": "string",
62+ "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.",
63+ "location": "query"
64+ },
65+ "userIp": {
66+ "type": "string",
67+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
68+ "location": "query"
69+ }
70+ },
71+ "auth": {
72+ "oauth2": {
73+ "scopes": {
74+ "https://www.googleapis.com/auth/admin.directory.device.chromeos": {
75+ "description": "View and manage your Chrome OS devices' metadata"
76+ },
77+ "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly": {
78+ "description": "View your Chrome OS devices' metadata"
79+ },
80+ "https://www.googleapis.com/auth/admin.directory.device.mobile": {
81+ "description": "View and manage your mobile devices' metadata"
82+ },
83+ "https://www.googleapis.com/auth/admin.directory.device.mobile.action": {
84+ "description": "Manage your mobile devices by performing administrative tasks"
85+ },
86+ "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly": {
87+ "description": "View your mobile devices' metadata"
88+ },
89+ "https://www.googleapis.com/auth/admin.directory.group": {
90+ "description": "View and manage the provisioning of groups on your domain"
91+ },
92+ "https://www.googleapis.com/auth/admin.directory.group.member": {
93+ "description": "View and manage group subscriptions on your domain"
94+ },
95+ "https://www.googleapis.com/auth/admin.directory.group.member.readonly": {
96+ "description": "View group subscriptions on your domain"
97+ },
98+ "https://www.googleapis.com/auth/admin.directory.group.readonly": {
99+ "description": "View groups on your domain"
100+ },
101+ "https://www.googleapis.com/auth/admin.directory.notifications": {
102+ "description": "View and manage notifications received on your domain"
103+ },
104+ "https://www.googleapis.com/auth/admin.directory.orgunit": {
105+ "description": "View and manage organization units on your domain"
106+ },
107+ "https://www.googleapis.com/auth/admin.directory.orgunit.readonly": {
108+ "description": "View organization units on your domain"
109+ },
110+ "https://www.googleapis.com/auth/admin.directory.user": {
111+ "description": "View and manage the provisioning of users on your domain"
112+ },
113+ "https://www.googleapis.com/auth/admin.directory.user.alias": {
114+ "description": "View and manage user aliases on your domain"
115+ },
116+ "https://www.googleapis.com/auth/admin.directory.user.alias.readonly": {
117+ "description": "View user aliases on your domain"
118+ },
119+ "https://www.googleapis.com/auth/admin.directory.user.readonly": {
120+ "description": "View users on your domain"
121+ },
122+ "https://www.googleapis.com/auth/admin.directory.user.security": {
123+ "description": "Manage data access permissions for users on your domain"
124+ },
125+ "https://www.googleapis.com/auth/admin.directory.userschema": {
126+ "description": "View and manage the provisioning of user schemas on your domain"
127+ },
128+ "https://www.googleapis.com/auth/admin.directory.userschema.readonly": {
129+ "description": "View user schemas on your domain"
130+ }
131+ }
132+ }
133+ },
134+ "schemas": {
135+ "Alias": {
136+ "id": "Alias",
137+ "type": "object",
138+ "description": "JSON template for Alias object in Directory API.",
139+ "properties": {
140+ "alias": {
141+ "type": "string",
142+ "description": "A alias email"
143+ },
144+ "etag": {
145+ "type": "string",
146+ "description": "ETag of the resource."
147+ },
148+ "id": {
149+ "type": "string",
150+ "description": "Unique id of the group (Read-only) Unique id of the user (Read-only)"
151+ },
152+ "kind": {
153+ "type": "string",
154+ "description": "Kind of resource this is.",
155+ "default": "admin#directory#alias"
156+ },
157+ "primaryEmail": {
158+ "type": "string",
159+ "description": "Group's primary email (Read-only) User's primary email (Read-only)"
160+ }
161+ }
162+ },
163+ "Aliases": {
164+ "id": "Aliases",
165+ "type": "object",
166+ "description": "JSON response template to list aliases in Directory API.",
167+ "properties": {
168+ "aliases": {
169+ "type": "array",
170+ "description": "List of alias objects.",
171+ "items": {
172+ "$ref": "Alias"
173+ }
174+ },
175+ "etag": {
176+ "type": "string",
177+ "description": "ETag of the resource."
178+ },
179+ "kind": {
180+ "type": "string",
181+ "description": "Kind of resource this is.",
182+ "default": "admin#directory#aliases"
183+ }
184+ }
185+ },
186+ "Asp": {
187+ "id": "Asp",
188+ "type": "object",
189+ "description": "The template that returns individual ASP (Access Code) data.",
190+ "properties": {
191+ "codeId": {
192+ "type": "integer",
193+ "description": "The unique ID of the ASP.",
194+ "format": "int32"
195+ },
196+ "creationTime": {
197+ "type": "string",
198+ "description": "The time when the ASP was created. Expressed in Unix time format.",
199+ "format": "int64"
200+ },
201+ "etag": {
202+ "type": "string",
203+ "description": "ETag of the ASP."
204+ },
205+ "kind": {
206+ "type": "string",
207+ "description": "The type of the API resource. This is always admin#directory#asp.",
208+ "default": "admin#directory#asp"
209+ },
210+ "lastTimeUsed": {
211+ "type": "string",
212+ "description": "The time when the ASP was last used. Expressed in Unix time format.",
213+ "format": "int64"
214+ },
215+ "name": {
216+ "type": "string",
217+ "description": "The name of the application that the user, represented by their userId, entered when the ASP was created."
218+ },
219+ "userKey": {
220+ "type": "string",
221+ "description": "The unique ID of the user who issued the ASP."
222+ }
223+ }
224+ },
225+ "Asps": {
226+ "id": "Asps",
227+ "type": "object",
228+ "properties": {
229+ "etag": {
230+ "type": "string",
231+ "description": "ETag of the resource."
232+ },
233+ "items": {
234+ "type": "array",
235+ "description": "A list of ASP resources.",
236+ "items": {
237+ "$ref": "Asp"
238+ }
239+ },
240+ "kind": {
241+ "type": "string",
242+ "description": "The type of the API resource. This is always admin#directory#aspList.",
243+ "default": "admin#directory#aspList"
244+ }
245+ }
246+ },
247+ "Channel": {
248+ "id": "Channel",
249+ "type": "object",
250+ "description": "An notification channel used to watch for resource changes.",
251+ "properties": {
252+ "address": {
253+ "type": "string",
254+ "description": "The address where notifications are delivered for this channel."
255+ },
256+ "expiration": {
257+ "type": "string",
258+ "description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.",
259+ "format": "int64"
260+ },
261+ "id": {
262+ "type": "string",
263+ "description": "A UUID or similar unique string that identifies this channel."
264+ },
265+ "kind": {
266+ "type": "string",
267+ "description": "Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string \"api#channel\".",
268+ "default": "api#channel"
269+ },
270+ "params": {
271+ "type": "object",
272+ "description": "Additional parameters controlling delivery channel behavior. Optional.",
273+ "additionalProperties": {
274+ "type": "string",
275+ "description": "Declares a new parameter by name."
276+ }
277+ },
278+ "payload": {
279+ "type": "boolean",
280+ "description": "A Boolean value to indicate whether payload is wanted. Optional."
281+ },
282+ "resourceId": {
283+ "type": "string",
284+ "description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions."
285+ },
286+ "resourceUri": {
287+ "type": "string",
288+ "description": "A version-specific identifier for the watched resource."
289+ },
290+ "token": {
291+ "type": "string",
292+ "description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional."
293+ },
294+ "type": {
295+ "type": "string",
296+ "description": "The type of delivery mechanism used for this channel."
297+ }
298+ }
299+ },
300+ "ChromeOsDevice": {
301+ "id": "ChromeOsDevice",
302+ "type": "object",
303+ "description": "JSON template for Chrome Os Device resource in Directory API.",
304+ "properties": {
305+ "activeTimeRanges": {
306+ "type": "array",
307+ "description": "List of active time ranges (Read-only)",
308+ "items": {
309+ "type": "object",
310+ "properties": {
311+ "activeTime": {
312+ "type": "integer",
313+ "description": "Duration in milliseconds",
314+ "format": "int32"
315+ },
316+ "date": {
317+ "type": "string",
318+ "description": "Date of usage",
319+ "format": "date"
320+ }
321+ }
322+ }
323+ },
324+ "annotatedAssetId": {
325+ "type": "string",
326+ "description": "AssetId specified during enrollment or through later annotation"
327+ },
328+ "annotatedLocation": {
329+ "type": "string",
330+ "description": "Address or location of the device as noted by the administrator"
331+ },
332+ "annotatedUser": {
333+ "type": "string",
334+ "description": "User of the device"
335+ },
336+ "bootMode": {
337+ "type": "string",
338+ "description": "Chromebook boot mode (Read-only)"
339+ },
340+ "deviceId": {
341+ "type": "string",
342+ "description": "Unique identifier of Chrome OS Device (Read-only)"
343+ },
344+ "etag": {
345+ "type": "string",
346+ "description": "ETag of the resource."
347+ },
348+ "ethernetMacAddress": {
349+ "type": "string",
350+ "description": "Chromebook Mac Address on ethernet network interface (Read-only)"
351+ },
352+ "firmwareVersion": {
353+ "type": "string",
354+ "description": "Chromebook firmware version (Read-only)"
355+ },
356+ "kind": {
357+ "type": "string",
358+ "description": "Kind of resource this is.",
359+ "default": "admin#directory#chromeosdevice"
360+ },
361+ "lastEnrollmentTime": {
362+ "type": "string",
363+ "description": "Date and time the device was last enrolled (Read-only)",
364+ "format": "date-time"
365+ },
366+ "lastSync": {
367+ "type": "string",
368+ "description": "Date and time the device was last synchronized with the policy settings in the Google Apps administrator control panel (Read-only)",
369+ "format": "date-time"
370+ },
371+ "macAddress": {
372+ "type": "string",
373+ "description": "Chromebook Mac Address on wifi network interface (Read-only)"
374+ },
375+ "meid": {
376+ "type": "string",
377+ "description": "Mobile Equipment identifier for the 3G mobile card in the Chromebook (Read-only)"
378+ },
379+ "model": {
380+ "type": "string",
381+ "description": "Chromebook Model (Read-only)"
382+ },
383+ "notes": {
384+ "type": "string",
385+ "description": "Notes added by the administrator"
386+ },
387+ "orderNumber": {
388+ "type": "string",
389+ "description": "Chromebook order number (Read-only)"
390+ },
391+ "orgUnitPath": {
392+ "type": "string",
393+ "description": "OrgUnit of the device"
394+ },
395+ "osVersion": {
396+ "type": "string",
397+ "description": "Chromebook Os Version (Read-only)"
398+ },
399+ "platformVersion": {
400+ "type": "string",
401+ "description": "Chromebook platform version (Read-only)"
402+ },
403+ "recentUsers": {
404+ "type": "array",
405+ "description": "List of recent device users, in descending order by last login time (Read-only)",
406+ "items": {
407+ "type": "object",
408+ "properties": {
409+ "email": {
410+ "type": "string",
411+ "description": "Email address of the user. Present only if the user type is managed"
412+ },
413+ "type": {
414+ "type": "string",
415+ "description": "The type of the user"
416+ }
417+ }
418+ }
419+ },
420+ "serialNumber": {
421+ "type": "string",
422+ "description": "Chromebook serial number (Read-only)"
423+ },
424+ "status": {
425+ "type": "string",
426+ "description": "status of the device (Read-only)"
427+ },
428+ "supportEndDate": {
429+ "type": "string",
430+ "description": "Final date the device will be supported (Read-only)",
431+ "format": "date-time"
432+ },
433+ "willAutoRenew": {
434+ "type": "boolean",
435+ "description": "Will Chromebook auto renew after support end date (Read-only)"
436+ }
437+ }
438+ },
439+ "ChromeOsDevices": {
440+ "id": "ChromeOsDevices",
441+ "type": "object",
442+ "description": "JSON response template for List Chrome OS Devices operation in Directory API.",
443+ "properties": {
444+ "chromeosdevices": {
445+ "type": "array",
446+ "description": "List of Chrome OS Device objects.",
447+ "items": {
448+ "$ref": "ChromeOsDevice"
449+ }
450+ },
451+ "etag": {
452+ "type": "string",
453+ "description": "ETag of the resource."
454+ },
455+ "kind": {
456+ "type": "string",
457+ "description": "Kind of resource this is.",
458+ "default": "admin#directory#chromeosdevices"
459+ },
460+ "nextPageToken": {
461+ "type": "string",
462+ "description": "Token used to access next page of this result."
463+ }
464+ }
465+ },
466+ "Group": {
467+ "id": "Group",
468+ "type": "object",
469+ "description": "JSON template for Group resource in Directory API.",
470+ "properties": {
471+ "adminCreated": {
472+ "type": "boolean",
473+ "description": "Is the group created by admin (Read-only) *"
474+ },
475+ "aliases": {
476+ "type": "array",
477+ "description": "List of aliases (Read-only)",
478+ "items": {
479+ "type": "string"
480+ }
481+ },
482+ "description": {
483+ "type": "string",
484+ "description": "Description of the group"
485+ },
486+ "directMembersCount": {
487+ "type": "string",
488+ "description": "Group direct members count",
489+ "format": "int64"
490+ },
491+ "email": {
492+ "type": "string",
493+ "description": "Email of Group",
494+ "annotations": {
495+ "required": [
496+ "directory.groups.insert"
497+ ]
498+ }
499+ },
500+ "etag": {
501+ "type": "string",
502+ "description": "ETag of the resource."
503+ },
504+ "id": {
505+ "type": "string",
506+ "description": "Unique identifier of Group (Read-only)"
507+ },
508+ "kind": {
509+ "type": "string",
510+ "description": "Kind of resource this is.",
511+ "default": "admin#directory#group"
512+ },
513+ "name": {
514+ "type": "string",
515+ "description": "Group name"
516+ },
517+ "nonEditableAliases": {
518+ "type": "array",
519+ "description": "List of non editable aliases (Read-only)",
520+ "items": {
521+ "type": "string"
522+ }
523+ }
524+ }
525+ },
526+ "Groups": {
527+ "id": "Groups",
528+ "type": "object",
529+ "description": "JSON response template for List Groups operation in Directory API.",
530+ "properties": {
531+ "etag": {
532+ "type": "string",
533+ "description": "ETag of the resource."
534+ },
535+ "groups": {
536+ "type": "array",
537+ "description": "List of group objects.",
538+ "items": {
539+ "$ref": "Group"
540+ }
541+ },
542+ "kind": {
543+ "type": "string",
544+ "description": "Kind of resource this is.",
545+ "default": "admin#directory#groups"
546+ },
547+ "nextPageToken": {
548+ "type": "string",
549+ "description": "Token used to access next page of this result."
550+ }
551+ }
552+ },
553+ "Member": {
554+ "id": "Member",
555+ "type": "object",
556+ "description": "JSON template for Member resource in Directory API.",
557+ "properties": {
558+ "email": {
559+ "type": "string",
560+ "description": "Email of member (Read-only)"
561+ },
562+ "etag": {
563+ "type": "string",
564+ "description": "ETag of the resource."
565+ },
566+ "id": {
567+ "type": "string",
568+ "description": "Unique identifier of customer member (Read-only) Unique identifier of group (Read-only) Unique identifier of member (Read-only)"
569+ },
570+ "kind": {
571+ "type": "string",
572+ "description": "Kind of resource this is.",
573+ "default": "admin#directory#member"
574+ },
575+ "role": {
576+ "type": "string",
577+ "description": "Role of member"
578+ },
579+ "type": {
580+ "type": "string",
581+ "description": "Type of member (Immutable)"
582+ }
583+ }
584+ },
585+ "Members": {
586+ "id": "Members",
587+ "type": "object",
588+ "description": "JSON response template for List Members operation in Directory API.",
589+ "properties": {
590+ "etag": {
591+ "type": "string",
592+ "description": "ETag of the resource."
593+ },
594+ "kind": {
595+ "type": "string",
596+ "description": "Kind of resource this is.",
597+ "default": "admin#directory#members"
598+ },
599+ "members": {
600+ "type": "array",
601+ "description": "List of member objects.",
602+ "items": {
603+ "$ref": "Member"
604+ }
605+ },
606+ "nextPageToken": {
607+ "type": "string",
608+ "description": "Token used to access next page of this result."
609+ }
610+ }
611+ },
612+ "MobileDevice": {
613+ "id": "MobileDevice",
614+ "type": "object",
615+ "description": "JSON template for Mobile Device resource in Directory API.",
616+ "properties": {
617+ "adbStatus": {
618+ "type": "boolean",
619+ "description": "Adb (USB debugging) enabled or disabled on device (Read-only)"
620+ },
621+ "applications": {
622+ "type": "array",
623+ "description": "List of applications installed on Mobile Device",
624+ "items": {
625+ "type": "object",
626+ "properties": {
627+ "displayName": {
628+ "type": "string",
629+ "description": "Display name of application"
630+ },
631+ "packageName": {
632+ "type": "string",
633+ "description": "Package name of application"
634+ },
635+ "permission": {
636+ "type": "array",
637+ "description": "List of Permissions for application",
638+ "items": {
639+ "type": "string"
640+ }
641+ },
642+ "versionCode": {
643+ "type": "integer",
644+ "description": "Version code of application",
645+ "format": "int32"
646+ },
647+ "versionName": {
648+ "type": "string",
649+ "description": "Version name of application"
650+ }
651+ }
652+ }
653+ },
654+ "basebandVersion": {
655+ "type": "string",
656+ "description": "Mobile Device Baseband version (Read-only)"
657+ },
658+ "buildNumber": {
659+ "type": "string",
660+ "description": "Mobile Device Build number (Read-only)"
661+ },
662+ "defaultLanguage": {
663+ "type": "string",
664+ "description": "The default locale used on the Mobile Device (Read-only)"
665+ },
666+ "developerOptionsStatus": {
667+ "type": "boolean",
668+ "description": "Developer options enabled or disabled on device (Read-only)"
669+ },
670+ "deviceCompromisedStatus": {
671+ "type": "string",
672+ "description": "Mobile Device compromised status (Read-only)"
673+ },
674+ "deviceId": {
675+ "type": "string",
676+ "description": "Mobile Device serial number (Read-only)"
677+ },
678+ "email": {
679+ "type": "array",
680+ "description": "List of owner user's email addresses (Read-only)",
681+ "items": {
682+ "type": "string"
683+ }
684+ },
685+ "etag": {
686+ "type": "string",
687+ "description": "ETag of the resource."
688+ },
689+ "firstSync": {
690+ "type": "string",
691+ "description": "Date and time the device was first synchronized with the policy settings in the Google Apps administrator control panel (Read-only)",
692+ "format": "date-time"
693+ },
694+ "hardwareId": {
695+ "type": "string",
696+ "description": "Mobile Device Hardware Id (Read-only)"
697+ },
698+ "imei": {
699+ "type": "string",
700+ "description": "Mobile Device IMEI number (Read-only)"
701+ },
702+ "kernelVersion": {
703+ "type": "string",
704+ "description": "Mobile Device Kernel version (Read-only)"
705+ },
706+ "kind": {
707+ "type": "string",
708+ "description": "Kind of resource this is.",
709+ "default": "admin#directory#mobiledevice"
710+ },
711+ "lastSync": {
712+ "type": "string",
713+ "description": "Date and time the device was last synchronized with the policy settings in the Google Apps administrator control panel (Read-only)",
714+ "format": "date-time"
715+ },
716+ "managedAccountIsOnOwnerProfile": {
717+ "type": "boolean",
718+ "description": "Boolean indicating if this account is on owner/primary profile or not (Read-only)"
719+ },
720+ "meid": {
721+ "type": "string",
722+ "description": "Mobile Device MEID number (Read-only)"
723+ },
724+ "model": {
725+ "type": "string",
726+ "description": "Name of the model of the device"
727+ },
728+ "name": {
729+ "type": "array",
730+ "description": "List of owner user's names (Read-only)",
731+ "items": {
732+ "type": "string"
733+ }
734+ },
735+ "networkOperator": {
736+ "type": "string",
737+ "description": "Mobile Device mobile or network operator (if available) (Read-only)"
738+ },
739+ "os": {
740+ "type": "string",
741+ "description": "Name of the mobile operating system"
742+ },
743+ "otherAccountsInfo": {
744+ "type": "array",
745+ "description": "List of accounts added on device (Read-only)",
746+ "items": {
747+ "type": "string"
748+ }
749+ },
750+ "resourceId": {
751+ "type": "string",
752+ "description": "Unique identifier of Mobile Device (Read-only)"
753+ },
754+ "serialNumber": {
755+ "type": "string",
756+ "description": "Mobile Device SSN or Serial Number (Read-only)"
757+ },
758+ "status": {
759+ "type": "string",
760+ "description": "Status of the device (Read-only)"
761+ },
762+ "supportsWorkProfile": {
763+ "type": "boolean",
764+ "description": "Work profile supported on device (Read-only)"
765+ },
766+ "type": {
767+ "type": "string",
768+ "description": "The type of device (Read-only)"
769+ },
770+ "unknownSourcesStatus": {
771+ "type": "boolean",
772+ "description": "Unknown sources enabled or disabled on device (Read-only)"
773+ },
774+ "userAgent": {
775+ "type": "string",
776+ "description": "Mobile Device user agent"
777+ },
778+ "wifiMacAddress": {
779+ "type": "string",
780+ "description": "Mobile Device WiFi MAC address (Read-only)"
781+ }
782+ }
783+ },
784+ "MobileDeviceAction": {
785+ "id": "MobileDeviceAction",
786+ "type": "object",
787+ "description": "JSON request template for firing commands on Mobile Device in Directory Devices API.",
788+ "properties": {
789+ "action": {
790+ "type": "string",
791+ "description": "Action to be taken on the Mobile Device",
792+ "annotations": {
793+ "required": [
794+ "directory.mobiledevices.action"
795+ ]
796+ }
797+ }
798+ }
799+ },
800+ "MobileDevices": {
801+ "id": "MobileDevices",
802+ "type": "object",
803+ "description": "JSON response template for List Mobile Devices operation in Directory API.",
804+ "properties": {
805+ "etag": {
806+ "type": "string",
807+ "description": "ETag of the resource."
808+ },
809+ "kind": {
810+ "type": "string",
811+ "description": "Kind of resource this is.",
812+ "default": "admin#directory#mobiledevices"
813+ },
814+ "mobiledevices": {
815+ "type": "array",
816+ "description": "List of Mobile Device objects.",
817+ "items": {
818+ "$ref": "MobileDevice"
819+ }
820+ },
821+ "nextPageToken": {
822+ "type": "string",
823+ "description": "Token used to access next page of this result."
824+ }
825+ }
826+ },
827+ "Notification": {
828+ "id": "Notification",
829+ "type": "object",
830+ "description": "Template for a notification resource.",
831+ "properties": {
832+ "body": {
833+ "type": "string",
834+ "description": "Body of the notification (Read-only)"
835+ },
836+ "etag": {
837+ "type": "string",
838+ "description": "ETag of the resource."
839+ },
840+ "fromAddress": {
841+ "type": "string",
842+ "description": "Address from which the notification is received (Read-only)"
843+ },
844+ "isUnread": {
845+ "type": "boolean",
846+ "description": "Boolean indicating whether the notification is unread or not.",
847+ "annotations": {
848+ "required": [
849+ "directory.notifications.patch",
850+ "directory.notifications.update"
851+ ]
852+ }
853+ },
854+ "kind": {
855+ "type": "string",
856+ "description": "The type of the resource.",
857+ "default": "admin#directory#notification"
858+ },
859+ "notificationId": {
860+ "type": "string"
861+ },
862+ "sendTime": {
863+ "type": "string",
864+ "description": "Time at which notification was sent (Read-only)",
865+ "format": "date-time"
866+ },
867+ "subject": {
868+ "type": "string",
869+ "description": "Subject of the notification (Read-only)"
870+ }
871+ }
872+ },
873+ "Notifications": {
874+ "id": "Notifications",
875+ "type": "object",
876+ "description": "Template for notifications list response.",
877+ "properties": {
878+ "etag": {
879+ "type": "string",
880+ "description": "ETag of the resource."
881+ },
882+ "items": {
883+ "type": "array",
884+ "description": "List of notifications in this page.",
885+ "items": {
886+ "$ref": "Notification"
887+ }
888+ },
889+ "kind": {
890+ "type": "string",
891+ "description": "The type of the resource.",
892+ "default": "admin#directory#notifications"
893+ },
894+ "nextPageToken": {
895+ "type": "string",
896+ "description": "Token for fetching the next page of notifications."
897+ },
898+ "unreadNotificationsCount": {
899+ "type": "integer",
900+ "description": "Number of unread notification for the domain.",
901+ "format": "int32"
902+ }
903+ }
904+ },
905+ "OrgUnit": {
906+ "id": "OrgUnit",
907+ "type": "object",
908+ "description": "JSON template for Org Unit resource in Directory API.",
909+ "properties": {
910+ "blockInheritance": {
911+ "type": "boolean",
912+ "description": "Should block inheritance"
913+ },
914+ "description": {
915+ "type": "string",
916+ "description": "Description of OrgUnit"
917+ },
918+ "etag": {
919+ "type": "string",
920+ "description": "ETag of the resource."
921+ },
922+ "kind": {
923+ "type": "string",
924+ "description": "Kind of resource this is.",
925+ "default": "admin#directory#orgUnit"
926+ },
927+ "name": {
928+ "type": "string",
929+ "description": "Name of OrgUnit",
930+ "annotations": {
931+ "required": [
932+ "directory.orgunits.insert"
933+ ]
934+ }
935+ },
936+ "orgUnitId": {
937+ "type": "string",
938+ "description": "Id of OrgUnit"
939+ },
940+ "orgUnitPath": {
941+ "type": "string",
942+ "description": "Path of OrgUnit"
943+ },
944+ "parentOrgUnitId": {
945+ "type": "string",
946+ "description": "Id of parent OrgUnit"
947+ },
948+ "parentOrgUnitPath": {
949+ "type": "string",
950+ "description": "Path of parent OrgUnit"
951+ }
952+ }
953+ },
954+ "OrgUnits": {
955+ "id": "OrgUnits",
956+ "type": "object",
957+ "description": "JSON response template for List Organization Units operation in Directory API.",
958+ "properties": {
959+ "etag": {
960+ "type": "string",
961+ "description": "ETag of the resource."
962+ },
963+ "kind": {
964+ "type": "string",
965+ "description": "Kind of resource this is.",
966+ "default": "admin#directory#orgUnits"
967+ },
968+ "organizationUnits": {
969+ "type": "array",
970+ "description": "List of user objects.",
971+ "items": {
972+ "$ref": "OrgUnit"
973+ }
974+ }
975+ }
976+ },
977+ "Schema": {
978+ "id": "Schema",
979+ "type": "object",
980+ "description": "JSON template for Schema resource in Directory API.",
981+ "properties": {
982+ "etag": {
983+ "type": "string",
984+ "description": "ETag of the resource."
985+ },
986+ "fields": {
987+ "type": "array",
988+ "description": "Fields of Schema",
989+ "items": {
990+ "$ref": "SchemaFieldSpec"
991+ },
992+ "annotations": {
993+ "required": [
994+ "directory.schemas.insert",
995+ "directory.schemas.update"
996+ ]
997+ }
998+ },
999+ "kind": {
1000+ "type": "string",
1001+ "description": "Kind of resource this is.",
1002+ "default": "admin#directory#schema"
1003+ },
1004+ "schemaId": {
1005+ "type": "string",
1006+ "description": "Unique identifier of Schema (Read-only)"
1007+ },
1008+ "schemaName": {
1009+ "type": "string",
1010+ "description": "Schema name",
1011+ "annotations": {
1012+ "required": [
1013+ "directory.schemas.insert"
1014+ ]
1015+ }
1016+ }
1017+ }
1018+ },
1019+ "SchemaFieldSpec": {
1020+ "id": "SchemaFieldSpec",
1021+ "type": "object",
1022+ "description": "JSON template for FieldSpec resource for Schemas in Directory API.",
1023+ "properties": {
1024+ "etag": {
1025+ "type": "string",
1026+ "description": "ETag of the resource."
1027+ },
1028+ "fieldId": {
1029+ "type": "string",
1030+ "description": "Unique identifier of Field (Read-only)"
1031+ },
1032+ "fieldName": {
1033+ "type": "string",
1034+ "description": "Name of the field.",
1035+ "annotations": {
1036+ "required": [
1037+ "directory.schemas.insert",
1038+ "directory.schemas.update"
1039+ ]
1040+ }
1041+ },
1042+ "fieldType": {
1043+ "type": "string",
1044+ "description": "Type of the field.",
1045+ "annotations": {
1046+ "required": [
1047+ "directory.schemas.insert",
1048+ "directory.schemas.update"
1049+ ]
1050+ }
1051+ },
1052+ "indexed": {
1053+ "type": "boolean",
1054+ "description": "Boolean specifying whether the field is indexed or not.",
1055+ "default": "true"
1056+ },
1057+ "kind": {
1058+ "type": "string",
1059+ "description": "Kind of resource this is.",
1060+ "default": "admin#directory#schema#fieldspec"
1061+ },
1062+ "multiValued": {
1063+ "type": "boolean",
1064+ "description": "Boolean specifying whether this is a multi-valued field or not."
1065+ },
1066+ "numericIndexingSpec": {
1067+ "type": "object",
1068+ "description": "Indexing spec for a numeric field. By default, only exact match queries will be supported for numeric fields. Setting the numericIndexingSpec allows range queries to be supported.",
1069+ "properties": {
1070+ "maxValue": {
1071+ "type": "number",
1072+ "description": "Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.",
1073+ "format": "double"
1074+ },
1075+ "minValue": {
1076+ "type": "number",
1077+ "description": "Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.",
1078+ "format": "double"
1079+ }
1080+ }
1081+ },
1082+ "readAccessType": {
1083+ "type": "string",
1084+ "description": "Read ACLs on the field specifying who can view values of this field. Valid values are \"ALL_DOMAIN_USERS\" and \"ADMINS_AND_SELF\".",
1085+ "default": "ALL_DOMAIN_USERS"
1086+ }
1087+ }
1088+ },
1089+ "Schemas": {
1090+ "id": "Schemas",
1091+ "type": "object",
1092+ "description": "JSON response template for List Schema operation in Directory API.",
1093+ "properties": {
1094+ "etag": {
1095+ "type": "string",
1096+ "description": "ETag of the resource."
1097+ },
1098+ "kind": {
1099+ "type": "string",
1100+ "description": "Kind of resource this is.",
1101+ "default": "admin#directory#schemas"
1102+ },
1103+ "schemas": {
1104+ "type": "array",
1105+ "description": "List of UserSchema objects.",
1106+ "items": {
1107+ "$ref": "Schema"
1108+ }
1109+ }
1110+ }
1111+ },
1112+ "Token": {
1113+ "id": "Token",
1114+ "type": "object",
1115+ "description": "JSON template for token resource in Directory API.",
1116+ "properties": {
1117+ "anonymous": {
1118+ "type": "boolean",
1119+ "description": "Whether the application is registered with Google. The value is true if the application has an anonymous Client ID."
1120+ },
1121+ "clientId": {
1122+ "type": "string",
1123+ "description": "The Client ID of the application the token is issued to."
1124+ },
1125+ "displayText": {
1126+ "type": "string",
1127+ "description": "The displayable name of the application the token is issued to."
1128+ },
1129+ "etag": {
1130+ "type": "string",
1131+ "description": "ETag of the resource."
1132+ },
1133+ "kind": {
1134+ "type": "string",
1135+ "description": "The type of the API resource. This is always admin#directory#token.",
1136+ "default": "admin#directory#token"
1137+ },
1138+ "nativeApp": {
1139+ "type": "boolean",
1140+ "description": "Whether the token is issued to an installed application. The value is true if the application is installed to a desktop or mobile device."
1141+ },
1142+ "scopes": {
1143+ "type": "array",
1144+ "description": "A list of authorization scopes the application is granted.",
1145+ "items": {
1146+ "type": "string"
1147+ }
1148+ },
1149+ "userKey": {
1150+ "type": "string",
1151+ "description": "The unique ID of the user that issued the token."
1152+ }
1153+ }
1154+ },
1155+ "Tokens": {
1156+ "id": "Tokens",
1157+ "type": "object",
1158+ "description": "JSON response template for List tokens operation in Directory API.",
1159+ "properties": {
1160+ "etag": {
1161+ "type": "string",
1162+ "description": "ETag of the resource."
1163+ },
1164+ "items": {
1165+ "type": "array",
1166+ "description": "A list of Token resources.",
1167+ "items": {
1168+ "$ref": "Token"
1169+ }
1170+ },
1171+ "kind": {
1172+ "type": "string",
1173+ "description": "The type of the API resource. This is always admin#directory#tokenList.",
1174+ "default": "admin#directory#tokenList"
1175+ }
1176+ }
1177+ },
1178+ "User": {
1179+ "id": "User",
1180+ "type": "object",
1181+ "description": "JSON template for User object in Directory API.",
1182+ "properties": {
1183+ "addresses": {
1184+ "type": "any"
1185+ },
1186+ "agreedToTerms": {
1187+ "type": "boolean",
1188+ "description": "Indicates if user has agreed to terms (Read-only)"
1189+ },
1190+ "aliases": {
1191+ "type": "array",
1192+ "description": "List of aliases (Read-only)",
1193+ "items": {
1194+ "type": "string"
1195+ }
1196+ },
1197+ "changePasswordAtNextLogin": {
1198+ "type": "boolean",
1199+ "description": "Boolean indicating if the user should change password in next login"
1200+ },
1201+ "creationTime": {
1202+ "type": "string",
1203+ "description": "User's Google account creation time. (Read-only)",
1204+ "format": "date-time"
1205+ },
1206+ "customSchemas": {
1207+ "type": "object",
1208+ "description": "Custom fields of the user.",
1209+ "additionalProperties": {
1210+ "$ref": "UserCustomProperties"
1211+ }
1212+ },
1213+ "customerId": {
1214+ "type": "string",
1215+ "description": "CustomerId of User (Read-only)"
1216+ },
1217+ "deletionTime": {
1218+ "type": "string",
1219+ "format": "date-time"
1220+ },
1221+ "emails": {
1222+ "type": "any"
1223+ },
1224+ "etag": {
1225+ "type": "string",
1226+ "description": "ETag of the resource."
1227+ },
1228+ "externalIds": {
1229+ "type": "any"
1230+ },
1231+ "hashFunction": {
1232+ "type": "string",
1233+ "description": "Hash function name for password. Supported are MD5, SHA-1 and crypt"
1234+ },
1235+ "id": {
1236+ "type": "string",
1237+ "description": "Unique identifier of User (Read-only)"
1238+ },
1239+ "ims": {
1240+ "type": "any"
1241+ },
1242+ "includeInGlobalAddressList": {
1243+ "type": "boolean",
1244+ "description": "Boolean indicating if user is included in Global Address List"
1245+ },
1246+ "ipWhitelisted": {
1247+ "type": "boolean",
1248+ "description": "Boolean indicating if ip is whitelisted"
1249+ },
1250+ "isAdmin": {
1251+ "type": "boolean",
1252+ "description": "Boolean indicating if the user is admin (Read-only)"
1253+ },
1254+ "isDelegatedAdmin": {
1255+ "type": "boolean",
1256+ "description": "Boolean indicating if the user is delegated admin (Read-only)"
1257+ },
1258+ "isMailboxSetup": {
1259+ "type": "boolean",
1260+ "description": "Is mailbox setup (Read-only)"
1261+ },
1262+ "kind": {
1263+ "type": "string",
1264+ "description": "Kind of resource this is.",
1265+ "default": "admin#directory#user"
1266+ },
1267+ "lastLoginTime": {
1268+ "type": "string",
1269+ "description": "User's last login time. (Read-only)",
1270+ "format": "date-time"
1271+ },
1272+ "name": {
1273+ "$ref": "UserName",
1274+ "description": "User's name",
1275+ "annotations": {
1276+ "required": [
1277+ "directory.users.insert"
1278+ ]
1279+ }
1280+ },
1281+ "nonEditableAliases": {
1282+ "type": "array",
1283+ "description": "List of non editable aliases (Read-only)",
1284+ "items": {
1285+ "type": "string"
1286+ }
1287+ },
1288+ "notes": {
1289+ "type": "any"
1290+ },
1291+ "orgUnitPath": {
1292+ "type": "string",
1293+ "description": "OrgUnit of User"
1294+ },
1295+ "organizations": {
1296+ "type": "any"
1297+ },
1298+ "password": {
1299+ "type": "string",
1300+ "description": "User's password",
1301+ "annotations": {
1302+ "required": [
1303+ "directory.users.insert"
1304+ ]
1305+ }
1306+ },
1307+ "phones": {
1308+ "type": "any"
1309+ },
1310+ "primaryEmail": {
1311+ "type": "string",
1312+ "description": "username of User",
1313+ "annotations": {
1314+ "required": [
1315+ "directory.users.insert"
1316+ ]
1317+ }
1318+ },
1319+ "relations": {
1320+ "type": "any"
1321+ },
1322+ "suspended": {
1323+ "type": "boolean",
1324+ "description": "Indicates if user is suspended"
1325+ },
1326+ "suspensionReason": {
1327+ "type": "string",
1328+ "description": "Suspension reason if user is suspended (Read-only)"
1329+ },
1330+ "thumbnailPhotoEtag": {
1331+ "type": "string",
1332+ "description": "ETag of the user's photo (Read-only)"
1333+ },
1334+ "thumbnailPhotoUrl": {
1335+ "type": "string",
1336+ "description": "Photo Url of the user (Read-only)"
1337+ },
1338+ "websites": {
1339+ "type": "any"
1340+ }
1341+ }
1342+ },
1343+ "UserAbout": {
1344+ "id": "UserAbout",
1345+ "type": "object",
1346+ "description": "JSON template for About (notes) of a user in Directory API.",
1347+ "properties": {
1348+ "contentType": {
1349+ "type": "string",
1350+ "description": "About entry can have a type which indicates the content type. It can either be plain or html. By default, notes contents are assumed to contain plain text."
1351+ },
1352+ "value": {
1353+ "type": "string",
1354+ "description": "Actual value of notes."
1355+ }
1356+ }
1357+ },
1358+ "UserAddress": {
1359+ "id": "UserAddress",
1360+ "type": "object",
1361+ "description": "JSON template for address.",
1362+ "properties": {
1363+ "country": {
1364+ "type": "string",
1365+ "description": "Country."
1366+ },
1367+ "countryCode": {
1368+ "type": "string",
1369+ "description": "Country code."
1370+ },
1371+ "customType": {
1372+ "type": "string",
1373+ "description": "Custom type."
1374+ },
1375+ "extendedAddress": {
1376+ "type": "string",
1377+ "description": "Extended Address."
1378+ },
1379+ "formatted": {
1380+ "type": "string",
1381+ "description": "Formatted address."
1382+ },
1383+ "locality": {
1384+ "type": "string",
1385+ "description": "Locality."
1386+ },
1387+ "poBox": {
1388+ "type": "string",
1389+ "description": "Other parts of address."
1390+ },
1391+ "postalCode": {
1392+ "type": "string",
1393+ "description": "Postal code."
1394+ },
1395+ "primary": {
1396+ "type": "boolean",
1397+ "description": "If this is user's primary address. Only one entry could be marked as primary."
1398+ },
1399+ "region": {
1400+ "type": "string",
1401+ "description": "Region."
1402+ },
1403+ "sourceIsStructured": {
1404+ "type": "boolean",
1405+ "description": "User supplied address was structured. Structured addresses are NOT supported at this time. You might be able to write structured addresses, but any values will eventually be clobbered."
1406+ },
1407+ "streetAddress": {
1408+ "type": "string",
1409+ "description": "Street."
1410+ },
1411+ "type": {
1412+ "type": "string",
1413+ "description": "Each entry can have a type which indicates standard values of that entry. For example address could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value. Such type should have the CUSTOM value as type and also have a customType value."
1414+ }
1415+ }
1416+ },
1417+ "UserCustomProperties": {
1418+ "id": "UserCustomProperties",
1419+ "type": "object",
1420+ "description": "JSON template for a set of custom properties (i.e. all fields in a particular schema)",
1421+ "additionalProperties": {
1422+ "type": "any"
1423+ }
1424+ },
1425+ "UserEmail": {
1426+ "id": "UserEmail",
1427+ "type": "object",
1428+ "description": "JSON template for an email.",
1429+ "properties": {
1430+ "address": {
1431+ "type": "string",
1432+ "description": "Email id of the user."
1433+ },
1434+ "customType": {
1435+ "type": "string",
1436+ "description": "Custom Type."
1437+ },
1438+ "primary": {
1439+ "type": "boolean",
1440+ "description": "If this is user's primary email. Only one entry could be marked as primary."
1441+ },
1442+ "type": {
1443+ "type": "string",
1444+ "description": "Each entry can have a type which indicates standard types of that entry. For example email could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value Such types should have the CUSTOM value as type and also have a customType value."
1445+ }
1446+ }
1447+ },
1448+ "UserExternalId": {
1449+ "id": "UserExternalId",
1450+ "type": "object",
1451+ "description": "JSON template for an externalId entry.",
1452+ "properties": {
1453+ "customType": {
1454+ "type": "string",
1455+ "description": "Custom type."
1456+ },
1457+ "type": {
1458+ "type": "string",
1459+ "description": "The type of the Id."
1460+ },
1461+ "value": {
1462+ "type": "string",
1463+ "description": "The value of the id."
1464+ }
1465+ }
1466+ },
1467+ "UserIm": {
1468+ "id": "UserIm",
1469+ "type": "object",
1470+ "description": "JSON template for instant messenger of an user.",
1471+ "properties": {
1472+ "customProtocol": {
1473+ "type": "string",
1474+ "description": "Custom protocol."
1475+ },
1476+ "customType": {
1477+ "type": "string",
1478+ "description": "Custom type."
1479+ },
1480+ "im": {
1481+ "type": "string",
1482+ "description": "Instant messenger id."
1483+ },
1484+ "primary": {
1485+ "type": "boolean",
1486+ "description": "If this is user's primary im. Only one entry could be marked as primary."
1487+ },
1488+ "protocol": {
1489+ "type": "string",
1490+ "description": "Protocol used in the instant messenger. It should be one of the values from ImProtocolTypes map. Similar to type, it can take a CUSTOM value and specify the custom name in customProtocol field."
1491+ },
1492+ "type": {
1493+ "type": "string",
1494+ "description": "Each entry can have a type which indicates standard types of that entry. For example instant messengers could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value. Such types should have the CUSTOM value as type and also have a customType value."
1495+ }
1496+ }
1497+ },
1498+ "UserMakeAdmin": {
1499+ "id": "UserMakeAdmin",
1500+ "type": "object",
1501+ "description": "JSON request template for setting/revoking admin status of a user in Directory API.",
1502+ "properties": {
1503+ "status": {
1504+ "type": "boolean",
1505+ "description": "Boolean indicating new admin status of the user",
1506+ "annotations": {
1507+ "required": [
1508+ "directory.users.makeAdmin"
1509+ ]
1510+ }
1511+ }
1512+ }
1513+ },
1514+ "UserName": {
1515+ "id": "UserName",
1516+ "type": "object",
1517+ "description": "JSON template for name of a user in Directory API.",
1518+ "properties": {
1519+ "familyName": {
1520+ "type": "string",
1521+ "description": "Last Name",
1522+ "annotations": {
1523+ "required": [
1524+ "directory.users.insert"
1525+ ]
1526+ }
1527+ },
1528+ "fullName": {
1529+ "type": "string",
1530+ "description": "Full Name"
1531+ },
1532+ "givenName": {
1533+ "type": "string",
1534+ "description": "First Name",
1535+ "annotations": {
1536+ "required": [
1537+ "directory.users.insert"
1538+ ]
1539+ }
1540+ }
1541+ }
1542+ },
1543+ "UserOrganization": {
1544+ "id": "UserOrganization",
1545+ "type": "object",
1546+ "description": "JSON template for an organization entry.",
1547+ "properties": {
1548+ "costCenter": {
1549+ "type": "string",
1550+ "description": "The cost center of the users department."
1551+ },
1552+ "customType": {
1553+ "type": "string",
1554+ "description": "Custom type."
1555+ },
1556+ "department": {
1557+ "type": "string",
1558+ "description": "Department within the organization."
1559+ },
1560+ "description": {
1561+ "type": "string",
1562+ "description": "Description of the organization."
1563+ },
1564+ "domain": {
1565+ "type": "string",
1566+ "description": "The domain to which the organization belongs to."
1567+ },
1568+ "location": {
1569+ "type": "string",
1570+ "description": "Location of the organization. This need not be fully qualified address."
1571+ },
1572+ "name": {
1573+ "type": "string",
1574+ "description": "Name of the organization"
1575+ },
1576+ "primary": {
1577+ "type": "boolean",
1578+ "description": "If it user's primary organization."
1579+ },
1580+ "symbol": {
1581+ "type": "string",
1582+ "description": "Symbol of the organization."
1583+ },
1584+ "title": {
1585+ "type": "string",
1586+ "description": "Title (designation) of the user in the organization."
1587+ },
1588+ "type": {
1589+ "type": "string",
1590+ "description": "Each entry can have a type which indicates standard types of that entry. For example organization could be of school, work etc. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a CustomType value."
1591+ }
1592+ }
1593+ },
1594+ "UserPhone": {
1595+ "id": "UserPhone",
1596+ "type": "object",
1597+ "description": "JSON template for a phone entry.",
1598+ "properties": {
1599+ "customType": {
1600+ "type": "string",
1601+ "description": "Custom Type."
1602+ },
1603+ "primary": {
1604+ "type": "boolean",
1605+ "description": "If this is user's primary phone or not."
1606+ },
1607+ "type": {
1608+ "type": "string",
1609+ "description": "Each entry can have a type which indicates standard types of that entry. For example phone could be of home_fax, work, mobile etc. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value."
1610+ },
1611+ "value": {
1612+ "type": "string",
1613+ "description": "Phone number."
1614+ }
1615+ }
1616+ },
1617+ "UserPhoto": {
1618+ "id": "UserPhoto",
1619+ "type": "object",
1620+ "description": "JSON template for Photo object in Directory API.",
1621+ "properties": {
1622+ "etag": {
1623+ "type": "string",
1624+ "description": "ETag of the resource."
1625+ },
1626+ "height": {
1627+ "type": "integer",
1628+ "description": "Height in pixels of the photo",
1629+ "format": "int32"
1630+ },
1631+ "id": {
1632+ "type": "string",
1633+ "description": "Unique identifier of User (Read-only)"
1634+ },
1635+ "kind": {
1636+ "type": "string",
1637+ "description": "Kind of resource this is.",
1638+ "default": "admin#directory#user#photo"
1639+ },
1640+ "mimeType": {
1641+ "type": "string",
1642+ "description": "Mime Type of the photo"
1643+ },
1644+ "photoData": {
1645+ "type": "string",
1646+ "description": "Base64 encoded photo data",
1647+ "format": "byte",
1648+ "annotations": {
1649+ "required": [
1650+ "directory.users.photos.update"
1651+ ]
1652+ }
1653+ },
1654+ "primaryEmail": {
1655+ "type": "string",
1656+ "description": "Primary email of User (Read-only)"
1657+ },
1658+ "width": {
1659+ "type": "integer",
1660+ "description": "Width in pixels of the photo",
1661+ "format": "int32"
1662+ }
1663+ }
1664+ },
1665+ "UserRelation": {
1666+ "id": "UserRelation",
1667+ "type": "object",
1668+ "description": "JSON template for a relation entry.",
1669+ "properties": {
1670+ "customType": {
1671+ "type": "string",
1672+ "description": "Custom Type."
1673+ },
1674+ "type": {
1675+ "type": "string",
1676+ "description": "The relation of the user. Some of the possible values are mother, father, sister, brother, manager, assistant, partner."
1677+ },
1678+ "value": {
1679+ "type": "string",
1680+ "description": "The name of the relation."
1681+ }
1682+ }
1683+ },
1684+ "UserUndelete": {
1685+ "id": "UserUndelete",
1686+ "type": "object",
1687+ "description": "JSON request template to undelete a user in Directory API.",
1688+ "properties": {
1689+ "orgUnitPath": {
1690+ "type": "string",
1691+ "description": "OrgUnit of User"
1692+ }
1693+ }
1694+ },
1695+ "UserWebsite": {
1696+ "id": "UserWebsite",
1697+ "type": "object",
1698+ "description": "JSON template for a website entry.",
1699+ "properties": {
1700+ "customType": {
1701+ "type": "string",
1702+ "description": "Custom Type."
1703+ },
1704+ "primary": {
1705+ "type": "boolean",
1706+ "description": "If this is user's primary website or not."
1707+ },
1708+ "type": {
1709+ "type": "string",
1710+ "description": "Each entry can have a type which indicates standard types of that entry. For example website could be of home, work, blog etc. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value."
1711+ },
1712+ "value": {
1713+ "type": "string",
1714+ "description": "Website."
1715+ }
1716+ }
1717+ },
1718+ "Users": {
1719+ "id": "Users",
1720+ "type": "object",
1721+ "description": "JSON response template for List Users operation in Apps Directory API.",
1722+ "properties": {
1723+ "etag": {
1724+ "type": "string",
1725+ "description": "ETag of the resource."
1726+ },
1727+ "kind": {
1728+ "type": "string",
1729+ "description": "Kind of resource this is.",
1730+ "default": "admin#directory#users"
1731+ },
1732+ "nextPageToken": {
1733+ "type": "string",
1734+ "description": "Token used to access next page of this result."
1735+ },
1736+ "trigger_event": {
1737+ "type": "string",
1738+ "description": "Event that triggered this response (only used in case of Push Response)"
1739+ },
1740+ "users": {
1741+ "type": "array",
1742+ "description": "List of user objects.",
1743+ "items": {
1744+ "$ref": "User"
1745+ }
1746+ }
1747+ }
1748+ },
1749+ "VerificationCode": {
1750+ "id": "VerificationCode",
1751+ "type": "object",
1752+ "description": "JSON template for verification codes in Directory API.",
1753+ "properties": {
1754+ "etag": {
1755+ "type": "string",
1756+ "description": "ETag of the resource."
1757+ },
1758+ "kind": {
1759+ "type": "string",
1760+ "description": "The type of the resource. This is always admin#directory#verificationCode.",
1761+ "default": "admin#directory#verificationCode"
1762+ },
1763+ "userId": {
1764+ "type": "string",
1765+ "description": "The obfuscated unique ID of the user."
1766+ },
1767+ "verificationCode": {
1768+ "type": "string",
1769+ "description": "A current verification code for the user. Invalidated or used verification codes are not returned as part of the result."
1770+ }
1771+ }
1772+ },
1773+ "VerificationCodes": {
1774+ "id": "VerificationCodes",
1775+ "type": "object",
1776+ "description": "JSON response template for List verification codes operation in Directory API.",
1777+ "properties": {
1778+ "etag": {
1779+ "type": "string",
1780+ "description": "ETag of the resource."
1781+ },
1782+ "items": {
1783+ "type": "array",
1784+ "description": "A list of verification code resources.",
1785+ "items": {
1786+ "$ref": "VerificationCode"
1787+ }
1788+ },
1789+ "kind": {
1790+ "type": "string",
1791+ "description": "The type of the resource. This is always admin#directory#verificationCodesList.",
1792+ "default": "admin#directory#verificationCodesList"
1793+ }
1794+ }
1795+ }
1796+ },
1797+ "resources": {
1798+ "asps": {
1799+ "methods": {
1800+ "delete": {
1801+ "id": "directory.asps.delete",
1802+ "path": "users/{userKey}/asps/{codeId}",
1803+ "httpMethod": "DELETE",
1804+ "description": "Delete an ASP issued by a user.",
1805+ "parameters": {
1806+ "codeId": {
1807+ "type": "integer",
1808+ "description": "The unique ID of the ASP to be deleted.",
1809+ "required": true,
1810+ "format": "int32",
1811+ "location": "path"
1812+ },
1813+ "userKey": {
1814+ "type": "string",
1815+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
1816+ "required": true,
1817+ "location": "path"
1818+ }
1819+ },
1820+ "parameterOrder": [
1821+ "userKey",
1822+ "codeId"
1823+ ],
1824+ "scopes": [
1825+ "https://www.googleapis.com/auth/admin.directory.user.security"
1826+ ]
1827+ },
1828+ "get": {
1829+ "id": "directory.asps.get",
1830+ "path": "users/{userKey}/asps/{codeId}",
1831+ "httpMethod": "GET",
1832+ "description": "Get information about an ASP issued by a user.",
1833+ "parameters": {
1834+ "codeId": {
1835+ "type": "integer",
1836+ "description": "The unique ID of the ASP.",
1837+ "required": true,
1838+ "format": "int32",
1839+ "location": "path"
1840+ },
1841+ "userKey": {
1842+ "type": "string",
1843+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
1844+ "required": true,
1845+ "location": "path"
1846+ }
1847+ },
1848+ "parameterOrder": [
1849+ "userKey",
1850+ "codeId"
1851+ ],
1852+ "response": {
1853+ "$ref": "Asp"
1854+ },
1855+ "scopes": [
1856+ "https://www.googleapis.com/auth/admin.directory.user.security"
1857+ ]
1858+ },
1859+ "list": {
1860+ "id": "directory.asps.list",
1861+ "path": "users/{userKey}/asps",
1862+ "httpMethod": "GET",
1863+ "description": "List the ASPs issued by a user.",
1864+ "parameters": {
1865+ "userKey": {
1866+ "type": "string",
1867+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
1868+ "required": true,
1869+ "location": "path"
1870+ }
1871+ },
1872+ "parameterOrder": [
1873+ "userKey"
1874+ ],
1875+ "response": {
1876+ "$ref": "Asps"
1877+ },
1878+ "scopes": [
1879+ "https://www.googleapis.com/auth/admin.directory.user.security"
1880+ ]
1881+ }
1882+ }
1883+ },
1884+ "channels": {
1885+ "methods": {
1886+ "stop": {
1887+ "id": "admin.channels.stop",
1888+ "path": "/admin/directory_v1/channels/stop",
1889+ "httpMethod": "POST",
1890+ "description": "Stop watching resources through this channel",
1891+ "request": {
1892+ "$ref": "Channel",
1893+ "parameterName": "resource"
1894+ },
1895+ "scopes": [
1896+ "https://www.googleapis.com/auth/admin.directory.user",
1897+ "https://www.googleapis.com/auth/admin.directory.user.alias",
1898+ "https://www.googleapis.com/auth/admin.directory.user.alias.readonly",
1899+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
1900+ ]
1901+ }
1902+ }
1903+ },
1904+ "chromeosdevices": {
1905+ "methods": {
1906+ "get": {
1907+ "id": "directory.chromeosdevices.get",
1908+ "path": "customer/{customerId}/devices/chromeos/{deviceId}",
1909+ "httpMethod": "GET",
1910+ "description": "Retrieve Chrome OS Device",
1911+ "parameters": {
1912+ "customerId": {
1913+ "type": "string",
1914+ "description": "Immutable id of the Google Apps account",
1915+ "required": true,
1916+ "location": "path"
1917+ },
1918+ "deviceId": {
1919+ "type": "string",
1920+ "description": "Immutable id of Chrome OS Device",
1921+ "required": true,
1922+ "location": "path"
1923+ },
1924+ "projection": {
1925+ "type": "string",
1926+ "description": "Restrict information returned to a set of selected fields.",
1927+ "enum": [
1928+ "BASIC",
1929+ "FULL"
1930+ ],
1931+ "enumDescriptions": [
1932+ "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)",
1933+ "Includes all metadata fields"
1934+ ],
1935+ "location": "query"
1936+ }
1937+ },
1938+ "parameterOrder": [
1939+ "customerId",
1940+ "deviceId"
1941+ ],
1942+ "response": {
1943+ "$ref": "ChromeOsDevice"
1944+ },
1945+ "scopes": [
1946+ "https://www.googleapis.com/auth/admin.directory.device.chromeos",
1947+ "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"
1948+ ]
1949+ },
1950+ "list": {
1951+ "id": "directory.chromeosdevices.list",
1952+ "path": "customer/{customerId}/devices/chromeos",
1953+ "httpMethod": "GET",
1954+ "description": "Retrieve all Chrome OS Devices of a customer (paginated)",
1955+ "parameters": {
1956+ "customerId": {
1957+ "type": "string",
1958+ "description": "Immutable id of the Google Apps account",
1959+ "required": true,
1960+ "location": "path"
1961+ },
1962+ "maxResults": {
1963+ "type": "integer",
1964+ "description": "Maximum number of results to return. Default is 100",
1965+ "format": "int32",
1966+ "minimum": "1",
1967+ "location": "query"
1968+ },
1969+ "orderBy": {
1970+ "type": "string",
1971+ "description": "Column to use for sorting results",
1972+ "enum": [
1973+ "annotatedLocation",
1974+ "annotatedUser",
1975+ "lastSync",
1976+ "notes",
1977+ "serialNumber",
1978+ "status",
1979+ "supportEndDate"
1980+ ],
1981+ "enumDescriptions": [
1982+ "Chromebook location as annotated by the administrator.",
1983+ "Chromebook user as annotated by administrator.",
1984+ "Chromebook last sync.",
1985+ "Chromebook notes as annotated by the administrator.",
1986+ "Chromebook Serial Number.",
1987+ "Chromebook status.",
1988+ "Chromebook support end date."
1989+ ],
1990+ "location": "query"
1991+ },
1992+ "pageToken": {
1993+ "type": "string",
1994+ "description": "Token to specify next page in the list",
1995+ "location": "query"
1996+ },
1997+ "projection": {
1998+ "type": "string",
1999+ "description": "Restrict information returned to a set of selected fields.",
2000+ "enum": [
2001+ "BASIC",
2002+ "FULL"
2003+ ],
2004+ "enumDescriptions": [
2005+ "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)",
2006+ "Includes all metadata fields"
2007+ ],
2008+ "location": "query"
2009+ },
2010+ "query": {
2011+ "type": "string",
2012+ "description": "Search string in the format given at http://support.google.com/chromeos/a/bin/answer.py?hl=en&answer=1698333",
2013+ "location": "query"
2014+ },
2015+ "sortOrder": {
2016+ "type": "string",
2017+ "description": "Whether to return results in ascending or descending order. Only of use when orderBy is also used",
2018+ "enum": [
2019+ "ASCENDING",
2020+ "DESCENDING"
2021+ ],
2022+ "enumDescriptions": [
2023+ "Ascending order.",
2024+ "Descending order."
2025+ ],
2026+ "location": "query"
2027+ }
2028+ },
2029+ "parameterOrder": [
2030+ "customerId"
2031+ ],
2032+ "response": {
2033+ "$ref": "ChromeOsDevices"
2034+ },
2035+ "scopes": [
2036+ "https://www.googleapis.com/auth/admin.directory.device.chromeos",
2037+ "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"
2038+ ]
2039+ },
2040+ "patch": {
2041+ "id": "directory.chromeosdevices.patch",
2042+ "path": "customer/{customerId}/devices/chromeos/{deviceId}",
2043+ "httpMethod": "PATCH",
2044+ "description": "Update Chrome OS Device. This method supports patch semantics.",
2045+ "parameters": {
2046+ "customerId": {
2047+ "type": "string",
2048+ "description": "Immutable id of the Google Apps account",
2049+ "required": true,
2050+ "location": "path"
2051+ },
2052+ "deviceId": {
2053+ "type": "string",
2054+ "description": "Immutable id of Chrome OS Device",
2055+ "required": true,
2056+ "location": "path"
2057+ },
2058+ "projection": {
2059+ "type": "string",
2060+ "description": "Restrict information returned to a set of selected fields.",
2061+ "enum": [
2062+ "BASIC",
2063+ "FULL"
2064+ ],
2065+ "enumDescriptions": [
2066+ "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)",
2067+ "Includes all metadata fields"
2068+ ],
2069+ "location": "query"
2070+ }
2071+ },
2072+ "parameterOrder": [
2073+ "customerId",
2074+ "deviceId"
2075+ ],
2076+ "request": {
2077+ "$ref": "ChromeOsDevice"
2078+ },
2079+ "response": {
2080+ "$ref": "ChromeOsDevice"
2081+ },
2082+ "scopes": [
2083+ "https://www.googleapis.com/auth/admin.directory.device.chromeos"
2084+ ]
2085+ },
2086+ "update": {
2087+ "id": "directory.chromeosdevices.update",
2088+ "path": "customer/{customerId}/devices/chromeos/{deviceId}",
2089+ "httpMethod": "PUT",
2090+ "description": "Update Chrome OS Device",
2091+ "parameters": {
2092+ "customerId": {
2093+ "type": "string",
2094+ "description": "Immutable id of the Google Apps account",
2095+ "required": true,
2096+ "location": "path"
2097+ },
2098+ "deviceId": {
2099+ "type": "string",
2100+ "description": "Immutable id of Chrome OS Device",
2101+ "required": true,
2102+ "location": "path"
2103+ },
2104+ "projection": {
2105+ "type": "string",
2106+ "description": "Restrict information returned to a set of selected fields.",
2107+ "enum": [
2108+ "BASIC",
2109+ "FULL"
2110+ ],
2111+ "enumDescriptions": [
2112+ "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)",
2113+ "Includes all metadata fields"
2114+ ],
2115+ "location": "query"
2116+ }
2117+ },
2118+ "parameterOrder": [
2119+ "customerId",
2120+ "deviceId"
2121+ ],
2122+ "request": {
2123+ "$ref": "ChromeOsDevice"
2124+ },
2125+ "response": {
2126+ "$ref": "ChromeOsDevice"
2127+ },
2128+ "scopes": [
2129+ "https://www.googleapis.com/auth/admin.directory.device.chromeos"
2130+ ]
2131+ }
2132+ }
2133+ },
2134+ "groups": {
2135+ "methods": {
2136+ "delete": {
2137+ "id": "directory.groups.delete",
2138+ "path": "groups/{groupKey}",
2139+ "httpMethod": "DELETE",
2140+ "description": "Delete Group",
2141+ "parameters": {
2142+ "groupKey": {
2143+ "type": "string",
2144+ "description": "Email or immutable Id of the group",
2145+ "required": true,
2146+ "location": "path"
2147+ }
2148+ },
2149+ "parameterOrder": [
2150+ "groupKey"
2151+ ],
2152+ "scopes": [
2153+ "https://www.googleapis.com/auth/admin.directory.group"
2154+ ]
2155+ },
2156+ "get": {
2157+ "id": "directory.groups.get",
2158+ "path": "groups/{groupKey}",
2159+ "httpMethod": "GET",
2160+ "description": "Retrieve Group",
2161+ "parameters": {
2162+ "groupKey": {
2163+ "type": "string",
2164+ "description": "Email or immutable Id of the group",
2165+ "required": true,
2166+ "location": "path"
2167+ }
2168+ },
2169+ "parameterOrder": [
2170+ "groupKey"
2171+ ],
2172+ "response": {
2173+ "$ref": "Group"
2174+ },
2175+ "scopes": [
2176+ "https://www.googleapis.com/auth/admin.directory.group",
2177+ "https://www.googleapis.com/auth/admin.directory.group.readonly"
2178+ ]
2179+ },
2180+ "insert": {
2181+ "id": "directory.groups.insert",
2182+ "path": "groups",
2183+ "httpMethod": "POST",
2184+ "description": "Create Group",
2185+ "request": {
2186+ "$ref": "Group"
2187+ },
2188+ "response": {
2189+ "$ref": "Group"
2190+ },
2191+ "scopes": [
2192+ "https://www.googleapis.com/auth/admin.directory.group"
2193+ ]
2194+ },
2195+ "list": {
2196+ "id": "directory.groups.list",
2197+ "path": "groups",
2198+ "httpMethod": "GET",
2199+ "description": "Retrieve all groups in a domain (paginated)",
2200+ "parameters": {
2201+ "customer": {
2202+ "type": "string",
2203+ "description": "Immutable id of the Google Apps account. In case of multi-domain, to fetch all groups for a customer, fill this field instead of domain.",
2204+ "location": "query"
2205+ },
2206+ "domain": {
2207+ "type": "string",
2208+ "description": "Name of the domain. Fill this field to get groups from only this domain. To return all groups in a multi-domain fill customer field instead.",
2209+ "location": "query"
2210+ },
2211+ "maxResults": {
2212+ "type": "integer",
2213+ "description": "Maximum number of results to return. Default is 200",
2214+ "format": "int32",
2215+ "minimum": "1",
2216+ "location": "query"
2217+ },
2218+ "pageToken": {
2219+ "type": "string",
2220+ "description": "Token to specify next page in the list",
2221+ "location": "query"
2222+ },
2223+ "userKey": {
2224+ "type": "string",
2225+ "description": "Email or immutable Id of the user if only those groups are to be listed, the given user is a member of. If Id, it should match with id of user object",
2226+ "location": "query"
2227+ }
2228+ },
2229+ "response": {
2230+ "$ref": "Groups"
2231+ },
2232+ "scopes": [
2233+ "https://www.googleapis.com/auth/admin.directory.group",
2234+ "https://www.googleapis.com/auth/admin.directory.group.readonly"
2235+ ]
2236+ },
2237+ "patch": {
2238+ "id": "directory.groups.patch",
2239+ "path": "groups/{groupKey}",
2240+ "httpMethod": "PATCH",
2241+ "description": "Update Group. This method supports patch semantics.",
2242+ "parameters": {
2243+ "groupKey": {
2244+ "type": "string",
2245+ "description": "Email or immutable Id of the group. If Id, it should match with id of group object",
2246+ "required": true,
2247+ "location": "path"
2248+ }
2249+ },
2250+ "parameterOrder": [
2251+ "groupKey"
2252+ ],
2253+ "request": {
2254+ "$ref": "Group"
2255+ },
2256+ "response": {
2257+ "$ref": "Group"
2258+ },
2259+ "scopes": [
2260+ "https://www.googleapis.com/auth/admin.directory.group"
2261+ ]
2262+ },
2263+ "update": {
2264+ "id": "directory.groups.update",
2265+ "path": "groups/{groupKey}",
2266+ "httpMethod": "PUT",
2267+ "description": "Update Group",
2268+ "parameters": {
2269+ "groupKey": {
2270+ "type": "string",
2271+ "description": "Email or immutable Id of the group. If Id, it should match with id of group object",
2272+ "required": true,
2273+ "location": "path"
2274+ }
2275+ },
2276+ "parameterOrder": [
2277+ "groupKey"
2278+ ],
2279+ "request": {
2280+ "$ref": "Group"
2281+ },
2282+ "response": {
2283+ "$ref": "Group"
2284+ },
2285+ "scopes": [
2286+ "https://www.googleapis.com/auth/admin.directory.group"
2287+ ]
2288+ }
2289+ },
2290+ "resources": {
2291+ "aliases": {
2292+ "methods": {
2293+ "delete": {
2294+ "id": "directory.groups.aliases.delete",
2295+ "path": "groups/{groupKey}/aliases/{alias}",
2296+ "httpMethod": "DELETE",
2297+ "description": "Remove a alias for the group",
2298+ "parameters": {
2299+ "alias": {
2300+ "type": "string",
2301+ "description": "The alias to be removed",
2302+ "required": true,
2303+ "location": "path"
2304+ },
2305+ "groupKey": {
2306+ "type": "string",
2307+ "description": "Email or immutable Id of the group",
2308+ "required": true,
2309+ "location": "path"
2310+ }
2311+ },
2312+ "parameterOrder": [
2313+ "groupKey",
2314+ "alias"
2315+ ],
2316+ "scopes": [
2317+ "https://www.googleapis.com/auth/admin.directory.group"
2318+ ]
2319+ },
2320+ "insert": {
2321+ "id": "directory.groups.aliases.insert",
2322+ "path": "groups/{groupKey}/aliases",
2323+ "httpMethod": "POST",
2324+ "description": "Add a alias for the group",
2325+ "parameters": {
2326+ "groupKey": {
2327+ "type": "string",
2328+ "description": "Email or immutable Id of the group",
2329+ "required": true,
2330+ "location": "path"
2331+ }
2332+ },
2333+ "parameterOrder": [
2334+ "groupKey"
2335+ ],
2336+ "request": {
2337+ "$ref": "Alias"
2338+ },
2339+ "response": {
2340+ "$ref": "Alias"
2341+ },
2342+ "scopes": [
2343+ "https://www.googleapis.com/auth/admin.directory.group"
2344+ ]
2345+ },
2346+ "list": {
2347+ "id": "directory.groups.aliases.list",
2348+ "path": "groups/{groupKey}/aliases",
2349+ "httpMethod": "GET",
2350+ "description": "List all aliases for a group",
2351+ "parameters": {
2352+ "groupKey": {
2353+ "type": "string",
2354+ "description": "Email or immutable Id of the group",
2355+ "required": true,
2356+ "location": "path"
2357+ }
2358+ },
2359+ "parameterOrder": [
2360+ "groupKey"
2361+ ],
2362+ "response": {
2363+ "$ref": "Aliases"
2364+ },
2365+ "scopes": [
2366+ "https://www.googleapis.com/auth/admin.directory.group",
2367+ "https://www.googleapis.com/auth/admin.directory.group.readonly"
2368+ ],
2369+ "supportsSubscription": true
2370+ }
2371+ }
2372+ }
2373+ }
2374+ },
2375+ "members": {
2376+ "methods": {
2377+ "delete": {
2378+ "id": "directory.members.delete",
2379+ "path": "groups/{groupKey}/members/{memberKey}",
2380+ "httpMethod": "DELETE",
2381+ "description": "Remove membership.",
2382+ "parameters": {
2383+ "groupKey": {
2384+ "type": "string",
2385+ "description": "Email or immutable Id of the group",
2386+ "required": true,
2387+ "location": "path"
2388+ },
2389+ "memberKey": {
2390+ "type": "string",
2391+ "description": "Email or immutable Id of the member",
2392+ "required": true,
2393+ "location": "path"
2394+ }
2395+ },
2396+ "parameterOrder": [
2397+ "groupKey",
2398+ "memberKey"
2399+ ],
2400+ "scopes": [
2401+ "https://www.googleapis.com/auth/admin.directory.group",
2402+ "https://www.googleapis.com/auth/admin.directory.group.member"
2403+ ]
2404+ },
2405+ "get": {
2406+ "id": "directory.members.get",
2407+ "path": "groups/{groupKey}/members/{memberKey}",
2408+ "httpMethod": "GET",
2409+ "description": "Retrieve Group Member",
2410+ "parameters": {
2411+ "groupKey": {
2412+ "type": "string",
2413+ "description": "Email or immutable Id of the group",
2414+ "required": true,
2415+ "location": "path"
2416+ },
2417+ "memberKey": {
2418+ "type": "string",
2419+ "description": "Email or immutable Id of the member",
2420+ "required": true,
2421+ "location": "path"
2422+ }
2423+ },
2424+ "parameterOrder": [
2425+ "groupKey",
2426+ "memberKey"
2427+ ],
2428+ "response": {
2429+ "$ref": "Member"
2430+ },
2431+ "scopes": [
2432+ "https://www.googleapis.com/auth/admin.directory.group",
2433+ "https://www.googleapis.com/auth/admin.directory.group.member",
2434+ "https://www.googleapis.com/auth/admin.directory.group.member.readonly",
2435+ "https://www.googleapis.com/auth/admin.directory.group.readonly"
2436+ ]
2437+ },
2438+ "insert": {
2439+ "id": "directory.members.insert",
2440+ "path": "groups/{groupKey}/members",
2441+ "httpMethod": "POST",
2442+ "description": "Add user to the specified group.",
2443+ "parameters": {
2444+ "groupKey": {
2445+ "type": "string",
2446+ "description": "Email or immutable Id of the group",
2447+ "required": true,
2448+ "location": "path"
2449+ }
2450+ },
2451+ "parameterOrder": [
2452+ "groupKey"
2453+ ],
2454+ "request": {
2455+ "$ref": "Member"
2456+ },
2457+ "response": {
2458+ "$ref": "Member"
2459+ },
2460+ "scopes": [
2461+ "https://www.googleapis.com/auth/admin.directory.group",
2462+ "https://www.googleapis.com/auth/admin.directory.group.member"
2463+ ]
2464+ },
2465+ "list": {
2466+ "id": "directory.members.list",
2467+ "path": "groups/{groupKey}/members",
2468+ "httpMethod": "GET",
2469+ "description": "Retrieve all members in a group (paginated)",
2470+ "parameters": {
2471+ "groupKey": {
2472+ "type": "string",
2473+ "description": "Email or immutable Id of the group",
2474+ "required": true,
2475+ "location": "path"
2476+ },
2477+ "maxResults": {
2478+ "type": "integer",
2479+ "description": "Maximum number of results to return. Default is 200",
2480+ "format": "int32",
2481+ "minimum": "1",
2482+ "location": "query"
2483+ },
2484+ "pageToken": {
2485+ "type": "string",
2486+ "description": "Token to specify next page in the list",
2487+ "location": "query"
2488+ },
2489+ "roles": {
2490+ "type": "string",
2491+ "description": "Comma separated role values to filter list results on.",
2492+ "location": "query"
2493+ }
2494+ },
2495+ "parameterOrder": [
2496+ "groupKey"
2497+ ],
2498+ "response": {
2499+ "$ref": "Members"
2500+ },
2501+ "scopes": [
2502+ "https://www.googleapis.com/auth/admin.directory.group",
2503+ "https://www.googleapis.com/auth/admin.directory.group.member",
2504+ "https://www.googleapis.com/auth/admin.directory.group.member.readonly",
2505+ "https://www.googleapis.com/auth/admin.directory.group.readonly"
2506+ ]
2507+ },
2508+ "patch": {
2509+ "id": "directory.members.patch",
2510+ "path": "groups/{groupKey}/members/{memberKey}",
2511+ "httpMethod": "PATCH",
2512+ "description": "Update membership of a user in the specified group. This method supports patch semantics.",
2513+ "parameters": {
2514+ "groupKey": {
2515+ "type": "string",
2516+ "description": "Email or immutable Id of the group. If Id, it should match with id of group object",
2517+ "required": true,
2518+ "location": "path"
2519+ },
2520+ "memberKey": {
2521+ "type": "string",
2522+ "description": "Email or immutable Id of the user. If Id, it should match with id of member object",
2523+ "required": true,
2524+ "location": "path"
2525+ }
2526+ },
2527+ "parameterOrder": [
2528+ "groupKey",
2529+ "memberKey"
2530+ ],
2531+ "request": {
2532+ "$ref": "Member"
2533+ },
2534+ "response": {
2535+ "$ref": "Member"
2536+ },
2537+ "scopes": [
2538+ "https://www.googleapis.com/auth/admin.directory.group",
2539+ "https://www.googleapis.com/auth/admin.directory.group.member"
2540+ ]
2541+ },
2542+ "update": {
2543+ "id": "directory.members.update",
2544+ "path": "groups/{groupKey}/members/{memberKey}",
2545+ "httpMethod": "PUT",
2546+ "description": "Update membership of a user in the specified group.",
2547+ "parameters": {
2548+ "groupKey": {
2549+ "type": "string",
2550+ "description": "Email or immutable Id of the group. If Id, it should match with id of group object",
2551+ "required": true,
2552+ "location": "path"
2553+ },
2554+ "memberKey": {
2555+ "type": "string",
2556+ "description": "Email or immutable Id of the user. If Id, it should match with id of member object",
2557+ "required": true,
2558+ "location": "path"
2559+ }
2560+ },
2561+ "parameterOrder": [
2562+ "groupKey",
2563+ "memberKey"
2564+ ],
2565+ "request": {
2566+ "$ref": "Member"
2567+ },
2568+ "response": {
2569+ "$ref": "Member"
2570+ },
2571+ "scopes": [
2572+ "https://www.googleapis.com/auth/admin.directory.group",
2573+ "https://www.googleapis.com/auth/admin.directory.group.member"
2574+ ]
2575+ }
2576+ }
2577+ },
2578+ "mobiledevices": {
2579+ "methods": {
2580+ "action": {
2581+ "id": "directory.mobiledevices.action",
2582+ "path": "customer/{customerId}/devices/mobile/{resourceId}/action",
2583+ "httpMethod": "POST",
2584+ "description": "Take action on Mobile Device",
2585+ "parameters": {
2586+ "customerId": {
2587+ "type": "string",
2588+ "description": "Immutable id of the Google Apps account",
2589+ "required": true,
2590+ "location": "path"
2591+ },
2592+ "resourceId": {
2593+ "type": "string",
2594+ "description": "Immutable id of Mobile Device",
2595+ "required": true,
2596+ "location": "path"
2597+ }
2598+ },
2599+ "parameterOrder": [
2600+ "customerId",
2601+ "resourceId"
2602+ ],
2603+ "request": {
2604+ "$ref": "MobileDeviceAction"
2605+ },
2606+ "scopes": [
2607+ "https://www.googleapis.com/auth/admin.directory.device.mobile",
2608+ "https://www.googleapis.com/auth/admin.directory.device.mobile.action"
2609+ ]
2610+ },
2611+ "delete": {
2612+ "id": "directory.mobiledevices.delete",
2613+ "path": "customer/{customerId}/devices/mobile/{resourceId}",
2614+ "httpMethod": "DELETE",
2615+ "description": "Delete Mobile Device",
2616+ "parameters": {
2617+ "customerId": {
2618+ "type": "string",
2619+ "description": "Immutable id of the Google Apps account",
2620+ "required": true,
2621+ "location": "path"
2622+ },
2623+ "resourceId": {
2624+ "type": "string",
2625+ "description": "Immutable id of Mobile Device",
2626+ "required": true,
2627+ "location": "path"
2628+ }
2629+ },
2630+ "parameterOrder": [
2631+ "customerId",
2632+ "resourceId"
2633+ ],
2634+ "scopes": [
2635+ "https://www.googleapis.com/auth/admin.directory.device.mobile"
2636+ ]
2637+ },
2638+ "get": {
2639+ "id": "directory.mobiledevices.get",
2640+ "path": "customer/{customerId}/devices/mobile/{resourceId}",
2641+ "httpMethod": "GET",
2642+ "description": "Retrieve Mobile Device",
2643+ "parameters": {
2644+ "customerId": {
2645+ "type": "string",
2646+ "description": "Immutable id of the Google Apps account",
2647+ "required": true,
2648+ "location": "path"
2649+ },
2650+ "projection": {
2651+ "type": "string",
2652+ "description": "Restrict information returned to a set of selected fields.",
2653+ "enum": [
2654+ "BASIC",
2655+ "FULL"
2656+ ],
2657+ "enumDescriptions": [
2658+ "Includes only the basic metadata fields (e.g., deviceId, model, status, type, and status)",
2659+ "Includes all metadata fields"
2660+ ],
2661+ "location": "query"
2662+ },
2663+ "resourceId": {
2664+ "type": "string",
2665+ "description": "Immutable id of Mobile Device",
2666+ "required": true,
2667+ "location": "path"
2668+ }
2669+ },
2670+ "parameterOrder": [
2671+ "customerId",
2672+ "resourceId"
2673+ ],
2674+ "response": {
2675+ "$ref": "MobileDevice"
2676+ },
2677+ "scopes": [
2678+ "https://www.googleapis.com/auth/admin.directory.device.mobile",
2679+ "https://www.googleapis.com/auth/admin.directory.device.mobile.action",
2680+ "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"
2681+ ]
2682+ },
2683+ "list": {
2684+ "id": "directory.mobiledevices.list",
2685+ "path": "customer/{customerId}/devices/mobile",
2686+ "httpMethod": "GET",
2687+ "description": "Retrieve all Mobile Devices of a customer (paginated)",
2688+ "parameters": {
2689+ "customerId": {
2690+ "type": "string",
2691+ "description": "Immutable id of the Google Apps account",
2692+ "required": true,
2693+ "location": "path"
2694+ },
2695+ "maxResults": {
2696+ "type": "integer",
2697+ "description": "Maximum number of results to return. Default is 100",
2698+ "format": "int32",
2699+ "minimum": "1",
2700+ "location": "query"
2701+ },
2702+ "orderBy": {
2703+ "type": "string",
2704+ "description": "Column to use for sorting results",
2705+ "enum": [
2706+ "deviceId",
2707+ "email",
2708+ "lastSync",
2709+ "model",
2710+ "name",
2711+ "os",
2712+ "status",
2713+ "type"
2714+ ],
2715+ "enumDescriptions": [
2716+ "Mobile Device serial number.",
2717+ "Owner user email.",
2718+ "Last policy settings sync date time of the device.",
2719+ "Mobile Device model.",
2720+ "Owner user name.",
2721+ "Mobile operating system.",
2722+ "Status of the device.",
2723+ "Type of the device."
2724+ ],
2725+ "location": "query"
2726+ },
2727+ "pageToken": {
2728+ "type": "string",
2729+ "description": "Token to specify next page in the list",
2730+ "location": "query"
2731+ },
2732+ "projection": {
2733+ "type": "string",
2734+ "description": "Restrict information returned to a set of selected fields.",
2735+ "enum": [
2736+ "BASIC",
2737+ "FULL"
2738+ ],
2739+ "enumDescriptions": [
2740+ "Includes only the basic metadata fields (e.g., deviceId, model, status, type, and status)",
2741+ "Includes all metadata fields"
2742+ ],
2743+ "location": "query"
2744+ },
2745+ "query": {
2746+ "type": "string",
2747+ "description": "Search string in the format given at http://support.google.com/a/bin/answer.py?hl=en&answer=1408863#search",
2748+ "location": "query"
2749+ },
2750+ "sortOrder": {
2751+ "type": "string",
2752+ "description": "Whether to return results in ascending or descending order. Only of use when orderBy is also used",
2753+ "enum": [
2754+ "ASCENDING",
2755+ "DESCENDING"
2756+ ],
2757+ "enumDescriptions": [
2758+ "Ascending order.",
2759+ "Descending order."
2760+ ],
2761+ "location": "query"
2762+ }
2763+ },
2764+ "parameterOrder": [
2765+ "customerId"
2766+ ],
2767+ "response": {
2768+ "$ref": "MobileDevices"
2769+ },
2770+ "scopes": [
2771+ "https://www.googleapis.com/auth/admin.directory.device.mobile",
2772+ "https://www.googleapis.com/auth/admin.directory.device.mobile.action",
2773+ "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"
2774+ ]
2775+ }
2776+ }
2777+ },
2778+ "notifications": {
2779+ "methods": {
2780+ "delete": {
2781+ "id": "directory.notifications.delete",
2782+ "path": "customer/{customer}/notifications/{notificationId}",
2783+ "httpMethod": "DELETE",
2784+ "description": "Deletes a notification",
2785+ "parameters": {
2786+ "customer": {
2787+ "type": "string",
2788+ "description": "The unique ID for the customer's Google account. The customerId is also returned as part of the Users resource.",
2789+ "required": true,
2790+ "location": "path"
2791+ },
2792+ "notificationId": {
2793+ "type": "string",
2794+ "description": "The unique ID of the notification.",
2795+ "required": true,
2796+ "location": "path"
2797+ }
2798+ },
2799+ "parameterOrder": [
2800+ "customer",
2801+ "notificationId"
2802+ ],
2803+ "scopes": [
2804+ "https://www.googleapis.com/auth/admin.directory.notifications"
2805+ ]
2806+ },
2807+ "get": {
2808+ "id": "directory.notifications.get",
2809+ "path": "customer/{customer}/notifications/{notificationId}",
2810+ "httpMethod": "GET",
2811+ "description": "Retrieves a notification.",
2812+ "parameters": {
2813+ "customer": {
2814+ "type": "string",
2815+ "description": "The unique ID for the customer's Google account. The customerId is also returned as part of the Users resource.",
2816+ "required": true,
2817+ "location": "path"
2818+ },
2819+ "notificationId": {
2820+ "type": "string",
2821+ "description": "The unique ID of the notification.",
2822+ "required": true,
2823+ "location": "path"
2824+ }
2825+ },
2826+ "parameterOrder": [
2827+ "customer",
2828+ "notificationId"
2829+ ],
2830+ "response": {
2831+ "$ref": "Notification"
2832+ },
2833+ "scopes": [
2834+ "https://www.googleapis.com/auth/admin.directory.notifications"
2835+ ]
2836+ },
2837+ "list": {
2838+ "id": "directory.notifications.list",
2839+ "path": "customer/{customer}/notifications",
2840+ "httpMethod": "GET",
2841+ "description": "Retrieves a list of notifications.",
2842+ "parameters": {
2843+ "customer": {
2844+ "type": "string",
2845+ "description": "The unique ID for the customer's Google account.",
2846+ "required": true,
2847+ "location": "path"
2848+ },
2849+ "language": {
2850+ "type": "string",
2851+ "description": "The ISO 639-1 code of the language notifications are returned in. The default is English (en).",
2852+ "location": "query"
2853+ },
2854+ "maxResults": {
2855+ "type": "integer",
2856+ "description": "Maximum number of notifications to return per page. The default is 100.",
2857+ "format": "uint32",
2858+ "location": "query"
2859+ },
2860+ "pageToken": {
2861+ "type": "string",
2862+ "description": "The token to specify the page of results to retrieve.",
2863+ "location": "query"
2864+ }
2865+ },
2866+ "parameterOrder": [
2867+ "customer"
2868+ ],
2869+ "response": {
2870+ "$ref": "Notifications"
2871+ },
2872+ "scopes": [
2873+ "https://www.googleapis.com/auth/admin.directory.notifications"
2874+ ]
2875+ },
2876+ "patch": {
2877+ "id": "directory.notifications.patch",
2878+ "path": "customer/{customer}/notifications/{notificationId}",
2879+ "httpMethod": "PATCH",
2880+ "description": "Updates a notification. This method supports patch semantics.",
2881+ "parameters": {
2882+ "customer": {
2883+ "type": "string",
2884+ "description": "The unique ID for the customer's Google account.",
2885+ "required": true,
2886+ "location": "path"
2887+ },
2888+ "notificationId": {
2889+ "type": "string",
2890+ "description": "The unique ID of the notification.",
2891+ "required": true,
2892+ "location": "path"
2893+ }
2894+ },
2895+ "parameterOrder": [
2896+ "customer",
2897+ "notificationId"
2898+ ],
2899+ "request": {
2900+ "$ref": "Notification"
2901+ },
2902+ "response": {
2903+ "$ref": "Notification"
2904+ },
2905+ "scopes": [
2906+ "https://www.googleapis.com/auth/admin.directory.notifications"
2907+ ]
2908+ },
2909+ "update": {
2910+ "id": "directory.notifications.update",
2911+ "path": "customer/{customer}/notifications/{notificationId}",
2912+ "httpMethod": "PUT",
2913+ "description": "Updates a notification.",
2914+ "parameters": {
2915+ "customer": {
2916+ "type": "string",
2917+ "description": "The unique ID for the customer's Google account.",
2918+ "required": true,
2919+ "location": "path"
2920+ },
2921+ "notificationId": {
2922+ "type": "string",
2923+ "description": "The unique ID of the notification.",
2924+ "required": true,
2925+ "location": "path"
2926+ }
2927+ },
2928+ "parameterOrder": [
2929+ "customer",
2930+ "notificationId"
2931+ ],
2932+ "request": {
2933+ "$ref": "Notification"
2934+ },
2935+ "response": {
2936+ "$ref": "Notification"
2937+ },
2938+ "scopes": [
2939+ "https://www.googleapis.com/auth/admin.directory.notifications"
2940+ ]
2941+ }
2942+ }
2943+ },
2944+ "orgunits": {
2945+ "methods": {
2946+ "delete": {
2947+ "id": "directory.orgunits.delete",
2948+ "path": "customer/{customerId}/orgunits{/orgUnitPath*}",
2949+ "httpMethod": "DELETE",
2950+ "description": "Remove Organization Unit",
2951+ "parameters": {
2952+ "customerId": {
2953+ "type": "string",
2954+ "description": "Immutable id of the Google Apps account",
2955+ "required": true,
2956+ "location": "path"
2957+ },
2958+ "orgUnitPath": {
2959+ "type": "string",
2960+ "description": "Full path of the organization unit or its Id",
2961+ "required": true,
2962+ "repeated": true,
2963+ "location": "path"
2964+ }
2965+ },
2966+ "parameterOrder": [
2967+ "customerId",
2968+ "orgUnitPath"
2969+ ],
2970+ "scopes": [
2971+ "https://www.googleapis.com/auth/admin.directory.orgunit"
2972+ ]
2973+ },
2974+ "get": {
2975+ "id": "directory.orgunits.get",
2976+ "path": "customer/{customerId}/orgunits{/orgUnitPath*}",
2977+ "httpMethod": "GET",
2978+ "description": "Retrieve Organization Unit",
2979+ "parameters": {
2980+ "customerId": {
2981+ "type": "string",
2982+ "description": "Immutable id of the Google Apps account",
2983+ "required": true,
2984+ "location": "path"
2985+ },
2986+ "orgUnitPath": {
2987+ "type": "string",
2988+ "description": "Full path of the organization unit or its Id",
2989+ "required": true,
2990+ "repeated": true,
2991+ "location": "path"
2992+ }
2993+ },
2994+ "parameterOrder": [
2995+ "customerId",
2996+ "orgUnitPath"
2997+ ],
2998+ "response": {
2999+ "$ref": "OrgUnit"
3000+ },
3001+ "scopes": [
3002+ "https://www.googleapis.com/auth/admin.directory.orgunit",
3003+ "https://www.googleapis.com/auth/admin.directory.orgunit.readonly"
3004+ ]
3005+ },
3006+ "insert": {
3007+ "id": "directory.orgunits.insert",
3008+ "path": "customer/{customerId}/orgunits",
3009+ "httpMethod": "POST",
3010+ "description": "Add Organization Unit",
3011+ "parameters": {
3012+ "customerId": {
3013+ "type": "string",
3014+ "description": "Immutable id of the Google Apps account",
3015+ "required": true,
3016+ "location": "path"
3017+ }
3018+ },
3019+ "parameterOrder": [
3020+ "customerId"
3021+ ],
3022+ "request": {
3023+ "$ref": "OrgUnit"
3024+ },
3025+ "response": {
3026+ "$ref": "OrgUnit"
3027+ },
3028+ "scopes": [
3029+ "https://www.googleapis.com/auth/admin.directory.orgunit"
3030+ ]
3031+ },
3032+ "list": {
3033+ "id": "directory.orgunits.list",
3034+ "path": "customer/{customerId}/orgunits",
3035+ "httpMethod": "GET",
3036+ "description": "Retrieve all Organization Units",
3037+ "parameters": {
3038+ "customerId": {
3039+ "type": "string",
3040+ "description": "Immutable id of the Google Apps account",
3041+ "required": true,
3042+ "location": "path"
3043+ },
3044+ "orgUnitPath": {
3045+ "type": "string",
3046+ "description": "the URL-encoded organization unit's path or its Id",
3047+ "default": "",
3048+ "location": "query"
3049+ },
3050+ "type": {
3051+ "type": "string",
3052+ "description": "Whether to return all sub-organizations or just immediate children",
3053+ "enum": [
3054+ "all",
3055+ "children"
3056+ ],
3057+ "enumDescriptions": [
3058+ "All sub-organization units.",
3059+ "Immediate children only (default)."
3060+ ],
3061+ "location": "query"
3062+ }
3063+ },
3064+ "parameterOrder": [
3065+ "customerId"
3066+ ],
3067+ "response": {
3068+ "$ref": "OrgUnits"
3069+ },
3070+ "scopes": [
3071+ "https://www.googleapis.com/auth/admin.directory.orgunit",
3072+ "https://www.googleapis.com/auth/admin.directory.orgunit.readonly"
3073+ ]
3074+ },
3075+ "patch": {
3076+ "id": "directory.orgunits.patch",
3077+ "path": "customer/{customerId}/orgunits{/orgUnitPath*}",
3078+ "httpMethod": "PATCH",
3079+ "description": "Update Organization Unit. This method supports patch semantics.",
3080+ "parameters": {
3081+ "customerId": {
3082+ "type": "string",
3083+ "description": "Immutable id of the Google Apps account",
3084+ "required": true,
3085+ "location": "path"
3086+ },
3087+ "orgUnitPath": {
3088+ "type": "string",
3089+ "description": "Full path of the organization unit or its Id",
3090+ "required": true,
3091+ "repeated": true,
3092+ "location": "path"
3093+ }
3094+ },
3095+ "parameterOrder": [
3096+ "customerId",
3097+ "orgUnitPath"
3098+ ],
3099+ "request": {
3100+ "$ref": "OrgUnit"
3101+ },
3102+ "response": {
3103+ "$ref": "OrgUnit"
3104+ },
3105+ "scopes": [
3106+ "https://www.googleapis.com/auth/admin.directory.orgunit"
3107+ ]
3108+ },
3109+ "update": {
3110+ "id": "directory.orgunits.update",
3111+ "path": "customer/{customerId}/orgunits{/orgUnitPath*}",
3112+ "httpMethod": "PUT",
3113+ "description": "Update Organization Unit",
3114+ "parameters": {
3115+ "customerId": {
3116+ "type": "string",
3117+ "description": "Immutable id of the Google Apps account",
3118+ "required": true,
3119+ "location": "path"
3120+ },
3121+ "orgUnitPath": {
3122+ "type": "string",
3123+ "description": "Full path of the organization unit or its Id",
3124+ "required": true,
3125+ "repeated": true,
3126+ "location": "path"
3127+ }
3128+ },
3129+ "parameterOrder": [
3130+ "customerId",
3131+ "orgUnitPath"
3132+ ],
3133+ "request": {
3134+ "$ref": "OrgUnit"
3135+ },
3136+ "response": {
3137+ "$ref": "OrgUnit"
3138+ },
3139+ "scopes": [
3140+ "https://www.googleapis.com/auth/admin.directory.orgunit"
3141+ ]
3142+ }
3143+ }
3144+ },
3145+ "schemas": {
3146+ "methods": {
3147+ "delete": {
3148+ "id": "directory.schemas.delete",
3149+ "path": "customer/{customerId}/schemas/{schemaKey}",
3150+ "httpMethod": "DELETE",
3151+ "description": "Delete schema",
3152+ "parameters": {
3153+ "customerId": {
3154+ "type": "string",
3155+ "description": "Immutable id of the Google Apps account",
3156+ "required": true,
3157+ "location": "path"
3158+ },
3159+ "schemaKey": {
3160+ "type": "string",
3161+ "description": "Name or immutable Id of the schema",
3162+ "required": true,
3163+ "location": "path"
3164+ }
3165+ },
3166+ "parameterOrder": [
3167+ "customerId",
3168+ "schemaKey"
3169+ ],
3170+ "scopes": [
3171+ "https://www.googleapis.com/auth/admin.directory.userschema"
3172+ ]
3173+ },
3174+ "get": {
3175+ "id": "directory.schemas.get",
3176+ "path": "customer/{customerId}/schemas/{schemaKey}",
3177+ "httpMethod": "GET",
3178+ "description": "Retrieve schema",
3179+ "parameters": {
3180+ "customerId": {
3181+ "type": "string",
3182+ "description": "Immutable id of the Google Apps account",
3183+ "required": true,
3184+ "location": "path"
3185+ },
3186+ "schemaKey": {
3187+ "type": "string",
3188+ "description": "Name or immutable Id of the schema",
3189+ "required": true,
3190+ "location": "path"
3191+ }
3192+ },
3193+ "parameterOrder": [
3194+ "customerId",
3195+ "schemaKey"
3196+ ],
3197+ "response": {
3198+ "$ref": "Schema"
3199+ },
3200+ "scopes": [
3201+ "https://www.googleapis.com/auth/admin.directory.userschema",
3202+ "https://www.googleapis.com/auth/admin.directory.userschema.readonly"
3203+ ]
3204+ },
3205+ "insert": {
3206+ "id": "directory.schemas.insert",
3207+ "path": "customer/{customerId}/schemas",
3208+ "httpMethod": "POST",
3209+ "description": "Create schema.",
3210+ "parameters": {
3211+ "customerId": {
3212+ "type": "string",
3213+ "description": "Immutable id of the Google Apps account",
3214+ "required": true,
3215+ "location": "path"
3216+ }
3217+ },
3218+ "parameterOrder": [
3219+ "customerId"
3220+ ],
3221+ "request": {
3222+ "$ref": "Schema"
3223+ },
3224+ "response": {
3225+ "$ref": "Schema"
3226+ },
3227+ "scopes": [
3228+ "https://www.googleapis.com/auth/admin.directory.userschema"
3229+ ]
3230+ },
3231+ "list": {
3232+ "id": "directory.schemas.list",
3233+ "path": "customer/{customerId}/schemas",
3234+ "httpMethod": "GET",
3235+ "description": "Retrieve all schemas for a customer",
3236+ "parameters": {
3237+ "customerId": {
3238+ "type": "string",
3239+ "description": "Immutable id of the Google Apps account",
3240+ "required": true,
3241+ "location": "path"
3242+ }
3243+ },
3244+ "parameterOrder": [
3245+ "customerId"
3246+ ],
3247+ "response": {
3248+ "$ref": "Schemas"
3249+ },
3250+ "scopes": [
3251+ "https://www.googleapis.com/auth/admin.directory.userschema",
3252+ "https://www.googleapis.com/auth/admin.directory.userschema.readonly"
3253+ ]
3254+ },
3255+ "patch": {
3256+ "id": "directory.schemas.patch",
3257+ "path": "customer/{customerId}/schemas/{schemaKey}",
3258+ "httpMethod": "PATCH",
3259+ "description": "Update schema. This method supports patch semantics.",
3260+ "parameters": {
3261+ "customerId": {
3262+ "type": "string",
3263+ "description": "Immutable id of the Google Apps account",
3264+ "required": true,
3265+ "location": "path"
3266+ },
3267+ "schemaKey": {
3268+ "type": "string",
3269+ "description": "Name or immutable Id of the schema.",
3270+ "required": true,
3271+ "location": "path"
3272+ }
3273+ },
3274+ "parameterOrder": [
3275+ "customerId",
3276+ "schemaKey"
3277+ ],
3278+ "request": {
3279+ "$ref": "Schema"
3280+ },
3281+ "response": {
3282+ "$ref": "Schema"
3283+ },
3284+ "scopes": [
3285+ "https://www.googleapis.com/auth/admin.directory.userschema"
3286+ ]
3287+ },
3288+ "update": {
3289+ "id": "directory.schemas.update",
3290+ "path": "customer/{customerId}/schemas/{schemaKey}",
3291+ "httpMethod": "PUT",
3292+ "description": "Update schema",
3293+ "parameters": {
3294+ "customerId": {
3295+ "type": "string",
3296+ "description": "Immutable id of the Google Apps account",
3297+ "required": true,
3298+ "location": "path"
3299+ },
3300+ "schemaKey": {
3301+ "type": "string",
3302+ "description": "Name or immutable Id of the schema.",
3303+ "required": true,
3304+ "location": "path"
3305+ }
3306+ },
3307+ "parameterOrder": [
3308+ "customerId",
3309+ "schemaKey"
3310+ ],
3311+ "request": {
3312+ "$ref": "Schema"
3313+ },
3314+ "response": {
3315+ "$ref": "Schema"
3316+ },
3317+ "scopes": [
3318+ "https://www.googleapis.com/auth/admin.directory.userschema"
3319+ ]
3320+ }
3321+ }
3322+ },
3323+ "tokens": {
3324+ "methods": {
3325+ "delete": {
3326+ "id": "directory.tokens.delete",
3327+ "path": "users/{userKey}/tokens/{clientId}",
3328+ "httpMethod": "DELETE",
3329+ "description": "Delete all access tokens issued by a user for an application.",
3330+ "parameters": {
3331+ "clientId": {
3332+ "type": "string",
3333+ "description": "The Client ID of the application the token is issued to.",
3334+ "required": true,
3335+ "location": "path"
3336+ },
3337+ "userKey": {
3338+ "type": "string",
3339+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
3340+ "required": true,
3341+ "location": "path"
3342+ }
3343+ },
3344+ "parameterOrder": [
3345+ "userKey",
3346+ "clientId"
3347+ ],
3348+ "scopes": [
3349+ "https://www.googleapis.com/auth/admin.directory.user.security"
3350+ ]
3351+ },
3352+ "get": {
3353+ "id": "directory.tokens.get",
3354+ "path": "users/{userKey}/tokens/{clientId}",
3355+ "httpMethod": "GET",
3356+ "description": "Get information about an access token issued by a user.",
3357+ "parameters": {
3358+ "clientId": {
3359+ "type": "string",
3360+ "description": "The Client ID of the application the token is issued to.",
3361+ "required": true,
3362+ "location": "path"
3363+ },
3364+ "userKey": {
3365+ "type": "string",
3366+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
3367+ "required": true,
3368+ "location": "path"
3369+ }
3370+ },
3371+ "parameterOrder": [
3372+ "userKey",
3373+ "clientId"
3374+ ],
3375+ "response": {
3376+ "$ref": "Token"
3377+ },
3378+ "scopes": [
3379+ "https://www.googleapis.com/auth/admin.directory.user.security"
3380+ ]
3381+ },
3382+ "list": {
3383+ "id": "directory.tokens.list",
3384+ "path": "users/{userKey}/tokens",
3385+ "httpMethod": "GET",
3386+ "description": "Returns the set of tokens specified user has issued to 3rd party applications.",
3387+ "parameters": {
3388+ "userKey": {
3389+ "type": "string",
3390+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
3391+ "required": true,
3392+ "location": "path"
3393+ }
3394+ },
3395+ "parameterOrder": [
3396+ "userKey"
3397+ ],
3398+ "response": {
3399+ "$ref": "Tokens"
3400+ },
3401+ "scopes": [
3402+ "https://www.googleapis.com/auth/admin.directory.user.security"
3403+ ]
3404+ }
3405+ }
3406+ },
3407+ "users": {
3408+ "methods": {
3409+ "delete": {
3410+ "id": "directory.users.delete",
3411+ "path": "users/{userKey}",
3412+ "httpMethod": "DELETE",
3413+ "description": "Delete user",
3414+ "parameters": {
3415+ "userKey": {
3416+ "type": "string",
3417+ "description": "Email or immutable Id of the user",
3418+ "required": true,
3419+ "location": "path"
3420+ }
3421+ },
3422+ "parameterOrder": [
3423+ "userKey"
3424+ ],
3425+ "scopes": [
3426+ "https://www.googleapis.com/auth/admin.directory.user"
3427+ ]
3428+ },
3429+ "get": {
3430+ "id": "directory.users.get",
3431+ "path": "users/{userKey}",
3432+ "httpMethod": "GET",
3433+ "description": "retrieve user",
3434+ "parameters": {
3435+ "customFieldMask": {
3436+ "type": "string",
3437+ "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.",
3438+ "location": "query"
3439+ },
3440+ "projection": {
3441+ "type": "string",
3442+ "description": "What subset of fields to fetch for this user.",
3443+ "default": "basic",
3444+ "enum": [
3445+ "basic",
3446+ "custom",
3447+ "full"
3448+ ],
3449+ "enumDescriptions": [
3450+ "Do not include any custom fields for the user.",
3451+ "Include custom fields from schemas mentioned in customFieldMask.",
3452+ "Include all fields associated with this user."
3453+ ],
3454+ "location": "query"
3455+ },
3456+ "userKey": {
3457+ "type": "string",
3458+ "description": "Email or immutable Id of the user",
3459+ "required": true,
3460+ "location": "path"
3461+ },
3462+ "viewType": {
3463+ "type": "string",
3464+ "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.",
3465+ "default": "admin_view",
3466+ "enum": [
3467+ "admin_view",
3468+ "domain_public"
3469+ ],
3470+ "enumDescriptions": [
3471+ "Fetches the ADMIN_VIEW of the user.",
3472+ "Fetches the DOMAIN_PUBLIC view of the user."
3473+ ],
3474+ "location": "query"
3475+ }
3476+ },
3477+ "parameterOrder": [
3478+ "userKey"
3479+ ],
3480+ "response": {
3481+ "$ref": "User"
3482+ },
3483+ "scopes": [
3484+ "https://www.googleapis.com/auth/admin.directory.user",
3485+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
3486+ ]
3487+ },
3488+ "insert": {
3489+ "id": "directory.users.insert",
3490+ "path": "users",
3491+ "httpMethod": "POST",
3492+ "description": "create user.",
3493+ "request": {
3494+ "$ref": "User"
3495+ },
3496+ "response": {
3497+ "$ref": "User"
3498+ },
3499+ "scopes": [
3500+ "https://www.googleapis.com/auth/admin.directory.user"
3501+ ]
3502+ },
3503+ "list": {
3504+ "id": "directory.users.list",
3505+ "path": "users",
3506+ "httpMethod": "GET",
3507+ "description": "Retrieve either deleted users or all users in a domain (paginated)",
3508+ "parameters": {
3509+ "customFieldMask": {
3510+ "type": "string",
3511+ "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.",
3512+ "location": "query"
3513+ },
3514+ "customer": {
3515+ "type": "string",
3516+ "description": "Immutable id of the Google Apps account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.",
3517+ "location": "query"
3518+ },
3519+ "domain": {
3520+ "type": "string",
3521+ "description": "Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.",
3522+ "location": "query"
3523+ },
3524+ "event": {
3525+ "type": "string",
3526+ "description": "Event on which subscription is intended (if subscribing)",
3527+ "enum": [
3528+ "add",
3529+ "delete",
3530+ "makeAdmin",
3531+ "undelete",
3532+ "update"
3533+ ],
3534+ "enumDescriptions": [
3535+ "User Created Event",
3536+ "User Deleted Event",
3537+ "User Admin Status Change Event",
3538+ "User Undeleted Event",
3539+ "User Updated Event"
3540+ ],
3541+ "location": "query"
3542+ },
3543+ "maxResults": {
3544+ "type": "integer",
3545+ "description": "Maximum number of results to return. Default is 100. Max allowed is 500",
3546+ "format": "int32",
3547+ "minimum": "1",
3548+ "maximum": "500",
3549+ "location": "query"
3550+ },
3551+ "orderBy": {
3552+ "type": "string",
3553+ "description": "Column to use for sorting results",
3554+ "enum": [
3555+ "email",
3556+ "familyName",
3557+ "givenName"
3558+ ],
3559+ "enumDescriptions": [
3560+ "Primary email of the user.",
3561+ "User's family name.",
3562+ "User's given name."
3563+ ],
3564+ "location": "query"
3565+ },
3566+ "pageToken": {
3567+ "type": "string",
3568+ "description": "Token to specify next page in the list",
3569+ "location": "query"
3570+ },
3571+ "projection": {
3572+ "type": "string",
3573+ "description": "What subset of fields to fetch for this user.",
3574+ "default": "basic",
3575+ "enum": [
3576+ "basic",
3577+ "custom",
3578+ "full"
3579+ ],
3580+ "enumDescriptions": [
3581+ "Do not include any custom fields for the user.",
3582+ "Include custom fields from schemas mentioned in customFieldMask.",
3583+ "Include all fields associated with this user."
3584+ ],
3585+ "location": "query"
3586+ },
3587+ "query": {
3588+ "type": "string",
3589+ "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users",
3590+ "location": "query"
3591+ },
3592+ "showDeleted": {
3593+ "type": "string",
3594+ "description": "If set to true retrieves the list of deleted users. Default is false",
3595+ "location": "query"
3596+ },
3597+ "sortOrder": {
3598+ "type": "string",
3599+ "description": "Whether to return results in ascending or descending order.",
3600+ "enum": [
3601+ "ASCENDING",
3602+ "DESCENDING"
3603+ ],
3604+ "enumDescriptions": [
3605+ "Ascending order.",
3606+ "Descending order."
3607+ ],
3608+ "location": "query"
3609+ },
3610+ "viewType": {
3611+ "type": "string",
3612+ "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.",
3613+ "default": "admin_view",
3614+ "enum": [
3615+ "admin_view",
3616+ "domain_public"
3617+ ],
3618+ "enumDescriptions": [
3619+ "Fetches the ADMIN_VIEW of the user.",
3620+ "Fetches the DOMAIN_PUBLIC view of the user."
3621+ ],
3622+ "location": "query"
3623+ }
3624+ },
3625+ "response": {
3626+ "$ref": "Users"
3627+ },
3628+ "scopes": [
3629+ "https://www.googleapis.com/auth/admin.directory.user",
3630+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
3631+ ],
3632+ "supportsSubscription": true
3633+ },
3634+ "makeAdmin": {
3635+ "id": "directory.users.makeAdmin",
3636+ "path": "users/{userKey}/makeAdmin",
3637+ "httpMethod": "POST",
3638+ "description": "change admin status of a user",
3639+ "parameters": {
3640+ "userKey": {
3641+ "type": "string",
3642+ "description": "Email or immutable Id of the user as admin",
3643+ "required": true,
3644+ "location": "path"
3645+ }
3646+ },
3647+ "parameterOrder": [
3648+ "userKey"
3649+ ],
3650+ "request": {
3651+ "$ref": "UserMakeAdmin"
3652+ },
3653+ "scopes": [
3654+ "https://www.googleapis.com/auth/admin.directory.user"
3655+ ]
3656+ },
3657+ "patch": {
3658+ "id": "directory.users.patch",
3659+ "path": "users/{userKey}",
3660+ "httpMethod": "PATCH",
3661+ "description": "update user. This method supports patch semantics.",
3662+ "parameters": {
3663+ "userKey": {
3664+ "type": "string",
3665+ "description": "Email or immutable Id of the user. If Id, it should match with id of user object",
3666+ "required": true,
3667+ "location": "path"
3668+ }
3669+ },
3670+ "parameterOrder": [
3671+ "userKey"
3672+ ],
3673+ "request": {
3674+ "$ref": "User"
3675+ },
3676+ "response": {
3677+ "$ref": "User"
3678+ },
3679+ "scopes": [
3680+ "https://www.googleapis.com/auth/admin.directory.user"
3681+ ]
3682+ },
3683+ "undelete": {
3684+ "id": "directory.users.undelete",
3685+ "path": "users/{userKey}/undelete",
3686+ "httpMethod": "POST",
3687+ "description": "Undelete a deleted user",
3688+ "parameters": {
3689+ "userKey": {
3690+ "type": "string",
3691+ "description": "The immutable id of the user",
3692+ "required": true,
3693+ "location": "path"
3694+ }
3695+ },
3696+ "parameterOrder": [
3697+ "userKey"
3698+ ],
3699+ "request": {
3700+ "$ref": "UserUndelete"
3701+ },
3702+ "scopes": [
3703+ "https://www.googleapis.com/auth/admin.directory.user"
3704+ ]
3705+ },
3706+ "update": {
3707+ "id": "directory.users.update",
3708+ "path": "users/{userKey}",
3709+ "httpMethod": "PUT",
3710+ "description": "update user",
3711+ "parameters": {
3712+ "userKey": {
3713+ "type": "string",
3714+ "description": "Email or immutable Id of the user. If Id, it should match with id of user object",
3715+ "required": true,
3716+ "location": "path"
3717+ }
3718+ },
3719+ "parameterOrder": [
3720+ "userKey"
3721+ ],
3722+ "request": {
3723+ "$ref": "User"
3724+ },
3725+ "response": {
3726+ "$ref": "User"
3727+ },
3728+ "scopes": [
3729+ "https://www.googleapis.com/auth/admin.directory.user"
3730+ ]
3731+ },
3732+ "watch": {
3733+ "id": "directory.users.watch",
3734+ "path": "users/watch",
3735+ "httpMethod": "POST",
3736+ "description": "Watch for changes in users list",
3737+ "parameters": {
3738+ "customFieldMask": {
3739+ "type": "string",
3740+ "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.",
3741+ "location": "query"
3742+ },
3743+ "customer": {
3744+ "type": "string",
3745+ "description": "Immutable id of the Google Apps account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.",
3746+ "location": "query"
3747+ },
3748+ "domain": {
3749+ "type": "string",
3750+ "description": "Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.",
3751+ "location": "query"
3752+ },
3753+ "event": {
3754+ "type": "string",
3755+ "description": "Event on which subscription is intended (if subscribing)",
3756+ "enum": [
3757+ "add",
3758+ "delete",
3759+ "makeAdmin",
3760+ "undelete",
3761+ "update"
3762+ ],
3763+ "enumDescriptions": [
3764+ "User Created Event",
3765+ "User Deleted Event",
3766+ "User Admin Status Change Event",
3767+ "User Undeleted Event",
3768+ "User Updated Event"
3769+ ],
3770+ "location": "query"
3771+ },
3772+ "maxResults": {
3773+ "type": "integer",
3774+ "description": "Maximum number of results to return. Default is 100. Max allowed is 500",
3775+ "format": "int32",
3776+ "minimum": "1",
3777+ "maximum": "500",
3778+ "location": "query"
3779+ },
3780+ "orderBy": {
3781+ "type": "string",
3782+ "description": "Column to use for sorting results",
3783+ "enum": [
3784+ "email",
3785+ "familyName",
3786+ "givenName"
3787+ ],
3788+ "enumDescriptions": [
3789+ "Primary email of the user.",
3790+ "User's family name.",
3791+ "User's given name."
3792+ ],
3793+ "location": "query"
3794+ },
3795+ "pageToken": {
3796+ "type": "string",
3797+ "description": "Token to specify next page in the list",
3798+ "location": "query"
3799+ },
3800+ "projection": {
3801+ "type": "string",
3802+ "description": "What subset of fields to fetch for this user.",
3803+ "default": "basic",
3804+ "enum": [
3805+ "basic",
3806+ "custom",
3807+ "full"
3808+ ],
3809+ "enumDescriptions": [
3810+ "Do not include any custom fields for the user.",
3811+ "Include custom fields from schemas mentioned in customFieldMask.",
3812+ "Include all fields associated with this user."
3813+ ],
3814+ "location": "query"
3815+ },
3816+ "query": {
3817+ "type": "string",
3818+ "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users",
3819+ "location": "query"
3820+ },
3821+ "showDeleted": {
3822+ "type": "string",
3823+ "description": "If set to true retrieves the list of deleted users. Default is false",
3824+ "location": "query"
3825+ },
3826+ "sortOrder": {
3827+ "type": "string",
3828+ "description": "Whether to return results in ascending or descending order.",
3829+ "enum": [
3830+ "ASCENDING",
3831+ "DESCENDING"
3832+ ],
3833+ "enumDescriptions": [
3834+ "Ascending order.",
3835+ "Descending order."
3836+ ],
3837+ "location": "query"
3838+ },
3839+ "viewType": {
3840+ "type": "string",
3841+ "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.",
3842+ "default": "admin_view",
3843+ "enum": [
3844+ "admin_view",
3845+ "domain_public"
3846+ ],
3847+ "enumDescriptions": [
3848+ "Fetches the ADMIN_VIEW of the user.",
3849+ "Fetches the DOMAIN_PUBLIC view of the user."
3850+ ],
3851+ "location": "query"
3852+ }
3853+ },
3854+ "request": {
3855+ "$ref": "Channel",
3856+ "parameterName": "resource"
3857+ },
3858+ "response": {
3859+ "$ref": "Channel"
3860+ },
3861+ "scopes": [
3862+ "https://www.googleapis.com/auth/admin.directory.user",
3863+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
3864+ ],
3865+ "supportsSubscription": true
3866+ }
3867+ },
3868+ "resources": {
3869+ "aliases": {
3870+ "methods": {
3871+ "delete": {
3872+ "id": "directory.users.aliases.delete",
3873+ "path": "users/{userKey}/aliases/{alias}",
3874+ "httpMethod": "DELETE",
3875+ "description": "Remove a alias for the user",
3876+ "parameters": {
3877+ "alias": {
3878+ "type": "string",
3879+ "description": "The alias to be removed",
3880+ "required": true,
3881+ "location": "path"
3882+ },
3883+ "userKey": {
3884+ "type": "string",
3885+ "description": "Email or immutable Id of the user",
3886+ "required": true,
3887+ "location": "path"
3888+ }
3889+ },
3890+ "parameterOrder": [
3891+ "userKey",
3892+ "alias"
3893+ ],
3894+ "scopes": [
3895+ "https://www.googleapis.com/auth/admin.directory.user",
3896+ "https://www.googleapis.com/auth/admin.directory.user.alias"
3897+ ]
3898+ },
3899+ "insert": {
3900+ "id": "directory.users.aliases.insert",
3901+ "path": "users/{userKey}/aliases",
3902+ "httpMethod": "POST",
3903+ "description": "Add a alias for the user",
3904+ "parameters": {
3905+ "userKey": {
3906+ "type": "string",
3907+ "description": "Email or immutable Id of the user",
3908+ "required": true,
3909+ "location": "path"
3910+ }
3911+ },
3912+ "parameterOrder": [
3913+ "userKey"
3914+ ],
3915+ "request": {
3916+ "$ref": "Alias"
3917+ },
3918+ "response": {
3919+ "$ref": "Alias"
3920+ },
3921+ "scopes": [
3922+ "https://www.googleapis.com/auth/admin.directory.user",
3923+ "https://www.googleapis.com/auth/admin.directory.user.alias"
3924+ ]
3925+ },
3926+ "list": {
3927+ "id": "directory.users.aliases.list",
3928+ "path": "users/{userKey}/aliases",
3929+ "httpMethod": "GET",
3930+ "description": "List all aliases for a user",
3931+ "parameters": {
3932+ "event": {
3933+ "type": "string",
3934+ "description": "Event on which subscription is intended (if subscribing)",
3935+ "enum": [
3936+ "add",
3937+ "delete"
3938+ ],
3939+ "enumDescriptions": [
3940+ "Alias Created Event",
3941+ "Alias Deleted Event"
3942+ ],
3943+ "location": "query"
3944+ },
3945+ "userKey": {
3946+ "type": "string",
3947+ "description": "Email or immutable Id of the user",
3948+ "required": true,
3949+ "location": "path"
3950+ }
3951+ },
3952+ "parameterOrder": [
3953+ "userKey"
3954+ ],
3955+ "response": {
3956+ "$ref": "Aliases"
3957+ },
3958+ "scopes": [
3959+ "https://www.googleapis.com/auth/admin.directory.user",
3960+ "https://www.googleapis.com/auth/admin.directory.user.alias",
3961+ "https://www.googleapis.com/auth/admin.directory.user.alias.readonly",
3962+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
3963+ ],
3964+ "supportsSubscription": true
3965+ },
3966+ "watch": {
3967+ "id": "directory.users.aliases.watch",
3968+ "path": "users/{userKey}/aliases/watch",
3969+ "httpMethod": "POST",
3970+ "description": "Watch for changes in user aliases list",
3971+ "parameters": {
3972+ "event": {
3973+ "type": "string",
3974+ "description": "Event on which subscription is intended (if subscribing)",
3975+ "enum": [
3976+ "add",
3977+ "delete"
3978+ ],
3979+ "enumDescriptions": [
3980+ "Alias Created Event",
3981+ "Alias Deleted Event"
3982+ ],
3983+ "location": "query"
3984+ },
3985+ "userKey": {
3986+ "type": "string",
3987+ "description": "Email or immutable Id of the user",
3988+ "required": true,
3989+ "location": "path"
3990+ }
3991+ },
3992+ "parameterOrder": [
3993+ "userKey"
3994+ ],
3995+ "request": {
3996+ "$ref": "Channel",
3997+ "parameterName": "resource"
3998+ },
3999+ "response": {
4000+ "$ref": "Channel"
4001+ },
4002+ "scopes": [
4003+ "https://www.googleapis.com/auth/admin.directory.user",
4004+ "https://www.googleapis.com/auth/admin.directory.user.alias",
4005+ "https://www.googleapis.com/auth/admin.directory.user.alias.readonly",
4006+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
4007+ ],
4008+ "supportsSubscription": true
4009+ }
4010+ }
4011+ },
4012+ "photos": {
4013+ "methods": {
4014+ "delete": {
4015+ "id": "directory.users.photos.delete",
4016+ "path": "users/{userKey}/photos/thumbnail",
4017+ "httpMethod": "DELETE",
4018+ "description": "Remove photos for the user",
4019+ "parameters": {
4020+ "userKey": {
4021+ "type": "string",
4022+ "description": "Email or immutable Id of the user",
4023+ "required": true,
4024+ "location": "path"
4025+ }
4026+ },
4027+ "parameterOrder": [
4028+ "userKey"
4029+ ],
4030+ "scopes": [
4031+ "https://www.googleapis.com/auth/admin.directory.user"
4032+ ]
4033+ },
4034+ "get": {
4035+ "id": "directory.users.photos.get",
4036+ "path": "users/{userKey}/photos/thumbnail",
4037+ "httpMethod": "GET",
4038+ "description": "Retrieve photo of a user",
4039+ "parameters": {
4040+ "userKey": {
4041+ "type": "string",
4042+ "description": "Email or immutable Id of the user",
4043+ "required": true,
4044+ "location": "path"
4045+ }
4046+ },
4047+ "parameterOrder": [
4048+ "userKey"
4049+ ],
4050+ "response": {
4051+ "$ref": "UserPhoto"
4052+ },
4053+ "scopes": [
4054+ "https://www.googleapis.com/auth/admin.directory.user",
4055+ "https://www.googleapis.com/auth/admin.directory.user.readonly"
4056+ ]
4057+ },
4058+ "patch": {
4059+ "id": "directory.users.photos.patch",
4060+ "path": "users/{userKey}/photos/thumbnail",
4061+ "httpMethod": "PATCH",
4062+ "description": "Add a photo for the user. This method supports patch semantics.",
4063+ "parameters": {
4064+ "userKey": {
4065+ "type": "string",
4066+ "description": "Email or immutable Id of the user",
4067+ "required": true,
4068+ "location": "path"
4069+ }
4070+ },
4071+ "parameterOrder": [
4072+ "userKey"
4073+ ],
4074+ "request": {
4075+ "$ref": "UserPhoto"
4076+ },
4077+ "response": {
4078+ "$ref": "UserPhoto"
4079+ },
4080+ "scopes": [
4081+ "https://www.googleapis.com/auth/admin.directory.user"
4082+ ]
4083+ },
4084+ "update": {
4085+ "id": "directory.users.photos.update",
4086+ "path": "users/{userKey}/photos/thumbnail",
4087+ "httpMethod": "PUT",
4088+ "description": "Add a photo for the user",
4089+ "parameters": {
4090+ "userKey": {
4091+ "type": "string",
4092+ "description": "Email or immutable Id of the user",
4093+ "required": true,
4094+ "location": "path"
4095+ }
4096+ },
4097+ "parameterOrder": [
4098+ "userKey"
4099+ ],
4100+ "request": {
4101+ "$ref": "UserPhoto"
4102+ },
4103+ "response": {
4104+ "$ref": "UserPhoto"
4105+ },
4106+ "scopes": [
4107+ "https://www.googleapis.com/auth/admin.directory.user"
4108+ ]
4109+ }
4110+ }
4111+ }
4112+ }
4113+ },
4114+ "verificationCodes": {
4115+ "methods": {
4116+ "generate": {
4117+ "id": "directory.verificationCodes.generate",
4118+ "path": "users/{userKey}/verificationCodes/generate",
4119+ "httpMethod": "POST",
4120+ "description": "Generate new backup verification codes for the user.",
4121+ "parameters": {
4122+ "userKey": {
4123+ "type": "string",
4124+ "description": "Email or immutable Id of the user",
4125+ "required": true,
4126+ "location": "path"
4127+ }
4128+ },
4129+ "parameterOrder": [
4130+ "userKey"
4131+ ],
4132+ "scopes": [
4133+ "https://www.googleapis.com/auth/admin.directory.user.security"
4134+ ]
4135+ },
4136+ "invalidate": {
4137+ "id": "directory.verificationCodes.invalidate",
4138+ "path": "users/{userKey}/verificationCodes/invalidate",
4139+ "httpMethod": "POST",
4140+ "description": "Invalidate the current backup verification codes for the user.",
4141+ "parameters": {
4142+ "userKey": {
4143+ "type": "string",
4144+ "description": "Email or immutable Id of the user",
4145+ "required": true,
4146+ "location": "path"
4147+ }
4148+ },
4149+ "parameterOrder": [
4150+ "userKey"
4151+ ],
4152+ "scopes": [
4153+ "https://www.googleapis.com/auth/admin.directory.user.security"
4154+ ]
4155+ },
4156+ "list": {
4157+ "id": "directory.verificationCodes.list",
4158+ "path": "users/{userKey}/verificationCodes",
4159+ "httpMethod": "GET",
4160+ "description": "Returns the current set of valid backup verification codes for the specified user.",
4161+ "parameters": {
4162+ "userKey": {
4163+ "type": "string",
4164+ "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.",
4165+ "required": true,
4166+ "location": "path"
4167+ }
4168+ },
4169+ "parameterOrder": [
4170+ "userKey"
4171+ ],
4172+ "response": {
4173+ "$ref": "VerificationCodes"
4174+ },
4175+ "scopes": [
4176+ "https://www.googleapis.com/auth/admin.directory.user.security"
4177+ ]
4178+ }
4179+ }
4180+ }
4181+ }
4182+}
gen/model/admin/admin/email_migration/v2/admin-api.jsonnew file+173
@@ -0,0 +1,173 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/_VRzIG5q4_x1FzCCxocLHIuiUhw\"",
4+ "discoveryVersion": "v1",
5+ "id": "admin:email_migration_v2",
6+ "name": "admin",
7+ "version": "email_migration_v2",
8+ "revision": "20150303",
9+ "title": "Email Migration API v2",
10+ "description": "Email Migration API lets you migrate emails of users to Google backends.",
11+ "ownerDomain": "google.com",
12+ "ownerName": "Google",
13+ "icons": {
14+ "x16": "https://www.google.com/images/icons/product/googlemail-16.png",
15+ "x32": "https://www.google.com/images/icons/product/googlemail-32.png"
16+ },
17+ "documentationLink": "https://developers.google.com/admin-sdk/email-migration/v2/",
18+ "protocol": "rest",
19+ "baseUrl": "https://www.googleapis.com/email/v2/users/",
20+ "basePath": "/email/v2/users/",
21+ "rootUrl": "https://www.googleapis.com/",
22+ "servicePath": "email/v2/users/",
23+ "batchPath": "batch",
24+ "parameters": {
25+ "alt": {
26+ "type": "string",
27+ "description": "Data format for the response.",
28+ "default": "json",
29+ "enum": [
30+ "json"
31+ ],
32+ "enumDescriptions": [
33+ "Responses with Content-Type of application/json"
34+ ],
35+ "location": "query"
36+ },
37+ "fields": {
38+ "type": "string",
39+ "description": "Selector specifying which fields to include in a partial response.",
40+ "location": "query"
41+ },
42+ "key": {
43+ "type": "string",
44+ "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.",
45+ "location": "query"
46+ },
47+ "oauth_token": {
48+ "type": "string",
49+ "description": "OAuth 2.0 token for the current user.",
50+ "location": "query"
51+ },
52+ "prettyPrint": {
53+ "type": "boolean",
54+ "description": "Returns response with indentations and line breaks.",
55+ "default": "true",
56+ "location": "query"
57+ },
58+ "quotaUser": {
59+ "type": "string",
60+ "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.",
61+ "location": "query"
62+ },
63+ "userIp": {
64+ "type": "string",
65+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
66+ "location": "query"
67+ }
68+ },
69+ "auth": {
70+ "oauth2": {
71+ "scopes": {
72+ "https://www.googleapis.com/auth/email.migration": {
73+ "description": "Manage email messages of users on your domain"
74+ }
75+ }
76+ }
77+ },
78+ "schemas": {
79+ "MailItem": {
80+ "id": "MailItem",
81+ "type": "object",
82+ "description": "JSON template for MailItem object in Email Migration API.",
83+ "properties": {
84+ "isDeleted": {
85+ "type": "boolean",
86+ "description": "Boolean indicating if the mail is deleted (used in Vault)"
87+ },
88+ "isDraft": {
89+ "type": "boolean",
90+ "description": "Boolean indicating if the mail is draft"
91+ },
92+ "isInbox": {
93+ "type": "boolean",
94+ "description": "Boolean indicating if the mail is in inbox"
95+ },
96+ "isSent": {
97+ "type": "boolean",
98+ "description": "Boolean indicating if the mail is in 'sent mails'"
99+ },
100+ "isStarred": {
101+ "type": "boolean",
102+ "description": "Boolean indicating if the mail is starred"
103+ },
104+ "isTrash": {
105+ "type": "boolean",
106+ "description": "Boolean indicating if the mail is in trash"
107+ },
108+ "isUnread": {
109+ "type": "boolean",
110+ "description": "Boolean indicating if the mail is unread"
111+ },
112+ "kind": {
113+ "type": "string",
114+ "description": "Kind of resource this is.",
115+ "default": "mailItem"
116+ },
117+ "labels": {
118+ "type": "array",
119+ "description": "List of labels (strings)",
120+ "items": {
121+ "type": "string"
122+ }
123+ }
124+ }
125+ }
126+ },
127+ "resources": {
128+ "mail": {
129+ "methods": {
130+ "insert": {
131+ "id": "emailMigration.mail.insert",
132+ "path": "{userKey}/mail",
133+ "httpMethod": "POST",
134+ "description": "Insert Mail into Google's Gmail backends",
135+ "parameters": {
136+ "userKey": {
137+ "type": "string",
138+ "description": "The email or immutable id of the user",
139+ "required": true,
140+ "location": "path"
141+ }
142+ },
143+ "parameterOrder": [
144+ "userKey"
145+ ],
146+ "request": {
147+ "$ref": "MailItem"
148+ },
149+ "scopes": [
150+ "https://www.googleapis.com/auth/email.migration"
151+ ],
152+ "supportsMediaUpload": true,
153+ "mediaUpload": {
154+ "accept": [
155+ "message/rfc822"
156+ ],
157+ "maxSize": "35MB",
158+ "protocols": {
159+ "simple": {
160+ "multipart": true,
161+ "path": "/upload/email/v2/users/{userKey}/mail"
162+ },
163+ "resumable": {
164+ "multipart": true,
165+ "path": "/resumable/upload/email/v2/users/{userKey}/mail"
166+ }
167+ }
168+ }
169+ }
170+ }
171+ }
172+ }
173+}
gen/model/admin/admin/reports/v1/admin-api.jsonnew file+744
@@ -0,0 +1,744 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/lycAHH8x-Ct6oDsJmcDO1AWwIZ4\"",
4+ "discoveryVersion": "v1",
5+ "id": "admin:reports_v1",
6+ "name": "admin",
7+ "canonicalName": "reports",
8+ "version": "reports_v1",
9+ "revision": "20150907",
10+ "title": "Admin Reports API",
11+ "description": "Allows the administrators of Google Apps customers to fetch reports about the usage, collaboration, security and risk for their users.",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "packagePath": "admin",
15+ "icons": {
16+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
17+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
18+ },
19+ "documentationLink": "https://developers.google.com/admin-sdk/reports/",
20+ "protocol": "rest",
21+ "baseUrl": "https://www.googleapis.com/admin/reports/v1/",
22+ "basePath": "/admin/reports/v1/",
23+ "rootUrl": "https://www.googleapis.com/",
24+ "servicePath": "admin/reports/v1/",
25+ "batchPath": "batch",
26+ "parameters": {
27+ "alt": {
28+ "type": "string",
29+ "description": "Data format for the response.",
30+ "default": "json",
31+ "enum": [
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of application/json"
36+ ],
37+ "location": "query"
38+ },
39+ "fields": {
40+ "type": "string",
41+ "description": "Selector specifying which fields to include in a partial response.",
42+ "location": "query"
43+ },
44+ "key": {
45+ "type": "string",
46+ "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.",
47+ "location": "query"
48+ },
49+ "oauth_token": {
50+ "type": "string",
51+ "description": "OAuth 2.0 token for the current user.",
52+ "location": "query"
53+ },
54+ "prettyPrint": {
55+ "type": "boolean",
56+ "description": "Returns response with indentations and line breaks.",
57+ "default": "true",
58+ "location": "query"
59+ },
60+ "quotaUser": {
61+ "type": "string",
62+ "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.",
63+ "location": "query"
64+ },
65+ "userIp": {
66+ "type": "string",
67+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
68+ "location": "query"
69+ }
70+ },
71+ "auth": {
72+ "oauth2": {
73+ "scopes": {
74+ "https://www.googleapis.com/auth/admin.reports.audit.readonly": {
75+ "description": "View audit reports of Google Apps for your domain"
76+ },
77+ "https://www.googleapis.com/auth/admin.reports.usage.readonly": {
78+ "description": "View usage reports of Google Apps for your domain"
79+ }
80+ }
81+ }
82+ },
83+ "schemas": {
84+ "Activities": {
85+ "id": "Activities",
86+ "type": "object",
87+ "description": "JSON template for a collection of activites.",
88+ "properties": {
89+ "etag": {
90+ "type": "string",
91+ "description": "ETag of the resource."
92+ },
93+ "items": {
94+ "type": "array",
95+ "description": "Each record in read response.",
96+ "items": {
97+ "$ref": "Activity"
98+ }
99+ },
100+ "kind": {
101+ "type": "string",
102+ "description": "Kind of list response this is.",
103+ "default": "admin#reports#activities"
104+ },
105+ "nextPageToken": {
106+ "type": "string",
107+ "description": "Token for retrieving the next page"
108+ }
109+ }
110+ },
111+ "Activity": {
112+ "id": "Activity",
113+ "type": "object",
114+ "description": "JSON template for the activity resource.",
115+ "properties": {
116+ "actor": {
117+ "type": "object",
118+ "description": "User doing the action.",
119+ "properties": {
120+ "callerType": {
121+ "type": "string",
122+ "description": "User or OAuth 2LO request."
123+ },
124+ "email": {
125+ "type": "string",
126+ "description": "Email address of the user."
127+ },
128+ "key": {
129+ "type": "string",
130+ "description": "For OAuth 2LO API requests, consumer_key of the requestor."
131+ },
132+ "profileId": {
133+ "type": "string",
134+ "description": "Obfuscated user id of the user."
135+ }
136+ }
137+ },
138+ "etag": {
139+ "type": "string",
140+ "description": "ETag of the entry."
141+ },
142+ "events": {
143+ "type": "array",
144+ "description": "Activity events.",
145+ "items": {
146+ "type": "object",
147+ "properties": {
148+ "name": {
149+ "type": "string",
150+ "description": "Name of event."
151+ },
152+ "parameters": {
153+ "type": "array",
154+ "description": "Parameter value pairs for various applications.",
155+ "items": {
156+ "type": "object",
157+ "properties": {
158+ "boolValue": {
159+ "type": "boolean",
160+ "description": "Boolean value of the parameter."
161+ },
162+ "intValue": {
163+ "type": "string",
164+ "description": "Integral value of the parameter.",
165+ "format": "int64"
166+ },
167+ "multiIntValue": {
168+ "type": "array",
169+ "description": "Multi-int value of the parameter.",
170+ "items": {
171+ "type": "string",
172+ "format": "int64"
173+ }
174+ },
175+ "multiValue": {
176+ "type": "array",
177+ "description": "Multi-string value of the parameter.",
178+ "items": {
179+ "type": "string"
180+ }
181+ },
182+ "name": {
183+ "type": "string",
184+ "description": "The name of the parameter."
185+ },
186+ "value": {
187+ "type": "string",
188+ "description": "String value of the parameter."
189+ }
190+ }
191+ }
192+ },
193+ "type": {
194+ "type": "string",
195+ "description": "Type of event."
196+ }
197+ }
198+ }
199+ },
200+ "id": {
201+ "type": "object",
202+ "description": "Unique identifier for each activity record.",
203+ "properties": {
204+ "applicationName": {
205+ "type": "string",
206+ "description": "Application name to which the event belongs."
207+ },
208+ "customerId": {
209+ "type": "string",
210+ "description": "Obfuscated customer ID of the source customer."
211+ },
212+ "time": {
213+ "type": "string",
214+ "description": "Time of occurrence of the activity.",
215+ "format": "date-time"
216+ },
217+ "uniqueQualifier": {
218+ "type": "string",
219+ "description": "Unique qualifier if multiple events have the same time.",
220+ "format": "int64"
221+ }
222+ }
223+ },
224+ "ipAddress": {
225+ "type": "string",
226+ "description": "IP Address of the user doing the action."
227+ },
228+ "kind": {
229+ "type": "string",
230+ "description": "Kind of resource this is.",
231+ "default": "admin#reports#activity"
232+ },
233+ "ownerDomain": {
234+ "type": "string",
235+ "description": "Domain of source customer."
236+ }
237+ }
238+ },
239+ "Channel": {
240+ "id": "Channel",
241+ "type": "object",
242+ "description": "An notification channel used to watch for resource changes.",
243+ "properties": {
244+ "address": {
245+ "type": "string",
246+ "description": "The address where notifications are delivered for this channel."
247+ },
248+ "expiration": {
249+ "type": "string",
250+ "description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.",
251+ "format": "int64"
252+ },
253+ "id": {
254+ "type": "string",
255+ "description": "A UUID or similar unique string that identifies this channel."
256+ },
257+ "kind": {
258+ "type": "string",
259+ "description": "Identifies this as a notification channel used to watch for changes to a resource. Value: the fixed string \"api#channel\".",
260+ "default": "api#channel"
261+ },
262+ "params": {
263+ "type": "object",
264+ "description": "Additional parameters controlling delivery channel behavior. Optional.",
265+ "additionalProperties": {
266+ "type": "string",
267+ "description": "Declares a new parameter by name."
268+ }
269+ },
270+ "payload": {
271+ "type": "boolean",
272+ "description": "A Boolean value to indicate whether payload is wanted. Optional."
273+ },
274+ "resourceId": {
275+ "type": "string",
276+ "description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions."
277+ },
278+ "resourceUri": {
279+ "type": "string",
280+ "description": "A version-specific identifier for the watched resource."
281+ },
282+ "token": {
283+ "type": "string",
284+ "description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional."
285+ },
286+ "type": {
287+ "type": "string",
288+ "description": "The type of delivery mechanism used for this channel."
289+ }
290+ }
291+ },
292+ "UsageReport": {
293+ "id": "UsageReport",
294+ "type": "object",
295+ "description": "JSON template for a usage report.",
296+ "properties": {
297+ "date": {
298+ "type": "string",
299+ "description": "The date to which the record belongs.",
300+ "readOnly": true
301+ },
302+ "entity": {
303+ "type": "object",
304+ "description": "Information about the type of the item.",
305+ "readOnly": true,
306+ "properties": {
307+ "customerId": {
308+ "type": "string",
309+ "description": "Obfuscated customer id for the record.",
310+ "readOnly": true
311+ },
312+ "profileId": {
313+ "type": "string",
314+ "description": "Obfuscated user id for the record.",
315+ "readOnly": true
316+ },
317+ "type": {
318+ "type": "string",
319+ "description": "The type of item, can be a customer or user.",
320+ "readOnly": true
321+ },
322+ "userEmail": {
323+ "type": "string",
324+ "description": "user's email.",
325+ "readOnly": true
326+ }
327+ }
328+ },
329+ "etag": {
330+ "type": "string",
331+ "description": "ETag of the resource."
332+ },
333+ "kind": {
334+ "type": "string",
335+ "description": "The kind of object.",
336+ "default": "admin#reports#usageReport"
337+ },
338+ "parameters": {
339+ "type": "array",
340+ "description": "Parameter value pairs for various applications.",
341+ "readOnly": true,
342+ "items": {
343+ "type": "object",
344+ "properties": {
345+ "boolValue": {
346+ "type": "boolean",
347+ "description": "Boolean value of the parameter.",
348+ "readOnly": true
349+ },
350+ "datetimeValue": {
351+ "type": "string",
352+ "description": "RFC 3339 formatted value of the parameter.",
353+ "format": "date-time",
354+ "readOnly": true
355+ },
356+ "intValue": {
357+ "type": "string",
358+ "description": "Integral value of the parameter.",
359+ "format": "int64",
360+ "readOnly": true
361+ },
362+ "msgValue": {
363+ "type": "array",
364+ "description": "Nested message value of the parameter.",
365+ "readOnly": true,
366+ "items": {
367+ "type": "object",
368+ "additionalProperties": {
369+ "type": "any"
370+ }
371+ }
372+ },
373+ "name": {
374+ "type": "string",
375+ "description": "The name of the parameter."
376+ },
377+ "stringValue": {
378+ "type": "string",
379+ "description": "String value of the parameter.",
380+ "readOnly": true
381+ }
382+ }
383+ }
384+ }
385+ }
386+ },
387+ "UsageReports": {
388+ "id": "UsageReports",
389+ "type": "object",
390+ "description": "JSON template for a collection of usage reports.",
391+ "properties": {
392+ "etag": {
393+ "type": "string",
394+ "description": "ETag of the resource."
395+ },
396+ "kind": {
397+ "type": "string",
398+ "description": "The kind of object.",
399+ "default": "admin#reports#usageReports"
400+ },
401+ "nextPageToken": {
402+ "type": "string",
403+ "description": "Token for retrieving the next page"
404+ },
405+ "usageReports": {
406+ "type": "array",
407+ "description": "Various application parameter records.",
408+ "items": {
409+ "$ref": "UsageReport"
410+ }
411+ },
412+ "warnings": {
413+ "type": "array",
414+ "description": "Warnings if any.",
415+ "items": {
416+ "type": "object",
417+ "properties": {
418+ "code": {
419+ "type": "string",
420+ "description": "Machine readable code / warning type."
421+ },
422+ "data": {
423+ "type": "array",
424+ "description": "Key-Value pairs to give detailed information on the warning.",
425+ "items": {
426+ "type": "object",
427+ "properties": {
428+ "key": {
429+ "type": "string",
430+ "description": "Key associated with a key-value pair to give detailed information on the warning."
431+ },
432+ "value": {
433+ "type": "string",
434+ "description": "Value associated with a key-value pair to give detailed information on the warning."
435+ }
436+ }
437+ }
438+ },
439+ "message": {
440+ "type": "string",
441+ "description": "Human readable message for the warning."
442+ }
443+ }
444+ }
445+ }
446+ }
447+ }
448+ },
449+ "resources": {
450+ "activities": {
451+ "methods": {
452+ "list": {
453+ "id": "reports.activities.list",
454+ "path": "activity/users/{userKey}/applications/{applicationName}",
455+ "httpMethod": "GET",
456+ "description": "Retrieves a list of activities for a specific customer and application.",
457+ "parameters": {
458+ "actorIpAddress": {
459+ "type": "string",
460+ "description": "IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.",
461+ "location": "query"
462+ },
463+ "applicationName": {
464+ "type": "string",
465+ "description": "Application name for which the events are to be retrieved.",
466+ "required": true,
467+ "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)",
468+ "location": "path"
469+ },
470+ "customerId": {
471+ "type": "string",
472+ "description": "Represents the customer for which the data is to be fetched.",
473+ "pattern": "C.+",
474+ "location": "query"
475+ },
476+ "endTime": {
477+ "type": "string",
478+ "description": "Return events which occured at or before this time.",
479+ "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
480+ "location": "query"
481+ },
482+ "eventName": {
483+ "type": "string",
484+ "description": "Name of the event being queried.",
485+ "location": "query"
486+ },
487+ "filters": {
488+ "type": "string",
489+ "description": "Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...",
490+ "pattern": "(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+,)*(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+)",
491+ "location": "query"
492+ },
493+ "maxResults": {
494+ "type": "integer",
495+ "description": "Number of activity records to be shown in each page.",
496+ "format": "int32",
497+ "minimum": "1",
498+ "maximum": "1000",
499+ "location": "query"
500+ },
501+ "pageToken": {
502+ "type": "string",
503+ "description": "Token to specify next page.",
504+ "location": "query"
505+ },
506+ "startTime": {
507+ "type": "string",
508+ "description": "Return events which occured at or after this time.",
509+ "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
510+ "location": "query"
511+ },
512+ "userKey": {
513+ "type": "string",
514+ "description": "Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users.",
515+ "required": true,
516+ "location": "path"
517+ }
518+ },
519+ "parameterOrder": [
520+ "userKey",
521+ "applicationName"
522+ ],
523+ "response": {
524+ "$ref": "Activities"
525+ },
526+ "scopes": [
527+ "https://www.googleapis.com/auth/admin.reports.audit.readonly"
528+ ],
529+ "supportsSubscription": true
530+ },
531+ "watch": {
532+ "id": "reports.activities.watch",
533+ "path": "activity/users/{userKey}/applications/{applicationName}/watch",
534+ "httpMethod": "POST",
535+ "description": "Push changes to activities",
536+ "parameters": {
537+ "actorIpAddress": {
538+ "type": "string",
539+ "description": "IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses.",
540+ "location": "query"
541+ },
542+ "applicationName": {
543+ "type": "string",
544+ "description": "Application name for which the events are to be retrieved.",
545+ "required": true,
546+ "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)",
547+ "location": "path"
548+ },
549+ "customerId": {
550+ "type": "string",
551+ "description": "Represents the customer for which the data is to be fetched.",
552+ "pattern": "C.+",
553+ "location": "query"
554+ },
555+ "endTime": {
556+ "type": "string",
557+ "description": "Return events which occured at or before this time.",
558+ "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
559+ "location": "query"
560+ },
561+ "eventName": {
562+ "type": "string",
563+ "description": "Name of the event being queried.",
564+ "location": "query"
565+ },
566+ "filters": {
567+ "type": "string",
568+ "description": "Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],...",
569+ "pattern": "(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+,)*(.+[\u003c,\u003c=,==,\u003e=,\u003e,\u003c\u003e].+)",
570+ "location": "query"
571+ },
572+ "maxResults": {
573+ "type": "integer",
574+ "description": "Number of activity records to be shown in each page.",
575+ "format": "int32",
576+ "minimum": "1",
577+ "maximum": "1000",
578+ "location": "query"
579+ },
580+ "pageToken": {
581+ "type": "string",
582+ "description": "Token to specify next page.",
583+ "location": "query"
584+ },
585+ "startTime": {
586+ "type": "string",
587+ "description": "Return events which occured at or after this time.",
588+ "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))",
589+ "location": "query"
590+ },
591+ "userKey": {
592+ "type": "string",
593+ "description": "Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users.",
594+ "required": true,
595+ "location": "path"
596+ }
597+ },
598+ "parameterOrder": [
599+ "userKey",
600+ "applicationName"
601+ ],
602+ "request": {
603+ "$ref": "Channel",
604+ "parameterName": "resource"
605+ },
606+ "response": {
607+ "$ref": "Channel"
608+ },
609+ "scopes": [
610+ "https://www.googleapis.com/auth/admin.reports.audit.readonly"
611+ ],
612+ "supportsSubscription": true
613+ }
614+ }
615+ },
616+ "channels": {
617+ "methods": {
618+ "stop": {
619+ "id": "admin.channels.stop",
620+ "path": "/admin/reports_v1/channels/stop",
621+ "httpMethod": "POST",
622+ "description": "Stop watching resources through this channel",
623+ "request": {
624+ "$ref": "Channel",
625+ "parameterName": "resource"
626+ },
627+ "scopes": [
628+ "https://www.googleapis.com/auth/admin.reports.audit.readonly"
629+ ]
630+ }
631+ }
632+ },
633+ "customerUsageReports": {
634+ "methods": {
635+ "get": {
636+ "id": "reports.customerUsageReports.get",
637+ "path": "usage/dates/{date}",
638+ "httpMethod": "GET",
639+ "description": "Retrieves a report which is a collection of properties / statistics for a specific customer.",
640+ "parameters": {
641+ "customerId": {
642+ "type": "string",
643+ "description": "Represents the customer for which the data is to be fetched.",
644+ "pattern": "C.+",
645+ "location": "query"
646+ },
647+ "date": {
648+ "type": "string",
649+ "description": "Represents the date in yyyy-mm-dd format for which the data is to be fetched.",
650+ "required": true,
651+ "pattern": "(\\d){4}-(\\d){2}-(\\d){2}",
652+ "location": "path"
653+ },
654+ "pageToken": {
655+ "type": "string",
656+ "description": "Token to specify next page.",
657+ "location": "query"
658+ },
659+ "parameters": {
660+ "type": "string",
661+ "description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.",
662+ "pattern": "(((accounts)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)):.+,)*(((accounts)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)):.+)",
663+ "location": "query"
664+ }
665+ },
666+ "parameterOrder": [
667+ "date"
668+ ],
669+ "response": {
670+ "$ref": "UsageReports"
671+ },
672+ "scopes": [
673+ "https://www.googleapis.com/auth/admin.reports.usage.readonly"
674+ ]
675+ }
676+ }
677+ },
678+ "userUsageReport": {
679+ "methods": {
680+ "get": {
681+ "id": "reports.userUsageReport.get",
682+ "path": "usage/users/{userKey}/dates/{date}",
683+ "httpMethod": "GET",
684+ "description": "Retrieves a report which is a collection of properties / statistics for a set of users.",
685+ "parameters": {
686+ "customerId": {
687+ "type": "string",
688+ "description": "Represents the customer for which the data is to be fetched.",
689+ "pattern": "C.+",
690+ "location": "query"
691+ },
692+ "date": {
693+ "type": "string",
694+ "description": "Represents the date in yyyy-mm-dd format for which the data is to be fetched.",
695+ "required": true,
696+ "pattern": "(\\d){4}-(\\d){2}-(\\d){2}",
697+ "location": "path"
698+ },
699+ "filters": {
700+ "type": "string",
701+ "description": "Represents the set of filters including parameter operator value.",
702+ "pattern": "(((accounts)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)):.+[\u003c,\u003c=,==,\u003e=,\u003e,!=].+,)*(((accounts)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)):.+[\u003c,\u003c=,==,\u003e=,\u003e,!=].+)",
703+ "location": "query"
704+ },
705+ "maxResults": {
706+ "type": "integer",
707+ "description": "Maximum number of results to return. Maximum allowed is 1000",
708+ "format": "uint32",
709+ "maximum": "1000",
710+ "location": "query"
711+ },
712+ "pageToken": {
713+ "type": "string",
714+ "description": "Token to specify next page.",
715+ "location": "query"
716+ },
717+ "parameters": {
718+ "type": "string",
719+ "description": "Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2.",
720+ "pattern": "(((accounts)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)):.+,)*(((accounts)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)):.+)",
721+ "location": "query"
722+ },
723+ "userKey": {
724+ "type": "string",
725+ "description": "Represents the profile id or the user email for which the data should be filtered.",
726+ "required": true,
727+ "location": "path"
728+ }
729+ },
730+ "parameterOrder": [
731+ "userKey",
732+ "date"
733+ ],
734+ "response": {
735+ "$ref": "UsageReports"
736+ },
737+ "scopes": [
738+ "https://www.googleapis.com/auth/admin.reports.usage.readonly"
739+ ]
740+ }
741+ }
742+ }
743+ }
744+}
gen/model/adsense/adsense/v1.2/adsense-api.jsonnew file+1949
@@ -0,0 +1,1949 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/4sbh2CScTU4USzSvCohsjZ1YVxQ\"",
4+ "discoveryVersion": "v1",
5+ "id": "adsense:v1.2",
6+ "name": "adsense",
7+ "canonicalName": "AdSense",
8+ "version": "v1.2",
9+ "revision": "20141218",
10+ "title": "AdSense Management API",
11+ "description": "Gives AdSense publishers access to their inventory and the ability to generate reports",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/adsense-16.png",
16+ "x32": "https://www.google.com/images/icons/product/adsense-32.png"
17+ },
18+ "documentationLink": "https://developers.google.com/adsense/management/",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adsense/v1.2/",
21+ "basePath": "/adsense/v1.2/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adsense/v1.2/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "csv",
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of text/csv",
36+ "Responses with Content-Type of application/json"
37+ ],
38+ "location": "query"
39+ },
40+ "fields": {
41+ "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
43+ "location": "query"
44+ },
45+ "key": {
46+ "type": "string",
47+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
48+ "location": "query"
49+ },
50+ "oauth_token": {
51+ "type": "string",
52+ "description": "OAuth 2.0 token for the current user.",
53+ "location": "query"
54+ },
55+ "prettyPrint": {
56+ "type": "boolean",
57+ "description": "Returns response with indentations and line breaks.",
58+ "default": "true",
59+ "location": "query"
60+ },
61+ "quotaUser": {
62+ "type": "string",
63+ "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.",
64+ "location": "query"
65+ },
66+ "userIp": {
67+ "type": "string",
68+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
69+ "location": "query"
70+ }
71+ },
72+ "auth": {
73+ "oauth2": {
74+ "scopes": {
75+ "https://www.googleapis.com/auth/adsense": {
76+ "description": "View and manage your AdSense data"
77+ },
78+ "https://www.googleapis.com/auth/adsense.readonly": {
79+ "description": "View your AdSense data"
80+ }
81+ }
82+ }
83+ },
84+ "schemas": {
85+ "Account": {
86+ "id": "Account",
87+ "type": "object",
88+ "properties": {
89+ "id": {
90+ "type": "string",
91+ "description": "Unique identifier of this account."
92+ },
93+ "kind": {
94+ "type": "string",
95+ "description": "Kind of resource this is, in this case adsense#account.",
96+ "default": "adsense#account"
97+ },
98+ "name": {
99+ "type": "string",
100+ "description": "Name of this account."
101+ },
102+ "premium": {
103+ "type": "boolean",
104+ "description": "Whether this account is premium."
105+ },
106+ "subAccounts": {
107+ "type": "array",
108+ "description": "Sub accounts of the this account.",
109+ "items": {
110+ "$ref": "Account"
111+ }
112+ }
113+ }
114+ },
115+ "Accounts": {
116+ "id": "Accounts",
117+ "type": "object",
118+ "properties": {
119+ "etag": {
120+ "type": "string",
121+ "description": "ETag of this response for caching purposes."
122+ },
123+ "items": {
124+ "type": "array",
125+ "description": "The accounts returned in this list response.",
126+ "items": {
127+ "$ref": "Account"
128+ }
129+ },
130+ "kind": {
131+ "type": "string",
132+ "description": "Kind of list this is, in this case adsense#accounts.",
133+ "default": "adsense#accounts"
134+ },
135+ "nextPageToken": {
136+ "type": "string",
137+ "description": "Continuation token used to page through accounts. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
138+ }
139+ }
140+ },
141+ "AdClient": {
142+ "id": "AdClient",
143+ "type": "object",
144+ "properties": {
145+ "arcOptIn": {
146+ "type": "boolean",
147+ "description": "Whether this ad client is opted in to ARC."
148+ },
149+ "id": {
150+ "type": "string",
151+ "description": "Unique identifier of this ad client."
152+ },
153+ "kind": {
154+ "type": "string",
155+ "description": "Kind of resource this is, in this case adsense#adClient.",
156+ "default": "adsense#adClient"
157+ },
158+ "productCode": {
159+ "type": "string",
160+ "description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension."
161+ },
162+ "supportsReporting": {
163+ "type": "boolean",
164+ "description": "Whether this ad client supports being reported on."
165+ }
166+ }
167+ },
168+ "AdClients": {
169+ "id": "AdClients",
170+ "type": "object",
171+ "properties": {
172+ "etag": {
173+ "type": "string",
174+ "description": "ETag of this response for caching purposes."
175+ },
176+ "items": {
177+ "type": "array",
178+ "description": "The ad clients returned in this list response.",
179+ "items": {
180+ "$ref": "AdClient"
181+ }
182+ },
183+ "kind": {
184+ "type": "string",
185+ "description": "Kind of list this is, in this case adsense#adClients.",
186+ "default": "adsense#adClients"
187+ },
188+ "nextPageToken": {
189+ "type": "string",
190+ "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."
191+ }
192+ }
193+ },
194+ "AdStyle": {
195+ "id": "AdStyle",
196+ "type": "object",
197+ "properties": {
198+ "colors": {
199+ "type": "object",
200+ "description": "The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.",
201+ "properties": {
202+ "background": {
203+ "type": "string",
204+ "description": "The color of the ad background."
205+ },
206+ "border": {
207+ "type": "string",
208+ "description": "The color of the ad border."
209+ },
210+ "text": {
211+ "type": "string",
212+ "description": "The color of the ad text."
213+ },
214+ "title": {
215+ "type": "string",
216+ "description": "The color of the ad title."
217+ },
218+ "url": {
219+ "type": "string",
220+ "description": "The color of the ad url."
221+ }
222+ }
223+ },
224+ "corners": {
225+ "type": "string",
226+ "description": "The style of the corners in the ad."
227+ },
228+ "font": {
229+ "type": "object",
230+ "description": "The font which is included in the style.",
231+ "properties": {
232+ "family": {
233+ "type": "string",
234+ "description": "The family of the font."
235+ },
236+ "size": {
237+ "type": "string",
238+ "description": "The size of the font."
239+ }
240+ }
241+ },
242+ "kind": {
243+ "type": "string",
244+ "description": "Kind this is, in this case adsense#adStyle.",
245+ "default": "adsense#adStyle"
246+ }
247+ }
248+ },
249+ "AdUnit": {
250+ "id": "AdUnit",
251+ "type": "object",
252+ "properties": {
253+ "code": {
254+ "type": "string",
255+ "description": "Identity code of this ad unit, not necessarily unique across ad clients."
256+ },
257+ "contentAdsSettings": {
258+ "type": "object",
259+ "description": "Settings specific to content ads (AFC) and highend mobile content ads (AFMC).",
260+ "properties": {
261+ "backupOption": {
262+ "type": "object",
263+ "description": "The backup option to be used in instances where no ad is available.",
264+ "properties": {
265+ "color": {
266+ "type": "string",
267+ "description": "Color to use when type is set to COLOR."
268+ },
269+ "type": {
270+ "type": "string",
271+ "description": "Type of the backup option. Possible values are BLANK, COLOR and URL."
272+ },
273+ "url": {
274+ "type": "string",
275+ "description": "URL to use when type is set to URL."
276+ }
277+ }
278+ },
279+ "size": {
280+ "type": "string",
281+ "description": "Size of this ad unit."
282+ },
283+ "type": {
284+ "type": "string",
285+ "description": "Type of this ad unit."
286+ }
287+ }
288+ },
289+ "customStyle": {
290+ "$ref": "AdStyle",
291+ "description": "Custom style information specific to this ad unit."
292+ },
293+ "feedAdsSettings": {
294+ "type": "object",
295+ "description": "Settings specific to feed ads (AFF).",
296+ "properties": {
297+ "adPosition": {
298+ "type": "string",
299+ "description": "The position of the ads relative to the feed entries."
300+ },
301+ "frequency": {
302+ "type": "integer",
303+ "description": "The frequency at which ads should appear in the feed (i.e. every N entries).",
304+ "format": "int32"
305+ },
306+ "minimumWordCount": {
307+ "type": "integer",
308+ "description": "The minimum length an entry should be in order to have attached ads.",
309+ "format": "int32"
310+ },
311+ "type": {
312+ "type": "string",
313+ "description": "The type of ads which should appear."
314+ }
315+ }
316+ },
317+ "id": {
318+ "type": "string",
319+ "description": "Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
320+ },
321+ "kind": {
322+ "type": "string",
323+ "description": "Kind of resource this is, in this case adsense#adUnit.",
324+ "default": "adsense#adUnit"
325+ },
326+ "mobileContentAdsSettings": {
327+ "type": "object",
328+ "description": "Settings specific to WAP mobile content ads (AFMC).",
329+ "properties": {
330+ "markupLanguage": {
331+ "type": "string",
332+ "description": "The markup language to use for this ad unit."
333+ },
334+ "scriptingLanguage": {
335+ "type": "string",
336+ "description": "The scripting language to use for this ad unit."
337+ },
338+ "size": {
339+ "type": "string",
340+ "description": "Size of this ad unit."
341+ },
342+ "type": {
343+ "type": "string",
344+ "description": "Type of this ad unit."
345+ }
346+ }
347+ },
348+ "name": {
349+ "type": "string",
350+ "description": "Name of this ad unit."
351+ },
352+ "savedStyleId": {
353+ "type": "string",
354+ "description": "ID of the saved ad style which holds this ad unit's style information."
355+ },
356+ "status": {
357+ "type": "string",
358+ "description": "Status of this ad unit. Possible values are:\nNEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.\n\nACTIVE: Indicates that there has been activity on this ad unit in the last seven days.\n\nINACTIVE: Indicates that there has been no activity on this ad unit in the last seven days."
359+ }
360+ }
361+ },
362+ "AdUnits": {
363+ "id": "AdUnits",
364+ "type": "object",
365+ "properties": {
366+ "etag": {
367+ "type": "string",
368+ "description": "ETag of this response for caching purposes."
369+ },
370+ "items": {
371+ "type": "array",
372+ "description": "The ad units returned in this list response.",
373+ "items": {
374+ "$ref": "AdUnit"
375+ }
376+ },
377+ "kind": {
378+ "type": "string",
379+ "description": "Kind of list this is, in this case adsense#adUnits.",
380+ "default": "adsense#adUnits"
381+ },
382+ "nextPageToken": {
383+ "type": "string",
384+ "description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
385+ }
386+ }
387+ },
388+ "AdsenseReportsGenerateResponse": {
389+ "id": "AdsenseReportsGenerateResponse",
390+ "type": "object",
391+ "properties": {
392+ "averages": {
393+ "type": "array",
394+ "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.",
395+ "items": {
396+ "type": "string"
397+ }
398+ },
399+ "headers": {
400+ "type": "array",
401+ "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.",
402+ "items": {
403+ "type": "object",
404+ "properties": {
405+ "currency": {
406+ "type": "string",
407+ "description": "The currency of this column. Only present if the header type is METRIC_CURRENCY."
408+ },
409+ "name": {
410+ "type": "string",
411+ "description": "The name of the header."
412+ },
413+ "type": {
414+ "type": "string",
415+ "description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY."
416+ }
417+ }
418+ }
419+ },
420+ "kind": {
421+ "type": "string",
422+ "description": "Kind this is, in this case adsense#report.",
423+ "default": "adsense#report"
424+ },
425+ "rows": {
426+ "type": "array",
427+ "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.",
428+ "items": {
429+ "type": "array",
430+ "items": {
431+ "type": "string"
432+ }
433+ }
434+ },
435+ "totalMatchedRows": {
436+ "type": "string",
437+ "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.",
438+ "format": "int64"
439+ },
440+ "totals": {
441+ "type": "array",
442+ "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.",
443+ "items": {
444+ "type": "string"
445+ }
446+ },
447+ "warnings": {
448+ "type": "array",
449+ "description": "Any warnings associated with generation of the report.",
450+ "items": {
451+ "type": "string"
452+ }
453+ }
454+ }
455+ },
456+ "CustomChannel": {
457+ "id": "CustomChannel",
458+ "type": "object",
459+ "properties": {
460+ "code": {
461+ "type": "string",
462+ "description": "Code of this custom channel, not necessarily unique across ad clients."
463+ },
464+ "id": {
465+ "type": "string",
466+ "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."
467+ },
468+ "kind": {
469+ "type": "string",
470+ "description": "Kind of resource this is, in this case adsense#customChannel.",
471+ "default": "adsense#customChannel"
472+ },
473+ "name": {
474+ "type": "string",
475+ "description": "Name of this custom channel."
476+ },
477+ "targetingInfo": {
478+ "type": "object",
479+ "description": "The targeting information of this custom channel, if activated.",
480+ "properties": {
481+ "adsAppearOn": {
482+ "type": "string",
483+ "description": "The name used to describe this channel externally."
484+ },
485+ "description": {
486+ "type": "string",
487+ "description": "The external description of the channel."
488+ },
489+ "location": {
490+ "type": "string",
491+ "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."
492+ },
493+ "siteLanguage": {
494+ "type": "string",
495+ "description": "The language of the sites ads will be displayed on."
496+ }
497+ }
498+ }
499+ }
500+ },
501+ "CustomChannels": {
502+ "id": "CustomChannels",
503+ "type": "object",
504+ "properties": {
505+ "etag": {
506+ "type": "string",
507+ "description": "ETag of this response for caching purposes."
508+ },
509+ "items": {
510+ "type": "array",
511+ "description": "The custom channels returned in this list response.",
512+ "items": {
513+ "$ref": "CustomChannel"
514+ }
515+ },
516+ "kind": {
517+ "type": "string",
518+ "description": "Kind of list this is, in this case adsense#customChannels.",
519+ "default": "adsense#customChannels"
520+ },
521+ "nextPageToken": {
522+ "type": "string",
523+ "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."
524+ }
525+ }
526+ },
527+ "SavedAdStyle": {
528+ "id": "SavedAdStyle",
529+ "type": "object",
530+ "properties": {
531+ "adStyle": {
532+ "$ref": "AdStyle",
533+ "description": "The AdStyle itself."
534+ },
535+ "id": {
536+ "type": "string",
537+ "description": "Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
538+ },
539+ "kind": {
540+ "type": "string",
541+ "description": "Kind of resource this is, in this case adsense#savedAdStyle.",
542+ "default": "adsense#savedAdStyle"
543+ },
544+ "name": {
545+ "type": "string",
546+ "description": "The user selected name of this SavedAdStyle."
547+ }
548+ }
549+ },
550+ "SavedAdStyles": {
551+ "id": "SavedAdStyles",
552+ "type": "object",
553+ "properties": {
554+ "etag": {
555+ "type": "string",
556+ "description": "ETag of this response for caching purposes."
557+ },
558+ "items": {
559+ "type": "array",
560+ "description": "The saved ad styles returned in this list response.",
561+ "items": {
562+ "$ref": "SavedAdStyle"
563+ }
564+ },
565+ "kind": {
566+ "type": "string",
567+ "description": "Kind of list this is, in this case adsense#savedAdStyles.",
568+ "default": "adsense#savedAdStyles"
569+ },
570+ "nextPageToken": {
571+ "type": "string",
572+ "description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
573+ }
574+ }
575+ },
576+ "SavedReport": {
577+ "id": "SavedReport",
578+ "type": "object",
579+ "properties": {
580+ "id": {
581+ "type": "string",
582+ "description": "Unique identifier of this saved report."
583+ },
584+ "kind": {
585+ "type": "string",
586+ "description": "Kind of resource this is, in this case adsense#savedReport.",
587+ "default": "adsense#savedReport"
588+ },
589+ "name": {
590+ "type": "string",
591+ "description": "This saved report's name."
592+ }
593+ }
594+ },
595+ "SavedReports": {
596+ "id": "SavedReports",
597+ "type": "object",
598+ "properties": {
599+ "etag": {
600+ "type": "string",
601+ "description": "ETag of this response for caching purposes."
602+ },
603+ "items": {
604+ "type": "array",
605+ "description": "The saved reports returned in this list response.",
606+ "items": {
607+ "$ref": "SavedReport"
608+ }
609+ },
610+ "kind": {
611+ "type": "string",
612+ "description": "Kind of list this is, in this case adsense#savedReports.",
613+ "default": "adsense#savedReports"
614+ },
615+ "nextPageToken": {
616+ "type": "string",
617+ "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."
618+ }
619+ }
620+ },
621+ "UrlChannel": {
622+ "id": "UrlChannel",
623+ "type": "object",
624+ "properties": {
625+ "id": {
626+ "type": "string",
627+ "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."
628+ },
629+ "kind": {
630+ "type": "string",
631+ "description": "Kind of resource this is, in this case adsense#urlChannel.",
632+ "default": "adsense#urlChannel"
633+ },
634+ "urlPattern": {
635+ "type": "string",
636+ "description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home"
637+ }
638+ }
639+ },
640+ "UrlChannels": {
641+ "id": "UrlChannels",
642+ "type": "object",
643+ "properties": {
644+ "etag": {
645+ "type": "string",
646+ "description": "ETag of this response for caching purposes."
647+ },
648+ "items": {
649+ "type": "array",
650+ "description": "The URL channels returned in this list response.",
651+ "items": {
652+ "$ref": "UrlChannel"
653+ }
654+ },
655+ "kind": {
656+ "type": "string",
657+ "description": "Kind of list this is, in this case adsense#urlChannels.",
658+ "default": "adsense#urlChannels"
659+ },
660+ "nextPageToken": {
661+ "type": "string",
662+ "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."
663+ }
664+ }
665+ }
666+ },
667+ "resources": {
668+ "accounts": {
669+ "methods": {
670+ "get": {
671+ "id": "adsense.accounts.get",
672+ "path": "accounts/{accountId}",
673+ "httpMethod": "GET",
674+ "description": "Get information about the selected AdSense account.",
675+ "parameters": {
676+ "accountId": {
677+ "type": "string",
678+ "description": "Account to get information about.",
679+ "required": true,
680+ "location": "path"
681+ },
682+ "tree": {
683+ "type": "boolean",
684+ "description": "Whether the tree of sub accounts should be returned.",
685+ "location": "query"
686+ }
687+ },
688+ "parameterOrder": [
689+ "accountId"
690+ ],
691+ "response": {
692+ "$ref": "Account"
693+ },
694+ "scopes": [
695+ "https://www.googleapis.com/auth/adsense",
696+ "https://www.googleapis.com/auth/adsense.readonly"
697+ ]
698+ },
699+ "list": {
700+ "id": "adsense.accounts.list",
701+ "path": "accounts",
702+ "httpMethod": "GET",
703+ "description": "List all accounts available to this AdSense account.",
704+ "parameters": {
705+ "maxResults": {
706+ "type": "integer",
707+ "description": "The maximum number of accounts to include in the response, used for paging.",
708+ "format": "int32",
709+ "minimum": "0",
710+ "maximum": "10000",
711+ "location": "query"
712+ },
713+ "pageToken": {
714+ "type": "string",
715+ "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.",
716+ "location": "query"
717+ }
718+ },
719+ "response": {
720+ "$ref": "Accounts"
721+ },
722+ "scopes": [
723+ "https://www.googleapis.com/auth/adsense",
724+ "https://www.googleapis.com/auth/adsense.readonly"
725+ ]
726+ }
727+ },
728+ "resources": {
729+ "adclients": {
730+ "methods": {
731+ "list": {
732+ "id": "adsense.accounts.adclients.list",
733+ "path": "accounts/{accountId}/adclients",
734+ "httpMethod": "GET",
735+ "description": "List all ad clients in the specified account.",
736+ "parameters": {
737+ "accountId": {
738+ "type": "string",
739+ "description": "Account for which to list ad clients.",
740+ "required": true,
741+ "location": "path"
742+ },
743+ "maxResults": {
744+ "type": "integer",
745+ "description": "The maximum number of ad clients to include in the response, used for paging.",
746+ "format": "int32",
747+ "minimum": "0",
748+ "maximum": "10000",
749+ "location": "query"
750+ },
751+ "pageToken": {
752+ "type": "string",
753+ "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.",
754+ "location": "query"
755+ }
756+ },
757+ "parameterOrder": [
758+ "accountId"
759+ ],
760+ "response": {
761+ "$ref": "AdClients"
762+ },
763+ "scopes": [
764+ "https://www.googleapis.com/auth/adsense",
765+ "https://www.googleapis.com/auth/adsense.readonly"
766+ ]
767+ }
768+ }
769+ },
770+ "adunits": {
771+ "methods": {
772+ "get": {
773+ "id": "adsense.accounts.adunits.get",
774+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}",
775+ "httpMethod": "GET",
776+ "description": "Gets the specified ad unit in the specified ad client for the specified account.",
777+ "parameters": {
778+ "accountId": {
779+ "type": "string",
780+ "description": "Account to which the ad client belongs.",
781+ "required": true,
782+ "location": "path"
783+ },
784+ "adClientId": {
785+ "type": "string",
786+ "description": "Ad client for which to get the ad unit.",
787+ "required": true,
788+ "location": "path"
789+ },
790+ "adUnitId": {
791+ "type": "string",
792+ "description": "Ad unit to retrieve.",
793+ "required": true,
794+ "location": "path"
795+ }
796+ },
797+ "parameterOrder": [
798+ "accountId",
799+ "adClientId",
800+ "adUnitId"
801+ ],
802+ "response": {
803+ "$ref": "AdUnit"
804+ },
805+ "scopes": [
806+ "https://www.googleapis.com/auth/adsense",
807+ "https://www.googleapis.com/auth/adsense.readonly"
808+ ]
809+ },
810+ "list": {
811+ "id": "adsense.accounts.adunits.list",
812+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits",
813+ "httpMethod": "GET",
814+ "description": "List all ad units in the specified ad client for the specified account.",
815+ "parameters": {
816+ "accountId": {
817+ "type": "string",
818+ "description": "Account to which the ad client belongs.",
819+ "required": true,
820+ "location": "path"
821+ },
822+ "adClientId": {
823+ "type": "string",
824+ "description": "Ad client for which to list ad units.",
825+ "required": true,
826+ "location": "path"
827+ },
828+ "includeInactive": {
829+ "type": "boolean",
830+ "description": "Whether to include inactive ad units. Default: true.",
831+ "location": "query"
832+ },
833+ "maxResults": {
834+ "type": "integer",
835+ "description": "The maximum number of ad units to include in the response, used for paging.",
836+ "format": "int32",
837+ "minimum": "0",
838+ "maximum": "10000",
839+ "location": "query"
840+ },
841+ "pageToken": {
842+ "type": "string",
843+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
844+ "location": "query"
845+ }
846+ },
847+ "parameterOrder": [
848+ "accountId",
849+ "adClientId"
850+ ],
851+ "response": {
852+ "$ref": "AdUnits"
853+ },
854+ "scopes": [
855+ "https://www.googleapis.com/auth/adsense",
856+ "https://www.googleapis.com/auth/adsense.readonly"
857+ ]
858+ }
859+ },
860+ "resources": {
861+ "customchannels": {
862+ "methods": {
863+ "list": {
864+ "id": "adsense.accounts.adunits.customchannels.list",
865+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels",
866+ "httpMethod": "GET",
867+ "description": "List all custom channels which the specified ad unit belongs to.",
868+ "parameters": {
869+ "accountId": {
870+ "type": "string",
871+ "description": "Account to which the ad client belongs.",
872+ "required": true,
873+ "location": "path"
874+ },
875+ "adClientId": {
876+ "type": "string",
877+ "description": "Ad client which contains the ad unit.",
878+ "required": true,
879+ "location": "path"
880+ },
881+ "adUnitId": {
882+ "type": "string",
883+ "description": "Ad unit for which to list custom channels.",
884+ "required": true,
885+ "location": "path"
886+ },
887+ "maxResults": {
888+ "type": "integer",
889+ "description": "The maximum number of custom channels to include in the response, used for paging.",
890+ "format": "int32",
891+ "minimum": "0",
892+ "maximum": "10000",
893+ "location": "query"
894+ },
895+ "pageToken": {
896+ "type": "string",
897+ "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.",
898+ "location": "query"
899+ }
900+ },
901+ "parameterOrder": [
902+ "accountId",
903+ "adClientId",
904+ "adUnitId"
905+ ],
906+ "response": {
907+ "$ref": "CustomChannels"
908+ },
909+ "scopes": [
910+ "https://www.googleapis.com/auth/adsense",
911+ "https://www.googleapis.com/auth/adsense.readonly"
912+ ]
913+ }
914+ }
915+ }
916+ }
917+ },
918+ "customchannels": {
919+ "methods": {
920+ "get": {
921+ "id": "adsense.accounts.customchannels.get",
922+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}",
923+ "httpMethod": "GET",
924+ "description": "Get the specified custom channel from the specified ad client for the specified account.",
925+ "parameters": {
926+ "accountId": {
927+ "type": "string",
928+ "description": "Account to which the ad client belongs.",
929+ "required": true,
930+ "location": "path"
931+ },
932+ "adClientId": {
933+ "type": "string",
934+ "description": "Ad client which contains the custom channel.",
935+ "required": true,
936+ "location": "path"
937+ },
938+ "customChannelId": {
939+ "type": "string",
940+ "description": "Custom channel to retrieve.",
941+ "required": true,
942+ "location": "path"
943+ }
944+ },
945+ "parameterOrder": [
946+ "accountId",
947+ "adClientId",
948+ "customChannelId"
949+ ],
950+ "response": {
951+ "$ref": "CustomChannel"
952+ },
953+ "scopes": [
954+ "https://www.googleapis.com/auth/adsense",
955+ "https://www.googleapis.com/auth/adsense.readonly"
956+ ]
957+ },
958+ "list": {
959+ "id": "adsense.accounts.customchannels.list",
960+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels",
961+ "httpMethod": "GET",
962+ "description": "List all custom channels in the specified ad client for the specified account.",
963+ "parameters": {
964+ "accountId": {
965+ "type": "string",
966+ "description": "Account to which the ad client belongs.",
967+ "required": true,
968+ "location": "path"
969+ },
970+ "adClientId": {
971+ "type": "string",
972+ "description": "Ad client for which to list custom channels.",
973+ "required": true,
974+ "location": "path"
975+ },
976+ "maxResults": {
977+ "type": "integer",
978+ "description": "The maximum number of custom channels to include in the response, used for paging.",
979+ "format": "int32",
980+ "minimum": "0",
981+ "maximum": "10000",
982+ "location": "query"
983+ },
984+ "pageToken": {
985+ "type": "string",
986+ "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.",
987+ "location": "query"
988+ }
989+ },
990+ "parameterOrder": [
991+ "accountId",
992+ "adClientId"
993+ ],
994+ "response": {
995+ "$ref": "CustomChannels"
996+ },
997+ "scopes": [
998+ "https://www.googleapis.com/auth/adsense",
999+ "https://www.googleapis.com/auth/adsense.readonly"
1000+ ]
1001+ }
1002+ },
1003+ "resources": {
1004+ "adunits": {
1005+ "methods": {
1006+ "list": {
1007+ "id": "adsense.accounts.customchannels.adunits.list",
1008+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits",
1009+ "httpMethod": "GET",
1010+ "description": "List all ad units in the specified custom channel.",
1011+ "parameters": {
1012+ "accountId": {
1013+ "type": "string",
1014+ "description": "Account to which the ad client belongs.",
1015+ "required": true,
1016+ "location": "path"
1017+ },
1018+ "adClientId": {
1019+ "type": "string",
1020+ "description": "Ad client which contains the custom channel.",
1021+ "required": true,
1022+ "location": "path"
1023+ },
1024+ "customChannelId": {
1025+ "type": "string",
1026+ "description": "Custom channel for which to list ad units.",
1027+ "required": true,
1028+ "location": "path"
1029+ },
1030+ "includeInactive": {
1031+ "type": "boolean",
1032+ "description": "Whether to include inactive ad units. Default: true.",
1033+ "location": "query"
1034+ },
1035+ "maxResults": {
1036+ "type": "integer",
1037+ "description": "The maximum number of ad units to include in the response, used for paging.",
1038+ "format": "int32",
1039+ "minimum": "0",
1040+ "maximum": "10000",
1041+ "location": "query"
1042+ },
1043+ "pageToken": {
1044+ "type": "string",
1045+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1046+ "location": "query"
1047+ }
1048+ },
1049+ "parameterOrder": [
1050+ "accountId",
1051+ "adClientId",
1052+ "customChannelId"
1053+ ],
1054+ "response": {
1055+ "$ref": "AdUnits"
1056+ },
1057+ "scopes": [
1058+ "https://www.googleapis.com/auth/adsense",
1059+ "https://www.googleapis.com/auth/adsense.readonly"
1060+ ]
1061+ }
1062+ }
1063+ }
1064+ }
1065+ },
1066+ "reports": {
1067+ "methods": {
1068+ "generate": {
1069+ "id": "adsense.accounts.reports.generate",
1070+ "path": "accounts/{accountId}/reports",
1071+ "httpMethod": "GET",
1072+ "description": "Generate an AdSense 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.",
1073+ "parameters": {
1074+ "accountId": {
1075+ "type": "string",
1076+ "description": "Account upon which to report.",
1077+ "required": true,
1078+ "location": "path"
1079+ },
1080+ "currency": {
1081+ "type": "string",
1082+ "description": "Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.",
1083+ "pattern": "[a-zA-Z]+",
1084+ "location": "query"
1085+ },
1086+ "dimension": {
1087+ "type": "string",
1088+ "description": "Dimensions to base the report on.",
1089+ "pattern": "[a-zA-Z_]+",
1090+ "repeated": true,
1091+ "location": "query"
1092+ },
1093+ "endDate": {
1094+ "type": "string",
1095+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1096+ "required": true,
1097+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1098+ "location": "query"
1099+ },
1100+ "filter": {
1101+ "type": "string",
1102+ "description": "Filters to be run on the report.",
1103+ "pattern": "[a-zA-Z_]+(==|=@).+",
1104+ "repeated": true,
1105+ "location": "query"
1106+ },
1107+ "locale": {
1108+ "type": "string",
1109+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1110+ "pattern": "[a-zA-Z_]+",
1111+ "location": "query"
1112+ },
1113+ "maxResults": {
1114+ "type": "integer",
1115+ "description": "The maximum number of rows of report data to return.",
1116+ "format": "int32",
1117+ "minimum": "0",
1118+ "maximum": "50000",
1119+ "location": "query"
1120+ },
1121+ "metric": {
1122+ "type": "string",
1123+ "description": "Numeric columns to include in the report.",
1124+ "pattern": "[a-zA-Z_]+",
1125+ "repeated": true,
1126+ "location": "query"
1127+ },
1128+ "sort": {
1129+ "type": "string",
1130+ "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.",
1131+ "pattern": "(\\+|-)?[a-zA-Z_]+",
1132+ "repeated": true,
1133+ "location": "query"
1134+ },
1135+ "startDate": {
1136+ "type": "string",
1137+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1138+ "required": true,
1139+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1140+ "location": "query"
1141+ },
1142+ "startIndex": {
1143+ "type": "integer",
1144+ "description": "Index of the first row of report data to return.",
1145+ "format": "int32",
1146+ "minimum": "0",
1147+ "maximum": "5000",
1148+ "location": "query"
1149+ }
1150+ },
1151+ "parameterOrder": [
1152+ "accountId",
1153+ "startDate",
1154+ "endDate"
1155+ ],
1156+ "response": {
1157+ "$ref": "AdsenseReportsGenerateResponse"
1158+ },
1159+ "scopes": [
1160+ "https://www.googleapis.com/auth/adsense",
1161+ "https://www.googleapis.com/auth/adsense.readonly"
1162+ ],
1163+ "supportsMediaDownload": true
1164+ }
1165+ },
1166+ "resources": {
1167+ "saved": {
1168+ "methods": {
1169+ "generate": {
1170+ "id": "adsense.accounts.reports.saved.generate",
1171+ "path": "accounts/{accountId}/reports/{savedReportId}",
1172+ "httpMethod": "GET",
1173+ "description": "Generate an AdSense report based on the saved report ID sent in the query parameters.",
1174+ "parameters": {
1175+ "accountId": {
1176+ "type": "string",
1177+ "description": "Account to which the saved reports belong.",
1178+ "required": true,
1179+ "location": "path"
1180+ },
1181+ "locale": {
1182+ "type": "string",
1183+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1184+ "pattern": "[a-zA-Z_]+",
1185+ "location": "query"
1186+ },
1187+ "maxResults": {
1188+ "type": "integer",
1189+ "description": "The maximum number of rows of report data to return.",
1190+ "format": "int32",
1191+ "minimum": "0",
1192+ "maximum": "50000",
1193+ "location": "query"
1194+ },
1195+ "savedReportId": {
1196+ "type": "string",
1197+ "description": "The saved report to retrieve.",
1198+ "required": true,
1199+ "location": "path"
1200+ },
1201+ "startIndex": {
1202+ "type": "integer",
1203+ "description": "Index of the first row of report data to return.",
1204+ "format": "int32",
1205+ "minimum": "0",
1206+ "maximum": "5000",
1207+ "location": "query"
1208+ }
1209+ },
1210+ "parameterOrder": [
1211+ "accountId",
1212+ "savedReportId"
1213+ ],
1214+ "response": {
1215+ "$ref": "AdsenseReportsGenerateResponse"
1216+ },
1217+ "scopes": [
1218+ "https://www.googleapis.com/auth/adsense",
1219+ "https://www.googleapis.com/auth/adsense.readonly"
1220+ ]
1221+ },
1222+ "list": {
1223+ "id": "adsense.accounts.reports.saved.list",
1224+ "path": "accounts/{accountId}/reports/saved",
1225+ "httpMethod": "GET",
1226+ "description": "List all saved reports in the specified AdSense account.",
1227+ "parameters": {
1228+ "accountId": {
1229+ "type": "string",
1230+ "description": "Account to which the saved reports belong.",
1231+ "required": true,
1232+ "location": "path"
1233+ },
1234+ "maxResults": {
1235+ "type": "integer",
1236+ "description": "The maximum number of saved reports to include in the response, used for paging.",
1237+ "format": "int32",
1238+ "minimum": "0",
1239+ "maximum": "100",
1240+ "location": "query"
1241+ },
1242+ "pageToken": {
1243+ "type": "string",
1244+ "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.",
1245+ "location": "query"
1246+ }
1247+ },
1248+ "parameterOrder": [
1249+ "accountId"
1250+ ],
1251+ "response": {
1252+ "$ref": "SavedReports"
1253+ },
1254+ "scopes": [
1255+ "https://www.googleapis.com/auth/adsense",
1256+ "https://www.googleapis.com/auth/adsense.readonly"
1257+ ]
1258+ }
1259+ }
1260+ }
1261+ }
1262+ },
1263+ "savedadstyles": {
1264+ "methods": {
1265+ "get": {
1266+ "id": "adsense.accounts.savedadstyles.get",
1267+ "path": "accounts/{accountId}/savedadstyles/{savedAdStyleId}",
1268+ "httpMethod": "GET",
1269+ "description": "List a specific saved ad style for the specified account.",
1270+ "parameters": {
1271+ "accountId": {
1272+ "type": "string",
1273+ "description": "Account for which to get the saved ad style.",
1274+ "required": true,
1275+ "location": "path"
1276+ },
1277+ "savedAdStyleId": {
1278+ "type": "string",
1279+ "description": "Saved ad style to retrieve.",
1280+ "required": true,
1281+ "location": "path"
1282+ }
1283+ },
1284+ "parameterOrder": [
1285+ "accountId",
1286+ "savedAdStyleId"
1287+ ],
1288+ "response": {
1289+ "$ref": "SavedAdStyle"
1290+ },
1291+ "scopes": [
1292+ "https://www.googleapis.com/auth/adsense",
1293+ "https://www.googleapis.com/auth/adsense.readonly"
1294+ ]
1295+ },
1296+ "list": {
1297+ "id": "adsense.accounts.savedadstyles.list",
1298+ "path": "accounts/{accountId}/savedadstyles",
1299+ "httpMethod": "GET",
1300+ "description": "List all saved ad styles in the specified account.",
1301+ "parameters": {
1302+ "accountId": {
1303+ "type": "string",
1304+ "description": "Account for which to list saved ad styles.",
1305+ "required": true,
1306+ "location": "path"
1307+ },
1308+ "maxResults": {
1309+ "type": "integer",
1310+ "description": "The maximum number of saved ad styles to include in the response, used for paging.",
1311+ "format": "int32",
1312+ "minimum": "0",
1313+ "maximum": "10000",
1314+ "location": "query"
1315+ },
1316+ "pageToken": {
1317+ "type": "string",
1318+ "description": "A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1319+ "location": "query"
1320+ }
1321+ },
1322+ "parameterOrder": [
1323+ "accountId"
1324+ ],
1325+ "response": {
1326+ "$ref": "SavedAdStyles"
1327+ },
1328+ "scopes": [
1329+ "https://www.googleapis.com/auth/adsense",
1330+ "https://www.googleapis.com/auth/adsense.readonly"
1331+ ]
1332+ }
1333+ }
1334+ },
1335+ "urlchannels": {
1336+ "methods": {
1337+ "list": {
1338+ "id": "adsense.accounts.urlchannels.list",
1339+ "path": "accounts/{accountId}/adclients/{adClientId}/urlchannels",
1340+ "httpMethod": "GET",
1341+ "description": "List all URL channels in the specified ad client for the specified account.",
1342+ "parameters": {
1343+ "accountId": {
1344+ "type": "string",
1345+ "description": "Account to which the ad client belongs.",
1346+ "required": true,
1347+ "location": "path"
1348+ },
1349+ "adClientId": {
1350+ "type": "string",
1351+ "description": "Ad client for which to list URL channels.",
1352+ "required": true,
1353+ "location": "path"
1354+ },
1355+ "maxResults": {
1356+ "type": "integer",
1357+ "description": "The maximum number of URL channels to include in the response, used for paging.",
1358+ "format": "int32",
1359+ "minimum": "0",
1360+ "maximum": "10000",
1361+ "location": "query"
1362+ },
1363+ "pageToken": {
1364+ "type": "string",
1365+ "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.",
1366+ "location": "query"
1367+ }
1368+ },
1369+ "parameterOrder": [
1370+ "accountId",
1371+ "adClientId"
1372+ ],
1373+ "response": {
1374+ "$ref": "UrlChannels"
1375+ },
1376+ "scopes": [
1377+ "https://www.googleapis.com/auth/adsense",
1378+ "https://www.googleapis.com/auth/adsense.readonly"
1379+ ]
1380+ }
1381+ }
1382+ }
1383+ }
1384+ },
1385+ "adclients": {
1386+ "methods": {
1387+ "list": {
1388+ "id": "adsense.adclients.list",
1389+ "path": "adclients",
1390+ "httpMethod": "GET",
1391+ "description": "List all ad clients in this AdSense account.",
1392+ "parameters": {
1393+ "maxResults": {
1394+ "type": "integer",
1395+ "description": "The maximum number of ad clients to include in the response, used for paging.",
1396+ "format": "int32",
1397+ "minimum": "0",
1398+ "maximum": "10000",
1399+ "location": "query"
1400+ },
1401+ "pageToken": {
1402+ "type": "string",
1403+ "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.",
1404+ "location": "query"
1405+ }
1406+ },
1407+ "response": {
1408+ "$ref": "AdClients"
1409+ },
1410+ "scopes": [
1411+ "https://www.googleapis.com/auth/adsense",
1412+ "https://www.googleapis.com/auth/adsense.readonly"
1413+ ]
1414+ }
1415+ }
1416+ },
1417+ "adunits": {
1418+ "methods": {
1419+ "get": {
1420+ "id": "adsense.adunits.get",
1421+ "path": "adclients/{adClientId}/adunits/{adUnitId}",
1422+ "httpMethod": "GET",
1423+ "description": "Gets the specified ad unit in the specified ad client.",
1424+ "parameters": {
1425+ "adClientId": {
1426+ "type": "string",
1427+ "description": "Ad client for which to get the ad unit.",
1428+ "required": true,
1429+ "location": "path"
1430+ },
1431+ "adUnitId": {
1432+ "type": "string",
1433+ "description": "Ad unit to retrieve.",
1434+ "required": true,
1435+ "location": "path"
1436+ }
1437+ },
1438+ "parameterOrder": [
1439+ "adClientId",
1440+ "adUnitId"
1441+ ],
1442+ "response": {
1443+ "$ref": "AdUnit"
1444+ },
1445+ "scopes": [
1446+ "https://www.googleapis.com/auth/adsense",
1447+ "https://www.googleapis.com/auth/adsense.readonly"
1448+ ]
1449+ },
1450+ "list": {
1451+ "id": "adsense.adunits.list",
1452+ "path": "adclients/{adClientId}/adunits",
1453+ "httpMethod": "GET",
1454+ "description": "List all ad units in the specified ad client for this AdSense account.",
1455+ "parameters": {
1456+ "adClientId": {
1457+ "type": "string",
1458+ "description": "Ad client for which to list ad units.",
1459+ "required": true,
1460+ "location": "path"
1461+ },
1462+ "includeInactive": {
1463+ "type": "boolean",
1464+ "description": "Whether to include inactive ad units. Default: true.",
1465+ "location": "query"
1466+ },
1467+ "maxResults": {
1468+ "type": "integer",
1469+ "description": "The maximum number of ad units to include in the response, used for paging.",
1470+ "format": "int32",
1471+ "minimum": "0",
1472+ "maximum": "10000",
1473+ "location": "query"
1474+ },
1475+ "pageToken": {
1476+ "type": "string",
1477+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1478+ "location": "query"
1479+ }
1480+ },
1481+ "parameterOrder": [
1482+ "adClientId"
1483+ ],
1484+ "response": {
1485+ "$ref": "AdUnits"
1486+ },
1487+ "scopes": [
1488+ "https://www.googleapis.com/auth/adsense",
1489+ "https://www.googleapis.com/auth/adsense.readonly"
1490+ ]
1491+ }
1492+ },
1493+ "resources": {
1494+ "customchannels": {
1495+ "methods": {
1496+ "list": {
1497+ "id": "adsense.adunits.customchannels.list",
1498+ "path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels",
1499+ "httpMethod": "GET",
1500+ "description": "List all custom channels which the specified ad unit belongs to.",
1501+ "parameters": {
1502+ "adClientId": {
1503+ "type": "string",
1504+ "description": "Ad client which contains the ad unit.",
1505+ "required": true,
1506+ "location": "path"
1507+ },
1508+ "adUnitId": {
1509+ "type": "string",
1510+ "description": "Ad unit for which to list custom channels.",
1511+ "required": true,
1512+ "location": "path"
1513+ },
1514+ "maxResults": {
1515+ "type": "integer",
1516+ "description": "The maximum number of custom channels to include in the response, used for paging.",
1517+ "format": "int32",
1518+ "minimum": "0",
1519+ "maximum": "10000",
1520+ "location": "query"
1521+ },
1522+ "pageToken": {
1523+ "type": "string",
1524+ "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.",
1525+ "location": "query"
1526+ }
1527+ },
1528+ "parameterOrder": [
1529+ "adClientId",
1530+ "adUnitId"
1531+ ],
1532+ "response": {
1533+ "$ref": "CustomChannels"
1534+ },
1535+ "scopes": [
1536+ "https://www.googleapis.com/auth/adsense",
1537+ "https://www.googleapis.com/auth/adsense.readonly"
1538+ ]
1539+ }
1540+ }
1541+ }
1542+ }
1543+ },
1544+ "customchannels": {
1545+ "methods": {
1546+ "get": {
1547+ "id": "adsense.customchannels.get",
1548+ "path": "adclients/{adClientId}/customchannels/{customChannelId}",
1549+ "httpMethod": "GET",
1550+ "description": "Get the specified custom channel from the specified ad client.",
1551+ "parameters": {
1552+ "adClientId": {
1553+ "type": "string",
1554+ "description": "Ad client which contains the custom channel.",
1555+ "required": true,
1556+ "location": "path"
1557+ },
1558+ "customChannelId": {
1559+ "type": "string",
1560+ "description": "Custom channel to retrieve.",
1561+ "required": true,
1562+ "location": "path"
1563+ }
1564+ },
1565+ "parameterOrder": [
1566+ "adClientId",
1567+ "customChannelId"
1568+ ],
1569+ "response": {
1570+ "$ref": "CustomChannel"
1571+ },
1572+ "scopes": [
1573+ "https://www.googleapis.com/auth/adsense",
1574+ "https://www.googleapis.com/auth/adsense.readonly"
1575+ ]
1576+ },
1577+ "list": {
1578+ "id": "adsense.customchannels.list",
1579+ "path": "adclients/{adClientId}/customchannels",
1580+ "httpMethod": "GET",
1581+ "description": "List all custom channels in the specified ad client for this AdSense account.",
1582+ "parameters": {
1583+ "adClientId": {
1584+ "type": "string",
1585+ "description": "Ad client for which to list custom channels.",
1586+ "required": true,
1587+ "location": "path"
1588+ },
1589+ "maxResults": {
1590+ "type": "integer",
1591+ "description": "The maximum number of custom channels to include in the response, used for paging.",
1592+ "format": "int32",
1593+ "minimum": "0",
1594+ "maximum": "10000",
1595+ "location": "query"
1596+ },
1597+ "pageToken": {
1598+ "type": "string",
1599+ "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.",
1600+ "location": "query"
1601+ }
1602+ },
1603+ "parameterOrder": [
1604+ "adClientId"
1605+ ],
1606+ "response": {
1607+ "$ref": "CustomChannels"
1608+ },
1609+ "scopes": [
1610+ "https://www.googleapis.com/auth/adsense",
1611+ "https://www.googleapis.com/auth/adsense.readonly"
1612+ ]
1613+ }
1614+ },
1615+ "resources": {
1616+ "adunits": {
1617+ "methods": {
1618+ "list": {
1619+ "id": "adsense.customchannels.adunits.list",
1620+ "path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits",
1621+ "httpMethod": "GET",
1622+ "description": "List all ad units in the specified custom channel.",
1623+ "parameters": {
1624+ "adClientId": {
1625+ "type": "string",
1626+ "description": "Ad client which contains the custom channel.",
1627+ "required": true,
1628+ "location": "path"
1629+ },
1630+ "customChannelId": {
1631+ "type": "string",
1632+ "description": "Custom channel for which to list ad units.",
1633+ "required": true,
1634+ "location": "path"
1635+ },
1636+ "includeInactive": {
1637+ "type": "boolean",
1638+ "description": "Whether to include inactive ad units. Default: true.",
1639+ "location": "query"
1640+ },
1641+ "maxResults": {
1642+ "type": "integer",
1643+ "description": "The maximum number of ad units to include in the response, used for paging.",
1644+ "format": "int32",
1645+ "minimum": "0",
1646+ "maximum": "10000",
1647+ "location": "query"
1648+ },
1649+ "pageToken": {
1650+ "type": "string",
1651+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1652+ "location": "query"
1653+ }
1654+ },
1655+ "parameterOrder": [
1656+ "adClientId",
1657+ "customChannelId"
1658+ ],
1659+ "response": {
1660+ "$ref": "AdUnits"
1661+ },
1662+ "scopes": [
1663+ "https://www.googleapis.com/auth/adsense",
1664+ "https://www.googleapis.com/auth/adsense.readonly"
1665+ ]
1666+ }
1667+ }
1668+ }
1669+ }
1670+ },
1671+ "reports": {
1672+ "methods": {
1673+ "generate": {
1674+ "id": "adsense.reports.generate",
1675+ "path": "reports",
1676+ "httpMethod": "GET",
1677+ "description": "Generate an AdSense 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.",
1678+ "parameters": {
1679+ "accountId": {
1680+ "type": "string",
1681+ "description": "Accounts upon which to report.",
1682+ "repeated": true,
1683+ "location": "query"
1684+ },
1685+ "currency": {
1686+ "type": "string",
1687+ "description": "Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.",
1688+ "pattern": "[a-zA-Z]+",
1689+ "location": "query"
1690+ },
1691+ "dimension": {
1692+ "type": "string",
1693+ "description": "Dimensions to base the report on.",
1694+ "pattern": "[a-zA-Z_]+",
1695+ "repeated": true,
1696+ "location": "query"
1697+ },
1698+ "endDate": {
1699+ "type": "string",
1700+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1701+ "required": true,
1702+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1703+ "location": "query"
1704+ },
1705+ "filter": {
1706+ "type": "string",
1707+ "description": "Filters to be run on the report.",
1708+ "pattern": "[a-zA-Z_]+(==|=@).+",
1709+ "repeated": true,
1710+ "location": "query"
1711+ },
1712+ "locale": {
1713+ "type": "string",
1714+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1715+ "pattern": "[a-zA-Z_]+",
1716+ "location": "query"
1717+ },
1718+ "maxResults": {
1719+ "type": "integer",
1720+ "description": "The maximum number of rows of report data to return.",
1721+ "format": "int32",
1722+ "minimum": "0",
1723+ "maximum": "50000",
1724+ "location": "query"
1725+ },
1726+ "metric": {
1727+ "type": "string",
1728+ "description": "Numeric columns to include in the report.",
1729+ "pattern": "[a-zA-Z_]+",
1730+ "repeated": true,
1731+ "location": "query"
1732+ },
1733+ "sort": {
1734+ "type": "string",
1735+ "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.",
1736+ "pattern": "(\\+|-)?[a-zA-Z_]+",
1737+ "repeated": true,
1738+ "location": "query"
1739+ },
1740+ "startDate": {
1741+ "type": "string",
1742+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1743+ "required": true,
1744+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1745+ "location": "query"
1746+ },
1747+ "startIndex": {
1748+ "type": "integer",
1749+ "description": "Index of the first row of report data to return.",
1750+ "format": "int32",
1751+ "minimum": "0",
1752+ "maximum": "5000",
1753+ "location": "query"
1754+ }
1755+ },
1756+ "parameterOrder": [
1757+ "startDate",
1758+ "endDate"
1759+ ],
1760+ "response": {
1761+ "$ref": "AdsenseReportsGenerateResponse"
1762+ },
1763+ "scopes": [
1764+ "https://www.googleapis.com/auth/adsense",
1765+ "https://www.googleapis.com/auth/adsense.readonly"
1766+ ],
1767+ "supportsMediaDownload": true
1768+ }
1769+ },
1770+ "resources": {
1771+ "saved": {
1772+ "methods": {
1773+ "generate": {
1774+ "id": "adsense.reports.saved.generate",
1775+ "path": "reports/{savedReportId}",
1776+ "httpMethod": "GET",
1777+ "description": "Generate an AdSense report based on the saved report ID sent in the query parameters.",
1778+ "parameters": {
1779+ "locale": {
1780+ "type": "string",
1781+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1782+ "pattern": "[a-zA-Z_]+",
1783+ "location": "query"
1784+ },
1785+ "maxResults": {
1786+ "type": "integer",
1787+ "description": "The maximum number of rows of report data to return.",
1788+ "format": "int32",
1789+ "minimum": "0",
1790+ "maximum": "50000",
1791+ "location": "query"
1792+ },
1793+ "savedReportId": {
1794+ "type": "string",
1795+ "description": "The saved report to retrieve.",
1796+ "required": true,
1797+ "location": "path"
1798+ },
1799+ "startIndex": {
1800+ "type": "integer",
1801+ "description": "Index of the first row of report data to return.",
1802+ "format": "int32",
1803+ "minimum": "0",
1804+ "maximum": "5000",
1805+ "location": "query"
1806+ }
1807+ },
1808+ "parameterOrder": [
1809+ "savedReportId"
1810+ ],
1811+ "response": {
1812+ "$ref": "AdsenseReportsGenerateResponse"
1813+ },
1814+ "scopes": [
1815+ "https://www.googleapis.com/auth/adsense",
1816+ "https://www.googleapis.com/auth/adsense.readonly"
1817+ ]
1818+ },
1819+ "list": {
1820+ "id": "adsense.reports.saved.list",
1821+ "path": "reports/saved",
1822+ "httpMethod": "GET",
1823+ "description": "List all saved reports in this AdSense account.",
1824+ "parameters": {
1825+ "maxResults": {
1826+ "type": "integer",
1827+ "description": "The maximum number of saved reports to include in the response, used for paging.",
1828+ "format": "int32",
1829+ "minimum": "0",
1830+ "maximum": "100",
1831+ "location": "query"
1832+ },
1833+ "pageToken": {
1834+ "type": "string",
1835+ "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.",
1836+ "location": "query"
1837+ }
1838+ },
1839+ "response": {
1840+ "$ref": "SavedReports"
1841+ },
1842+ "scopes": [
1843+ "https://www.googleapis.com/auth/adsense",
1844+ "https://www.googleapis.com/auth/adsense.readonly"
1845+ ]
1846+ }
1847+ }
1848+ }
1849+ }
1850+ },
1851+ "savedadstyles": {
1852+ "methods": {
1853+ "get": {
1854+ "id": "adsense.savedadstyles.get",
1855+ "path": "savedadstyles/{savedAdStyleId}",
1856+ "httpMethod": "GET",
1857+ "description": "Get a specific saved ad style from the user's account.",
1858+ "parameters": {
1859+ "savedAdStyleId": {
1860+ "type": "string",
1861+ "description": "Saved ad style to retrieve.",
1862+ "required": true,
1863+ "location": "path"
1864+ }
1865+ },
1866+ "parameterOrder": [
1867+ "savedAdStyleId"
1868+ ],
1869+ "response": {
1870+ "$ref": "SavedAdStyle"
1871+ },
1872+ "scopes": [
1873+ "https://www.googleapis.com/auth/adsense",
1874+ "https://www.googleapis.com/auth/adsense.readonly"
1875+ ]
1876+ },
1877+ "list": {
1878+ "id": "adsense.savedadstyles.list",
1879+ "path": "savedadstyles",
1880+ "httpMethod": "GET",
1881+ "description": "List all saved ad styles in the user's account.",
1882+ "parameters": {
1883+ "maxResults": {
1884+ "type": "integer",
1885+ "description": "The maximum number of saved ad styles to include in the response, used for paging.",
1886+ "format": "int32",
1887+ "minimum": "0",
1888+ "maximum": "10000",
1889+ "location": "query"
1890+ },
1891+ "pageToken": {
1892+ "type": "string",
1893+ "description": "A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1894+ "location": "query"
1895+ }
1896+ },
1897+ "response": {
1898+ "$ref": "SavedAdStyles"
1899+ },
1900+ "scopes": [
1901+ "https://www.googleapis.com/auth/adsense",
1902+ "https://www.googleapis.com/auth/adsense.readonly"
1903+ ]
1904+ }
1905+ }
1906+ },
1907+ "urlchannels": {
1908+ "methods": {
1909+ "list": {
1910+ "id": "adsense.urlchannels.list",
1911+ "path": "adclients/{adClientId}/urlchannels",
1912+ "httpMethod": "GET",
1913+ "description": "List all URL channels in the specified ad client for this AdSense account.",
1914+ "parameters": {
1915+ "adClientId": {
1916+ "type": "string",
1917+ "description": "Ad client for which to list URL channels.",
1918+ "required": true,
1919+ "location": "path"
1920+ },
1921+ "maxResults": {
1922+ "type": "integer",
1923+ "description": "The maximum number of URL channels to include in the response, used for paging.",
1924+ "format": "int32",
1925+ "minimum": "0",
1926+ "maximum": "10000",
1927+ "location": "query"
1928+ },
1929+ "pageToken": {
1930+ "type": "string",
1931+ "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.",
1932+ "location": "query"
1933+ }
1934+ },
1935+ "parameterOrder": [
1936+ "adClientId"
1937+ ],
1938+ "response": {
1939+ "$ref": "UrlChannels"
1940+ },
1941+ "scopes": [
1942+ "https://www.googleapis.com/auth/adsense",
1943+ "https://www.googleapis.com/auth/adsense.readonly"
1944+ ]
1945+ }
1946+ }
1947+ }
1948+ }
1949+}
gen/model/adsense/adsense/v1.3/adsense-api.jsonnew file+2250
@@ -0,0 +1,2250 @@
1+{
2+ "kind": "discovery#restDescription",
3+ "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/gTf3J_Tcqy5jzBteF-x9VlOxF-c\"",
4+ "discoveryVersion": "v1",
5+ "id": "adsense:v1.3",
6+ "name": "adsense",
7+ "canonicalName": "AdSense",
8+ "version": "v1.3",
9+ "revision": "20141218",
10+ "title": "AdSense Management API",
11+ "description": "Gives AdSense publishers access to their inventory and the ability to generate reports",
12+ "ownerDomain": "google.com",
13+ "ownerName": "Google",
14+ "icons": {
15+ "x16": "https://www.google.com/images/icons/product/adsense-16.png",
16+ "x32": "https://www.google.com/images/icons/product/adsense-32.png"
17+ },
18+ "documentationLink": "https://developers.google.com/adsense/management/",
19+ "protocol": "rest",
20+ "baseUrl": "https://www.googleapis.com/adsense/v1.3/",
21+ "basePath": "/adsense/v1.3/",
22+ "rootUrl": "https://www.googleapis.com/",
23+ "servicePath": "adsense/v1.3/",
24+ "batchPath": "batch",
25+ "parameters": {
26+ "alt": {
27+ "type": "string",
28+ "description": "Data format for the response.",
29+ "default": "json",
30+ "enum": [
31+ "csv",
32+ "json"
33+ ],
34+ "enumDescriptions": [
35+ "Responses with Content-Type of text/csv",
36+ "Responses with Content-Type of application/json"
37+ ],
38+ "location": "query"
39+ },
40+ "fields": {
41+ "type": "string",
42+ "description": "Selector specifying which fields to include in a partial response.",
43+ "location": "query"
44+ },
45+ "key": {
46+ "type": "string",
47+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
48+ "location": "query"
49+ },
50+ "oauth_token": {
51+ "type": "string",
52+ "description": "OAuth 2.0 token for the current user.",
53+ "location": "query"
54+ },
55+ "prettyPrint": {
56+ "type": "boolean",
57+ "description": "Returns response with indentations and line breaks.",
58+ "default": "true",
59+ "location": "query"
60+ },
61+ "quotaUser": {
62+ "type": "string",
63+ "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.",
64+ "location": "query"
65+ },
66+ "userIp": {
67+ "type": "string",
68+ "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.",
69+ "location": "query"
70+ }
71+ },
72+ "auth": {
73+ "oauth2": {
74+ "scopes": {
75+ "https://www.googleapis.com/auth/adsense": {
76+ "description": "View and manage your AdSense data"
77+ },
78+ "https://www.googleapis.com/auth/adsense.readonly": {
79+ "description": "View your AdSense data"
80+ }
81+ }
82+ }
83+ },
84+ "schemas": {
85+ "Account": {
86+ "id": "Account",
87+ "type": "object",
88+ "properties": {
89+ "id": {
90+ "type": "string",
91+ "description": "Unique identifier of this account."
92+ },
93+ "kind": {
94+ "type": "string",
95+ "description": "Kind of resource this is, in this case adsense#account.",
96+ "default": "adsense#account"
97+ },
98+ "name": {
99+ "type": "string",
100+ "description": "Name of this account."
101+ },
102+ "premium": {
103+ "type": "boolean",
104+ "description": "Whether this account is premium."
105+ },
106+ "subAccounts": {
107+ "type": "array",
108+ "description": "Sub accounts of the this account.",
109+ "items": {
110+ "$ref": "Account"
111+ }
112+ }
113+ }
114+ },
115+ "Accounts": {
116+ "id": "Accounts",
117+ "type": "object",
118+ "properties": {
119+ "etag": {
120+ "type": "string",
121+ "description": "ETag of this response for caching purposes."
122+ },
123+ "items": {
124+ "type": "array",
125+ "description": "The accounts returned in this list response.",
126+ "items": {
127+ "$ref": "Account"
128+ }
129+ },
130+ "kind": {
131+ "type": "string",
132+ "description": "Kind of list this is, in this case adsense#accounts.",
133+ "default": "adsense#accounts"
134+ },
135+ "nextPageToken": {
136+ "type": "string",
137+ "description": "Continuation token used to page through accounts. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
138+ }
139+ }
140+ },
141+ "AdClient": {
142+ "id": "AdClient",
143+ "type": "object",
144+ "properties": {
145+ "arcOptIn": {
146+ "type": "boolean",
147+ "description": "Whether this ad client is opted in to ARC."
148+ },
149+ "id": {
150+ "type": "string",
151+ "description": "Unique identifier of this ad client."
152+ },
153+ "kind": {
154+ "type": "string",
155+ "description": "Kind of resource this is, in this case adsense#adClient.",
156+ "default": "adsense#adClient"
157+ },
158+ "productCode": {
159+ "type": "string",
160+ "description": "This ad client's product code, which corresponds to the PRODUCT_CODE report dimension."
161+ },
162+ "supportsReporting": {
163+ "type": "boolean",
164+ "description": "Whether this ad client supports being reported on."
165+ }
166+ }
167+ },
168+ "AdClients": {
169+ "id": "AdClients",
170+ "type": "object",
171+ "properties": {
172+ "etag": {
173+ "type": "string",
174+ "description": "ETag of this response for caching purposes."
175+ },
176+ "items": {
177+ "type": "array",
178+ "description": "The ad clients returned in this list response.",
179+ "items": {
180+ "$ref": "AdClient"
181+ }
182+ },
183+ "kind": {
184+ "type": "string",
185+ "description": "Kind of list this is, in this case adsense#adClients.",
186+ "default": "adsense#adClients"
187+ },
188+ "nextPageToken": {
189+ "type": "string",
190+ "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."
191+ }
192+ }
193+ },
194+ "AdCode": {
195+ "id": "AdCode",
196+ "type": "object",
197+ "properties": {
198+ "adCode": {
199+ "type": "string",
200+ "description": "The ad code snippet."
201+ },
202+ "kind": {
203+ "type": "string",
204+ "description": "Kind this is, in this case adsense#adCode.",
205+ "default": "adsense#adCode"
206+ }
207+ }
208+ },
209+ "AdStyle": {
210+ "id": "AdStyle",
211+ "type": "object",
212+ "properties": {
213+ "colors": {
214+ "type": "object",
215+ "description": "The colors which are included in the style. These are represented as six hexadecimal characters, similar to HTML color codes, but without the leading hash.",
216+ "properties": {
217+ "background": {
218+ "type": "string",
219+ "description": "The color of the ad background."
220+ },
221+ "border": {
222+ "type": "string",
223+ "description": "The color of the ad border."
224+ },
225+ "text": {
226+ "type": "string",
227+ "description": "The color of the ad text."
228+ },
229+ "title": {
230+ "type": "string",
231+ "description": "The color of the ad title."
232+ },
233+ "url": {
234+ "type": "string",
235+ "description": "The color of the ad url."
236+ }
237+ }
238+ },
239+ "corners": {
240+ "type": "string",
241+ "description": "The style of the corners in the ad."
242+ },
243+ "font": {
244+ "type": "object",
245+ "description": "The font which is included in the style.",
246+ "properties": {
247+ "family": {
248+ "type": "string",
249+ "description": "The family of the font."
250+ },
251+ "size": {
252+ "type": "string",
253+ "description": "The size of the font."
254+ }
255+ }
256+ },
257+ "kind": {
258+ "type": "string",
259+ "description": "Kind this is, in this case adsense#adStyle.",
260+ "default": "adsense#adStyle"
261+ }
262+ }
263+ },
264+ "AdUnit": {
265+ "id": "AdUnit",
266+ "type": "object",
267+ "properties": {
268+ "code": {
269+ "type": "string",
270+ "description": "Identity code of this ad unit, not necessarily unique across ad clients."
271+ },
272+ "contentAdsSettings": {
273+ "type": "object",
274+ "description": "Settings specific to content ads (AFC) and highend mobile content ads (AFMC).",
275+ "properties": {
276+ "backupOption": {
277+ "type": "object",
278+ "description": "The backup option to be used in instances where no ad is available.",
279+ "properties": {
280+ "color": {
281+ "type": "string",
282+ "description": "Color to use when type is set to COLOR."
283+ },
284+ "type": {
285+ "type": "string",
286+ "description": "Type of the backup option. Possible values are BLANK, COLOR and URL."
287+ },
288+ "url": {
289+ "type": "string",
290+ "description": "URL to use when type is set to URL."
291+ }
292+ }
293+ },
294+ "size": {
295+ "type": "string",
296+ "description": "Size of this ad unit."
297+ },
298+ "type": {
299+ "type": "string",
300+ "description": "Type of this ad unit."
301+ }
302+ }
303+ },
304+ "customStyle": {
305+ "$ref": "AdStyle",
306+ "description": "Custom style information specific to this ad unit."
307+ },
308+ "feedAdsSettings": {
309+ "type": "object",
310+ "description": "Settings specific to feed ads (AFF).",
311+ "properties": {
312+ "adPosition": {
313+ "type": "string",
314+ "description": "The position of the ads relative to the feed entries."
315+ },
316+ "frequency": {
317+ "type": "integer",
318+ "description": "The frequency at which ads should appear in the feed (i.e. every N entries).",
319+ "format": "int32"
320+ },
321+ "minimumWordCount": {
322+ "type": "integer",
323+ "description": "The minimum length an entry should be in order to have attached ads.",
324+ "format": "int32"
325+ },
326+ "type": {
327+ "type": "string",
328+ "description": "The type of ads which should appear."
329+ }
330+ }
331+ },
332+ "id": {
333+ "type": "string",
334+ "description": "Unique identifier of this ad unit. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
335+ },
336+ "kind": {
337+ "type": "string",
338+ "description": "Kind of resource this is, in this case adsense#adUnit.",
339+ "default": "adsense#adUnit"
340+ },
341+ "mobileContentAdsSettings": {
342+ "type": "object",
343+ "description": "Settings specific to WAP mobile content ads (AFMC).",
344+ "properties": {
345+ "markupLanguage": {
346+ "type": "string",
347+ "description": "The markup language to use for this ad unit."
348+ },
349+ "scriptingLanguage": {
350+ "type": "string",
351+ "description": "The scripting language to use for this ad unit."
352+ },
353+ "size": {
354+ "type": "string",
355+ "description": "Size of this ad unit."
356+ },
357+ "type": {
358+ "type": "string",
359+ "description": "Type of this ad unit."
360+ }
361+ }
362+ },
363+ "name": {
364+ "type": "string",
365+ "description": "Name of this ad unit."
366+ },
367+ "savedStyleId": {
368+ "type": "string",
369+ "description": "ID of the saved ad style which holds this ad unit's style information."
370+ },
371+ "status": {
372+ "type": "string",
373+ "description": "Status of this ad unit. Possible values are:\nNEW: Indicates that the ad unit was created within the last seven days and does not yet have any activity associated with it.\n\nACTIVE: Indicates that there has been activity on this ad unit in the last seven days.\n\nINACTIVE: Indicates that there has been no activity on this ad unit in the last seven days."
374+ }
375+ }
376+ },
377+ "AdUnits": {
378+ "id": "AdUnits",
379+ "type": "object",
380+ "properties": {
381+ "etag": {
382+ "type": "string",
383+ "description": "ETag of this response for caching purposes."
384+ },
385+ "items": {
386+ "type": "array",
387+ "description": "The ad units returned in this list response.",
388+ "items": {
389+ "$ref": "AdUnit"
390+ }
391+ },
392+ "kind": {
393+ "type": "string",
394+ "description": "Kind of list this is, in this case adsense#adUnits.",
395+ "default": "adsense#adUnits"
396+ },
397+ "nextPageToken": {
398+ "type": "string",
399+ "description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
400+ }
401+ }
402+ },
403+ "AdsenseReportsGenerateResponse": {
404+ "id": "AdsenseReportsGenerateResponse",
405+ "type": "object",
406+ "properties": {
407+ "averages": {
408+ "type": "array",
409+ "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.",
410+ "items": {
411+ "type": "string"
412+ }
413+ },
414+ "headers": {
415+ "type": "array",
416+ "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.",
417+ "items": {
418+ "type": "object",
419+ "properties": {
420+ "currency": {
421+ "type": "string",
422+ "description": "The currency of this column. Only present if the header type is METRIC_CURRENCY."
423+ },
424+ "name": {
425+ "type": "string",
426+ "description": "The name of the header."
427+ },
428+ "type": {
429+ "type": "string",
430+ "description": "The type of the header; one of DIMENSION, METRIC_TALLY, METRIC_RATIO, or METRIC_CURRENCY."
431+ }
432+ }
433+ }
434+ },
435+ "kind": {
436+ "type": "string",
437+ "description": "Kind this is, in this case adsense#report.",
438+ "default": "adsense#report"
439+ },
440+ "rows": {
441+ "type": "array",
442+ "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.",
443+ "items": {
444+ "type": "array",
445+ "items": {
446+ "type": "string"
447+ }
448+ }
449+ },
450+ "totalMatchedRows": {
451+ "type": "string",
452+ "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.",
453+ "format": "int64"
454+ },
455+ "totals": {
456+ "type": "array",
457+ "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.",
458+ "items": {
459+ "type": "string"
460+ }
461+ },
462+ "warnings": {
463+ "type": "array",
464+ "description": "Any warnings associated with generation of the report.",
465+ "items": {
466+ "type": "string"
467+ }
468+ }
469+ }
470+ },
471+ "Alert": {
472+ "id": "Alert",
473+ "type": "object",
474+ "properties": {
475+ "id": {
476+ "type": "string",
477+ "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."
478+ },
479+ "kind": {
480+ "type": "string",
481+ "description": "Kind of resource this is, in this case adsense#alert.",
482+ "default": "adsense#alert"
483+ },
484+ "message": {
485+ "type": "string",
486+ "description": "The localized alert message."
487+ },
488+ "severity": {
489+ "type": "string",
490+ "description": "Severity of this alert. Possible values: INFO, WARNING, SEVERE."
491+ },
492+ "type": {
493+ "type": "string",
494+ "description": "Type of this alert. Possible values: SELF_HOLD, MIGRATED_TO_BILLING3, ADDRESS_PIN_VERIFICATION, PHONE_PIN_VERIFICATION, CORPORATE_ENTITY, GRAYLISTED_PUBLISHER, API_HOLD."
495+ }
496+ }
497+ },
498+ "Alerts": {
499+ "id": "Alerts",
500+ "type": "object",
501+ "properties": {
502+ "items": {
503+ "type": "array",
504+ "description": "The alerts returned in this list response.",
505+ "items": {
506+ "$ref": "Alert"
507+ }
508+ },
509+ "kind": {
510+ "type": "string",
511+ "description": "Kind of list this is, in this case adsense#alerts.",
512+ "default": "adsense#alerts"
513+ }
514+ }
515+ },
516+ "CustomChannel": {
517+ "id": "CustomChannel",
518+ "type": "object",
519+ "properties": {
520+ "code": {
521+ "type": "string",
522+ "description": "Code of this custom channel, not necessarily unique across ad clients."
523+ },
524+ "id": {
525+ "type": "string",
526+ "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."
527+ },
528+ "kind": {
529+ "type": "string",
530+ "description": "Kind of resource this is, in this case adsense#customChannel.",
531+ "default": "adsense#customChannel"
532+ },
533+ "name": {
534+ "type": "string",
535+ "description": "Name of this custom channel."
536+ },
537+ "targetingInfo": {
538+ "type": "object",
539+ "description": "The targeting information of this custom channel, if activated.",
540+ "properties": {
541+ "adsAppearOn": {
542+ "type": "string",
543+ "description": "The name used to describe this channel externally."
544+ },
545+ "description": {
546+ "type": "string",
547+ "description": "The external description of the channel."
548+ },
549+ "location": {
550+ "type": "string",
551+ "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."
552+ },
553+ "siteLanguage": {
554+ "type": "string",
555+ "description": "The language of the sites ads will be displayed on."
556+ }
557+ }
558+ }
559+ }
560+ },
561+ "CustomChannels": {
562+ "id": "CustomChannels",
563+ "type": "object",
564+ "properties": {
565+ "etag": {
566+ "type": "string",
567+ "description": "ETag of this response for caching purposes."
568+ },
569+ "items": {
570+ "type": "array",
571+ "description": "The custom channels returned in this list response.",
572+ "items": {
573+ "$ref": "CustomChannel"
574+ }
575+ },
576+ "kind": {
577+ "type": "string",
578+ "description": "Kind of list this is, in this case adsense#customChannels.",
579+ "default": "adsense#customChannels"
580+ },
581+ "nextPageToken": {
582+ "type": "string",
583+ "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."
584+ }
585+ }
586+ },
587+ "Metadata": {
588+ "id": "Metadata",
589+ "type": "object",
590+ "properties": {
591+ "items": {
592+ "type": "array",
593+ "items": {
594+ "$ref": "ReportingMetadataEntry"
595+ }
596+ },
597+ "kind": {
598+ "type": "string",
599+ "description": "Kind of list this is, in this case adsense#metadata.",
600+ "default": "adsense#metadata"
601+ }
602+ }
603+ },
604+ "ReportingMetadataEntry": {
605+ "id": "ReportingMetadataEntry",
606+ "type": "object",
607+ "properties": {
608+ "compatibleDimensions": {
609+ "type": "array",
610+ "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.",
611+ "items": {
612+ "type": "string"
613+ }
614+ },
615+ "compatibleMetrics": {
616+ "type": "array",
617+ "description": "The names of the metrics the dimension or metric this reporting metadata entry describes is compatible with.",
618+ "items": {
619+ "type": "string"
620+ }
621+ },
622+ "id": {
623+ "type": "string",
624+ "description": "Unique identifier of this reporting metadata entry, corresponding to the name of the appropriate dimension or metric."
625+ },
626+ "kind": {
627+ "type": "string",
628+ "description": "Kind of resource this is, in this case adsense#reportingMetadataEntry.",
629+ "default": "adsense#reportingMetadataEntry"
630+ },
631+ "requiredDimensions": {
632+ "type": "array",
633+ "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.",
634+ "items": {
635+ "type": "string"
636+ }
637+ },
638+ "requiredMetrics": {
639+ "type": "array",
640+ "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.",
641+ "items": {
642+ "type": "string"
643+ }
644+ },
645+ "supportedProducts": {
646+ "type": "array",
647+ "description": "The codes of the projects supported by the dimension or metric this reporting metadata entry describes.",
648+ "items": {
649+ "type": "string"
650+ }
651+ }
652+ }
653+ },
654+ "SavedAdStyle": {
655+ "id": "SavedAdStyle",
656+ "type": "object",
657+ "properties": {
658+ "adStyle": {
659+ "$ref": "AdStyle",
660+ "description": "The AdStyle itself."
661+ },
662+ "id": {
663+ "type": "string",
664+ "description": "Unique identifier of this saved ad style. This should be considered an opaque identifier; it is not safe to rely on it being in any particular format."
665+ },
666+ "kind": {
667+ "type": "string",
668+ "description": "Kind of resource this is, in this case adsense#savedAdStyle.",
669+ "default": "adsense#savedAdStyle"
670+ },
671+ "name": {
672+ "type": "string",
673+ "description": "The user selected name of this SavedAdStyle."
674+ }
675+ }
676+ },
677+ "SavedAdStyles": {
678+ "id": "SavedAdStyles",
679+ "type": "object",
680+ "properties": {
681+ "etag": {
682+ "type": "string",
683+ "description": "ETag of this response for caching purposes."
684+ },
685+ "items": {
686+ "type": "array",
687+ "description": "The saved ad styles returned in this list response.",
688+ "items": {
689+ "$ref": "SavedAdStyle"
690+ }
691+ },
692+ "kind": {
693+ "type": "string",
694+ "description": "Kind of list this is, in this case adsense#savedAdStyles.",
695+ "default": "adsense#savedAdStyles"
696+ },
697+ "nextPageToken": {
698+ "type": "string",
699+ "description": "Continuation token used to page through ad units. To retrieve the next page of results, set the next request's \"pageToken\" value to this."
700+ }
701+ }
702+ },
703+ "SavedReport": {
704+ "id": "SavedReport",
705+ "type": "object",
706+ "properties": {
707+ "id": {
708+ "type": "string",
709+ "description": "Unique identifier of this saved report."
710+ },
711+ "kind": {
712+ "type": "string",
713+ "description": "Kind of resource this is, in this case adsense#savedReport.",
714+ "default": "adsense#savedReport"
715+ },
716+ "name": {
717+ "type": "string",
718+ "description": "This saved report's name."
719+ }
720+ }
721+ },
722+ "SavedReports": {
723+ "id": "SavedReports",
724+ "type": "object",
725+ "properties": {
726+ "etag": {
727+ "type": "string",
728+ "description": "ETag of this response for caching purposes."
729+ },
730+ "items": {
731+ "type": "array",
732+ "description": "The saved reports returned in this list response.",
733+ "items": {
734+ "$ref": "SavedReport"
735+ }
736+ },
737+ "kind": {
738+ "type": "string",
739+ "description": "Kind of list this is, in this case adsense#savedReports.",
740+ "default": "adsense#savedReports"
741+ },
742+ "nextPageToken": {
743+ "type": "string",
744+ "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."
745+ }
746+ }
747+ },
748+ "UrlChannel": {
749+ "id": "UrlChannel",
750+ "type": "object",
751+ "properties": {
752+ "id": {
753+ "type": "string",
754+ "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."
755+ },
756+ "kind": {
757+ "type": "string",
758+ "description": "Kind of resource this is, in this case adsense#urlChannel.",
759+ "default": "adsense#urlChannel"
760+ },
761+ "urlPattern": {
762+ "type": "string",
763+ "description": "URL Pattern of this URL channel. Does not include \"http://\" or \"https://\". Example: www.example.com/home"
764+ }
765+ }
766+ },
767+ "UrlChannels": {
768+ "id": "UrlChannels",
769+ "type": "object",
770+ "properties": {
771+ "etag": {
772+ "type": "string",
773+ "description": "ETag of this response for caching purposes."
774+ },
775+ "items": {
776+ "type": "array",
777+ "description": "The URL channels returned in this list response.",
778+ "items": {
779+ "$ref": "UrlChannel"
780+ }
781+ },
782+ "kind": {
783+ "type": "string",
784+ "description": "Kind of list this is, in this case adsense#urlChannels.",
785+ "default": "adsense#urlChannels"
786+ },
787+ "nextPageToken": {
788+ "type": "string",
789+ "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."
790+ }
791+ }
792+ }
793+ },
794+ "resources": {
795+ "accounts": {
796+ "methods": {
797+ "get": {
798+ "id": "adsense.accounts.get",
799+ "path": "accounts/{accountId}",
800+ "httpMethod": "GET",
801+ "description": "Get information about the selected AdSense account.",
802+ "parameters": {
803+ "accountId": {
804+ "type": "string",
805+ "description": "Account to get information about.",
806+ "required": true,
807+ "location": "path"
808+ },
809+ "tree": {
810+ "type": "boolean",
811+ "description": "Whether the tree of sub accounts should be returned.",
812+ "location": "query"
813+ }
814+ },
815+ "parameterOrder": [
816+ "accountId"
817+ ],
818+ "response": {
819+ "$ref": "Account"
820+ },
821+ "scopes": [
822+ "https://www.googleapis.com/auth/adsense",
823+ "https://www.googleapis.com/auth/adsense.readonly"
824+ ]
825+ },
826+ "list": {
827+ "id": "adsense.accounts.list",
828+ "path": "accounts",
829+ "httpMethod": "GET",
830+ "description": "List all accounts available to this AdSense account.",
831+ "parameters": {
832+ "maxResults": {
833+ "type": "integer",
834+ "description": "The maximum number of accounts to include in the response, used for paging.",
835+ "format": "int32",
836+ "minimum": "0",
837+ "maximum": "10000",
838+ "location": "query"
839+ },
840+ "pageToken": {
841+ "type": "string",
842+ "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.",
843+ "location": "query"
844+ }
845+ },
846+ "response": {
847+ "$ref": "Accounts"
848+ },
849+ "scopes": [
850+ "https://www.googleapis.com/auth/adsense",
851+ "https://www.googleapis.com/auth/adsense.readonly"
852+ ]
853+ }
854+ },
855+ "resources": {
856+ "adclients": {
857+ "methods": {
858+ "list": {
859+ "id": "adsense.accounts.adclients.list",
860+ "path": "accounts/{accountId}/adclients",
861+ "httpMethod": "GET",
862+ "description": "List all ad clients in the specified account.",
863+ "parameters": {
864+ "accountId": {
865+ "type": "string",
866+ "description": "Account for which to list ad clients.",
867+ "required": true,
868+ "location": "path"
869+ },
870+ "maxResults": {
871+ "type": "integer",
872+ "description": "The maximum number of ad clients to include in the response, used for paging.",
873+ "format": "int32",
874+ "minimum": "0",
875+ "maximum": "10000",
876+ "location": "query"
877+ },
878+ "pageToken": {
879+ "type": "string",
880+ "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.",
881+ "location": "query"
882+ }
883+ },
884+ "parameterOrder": [
885+ "accountId"
886+ ],
887+ "response": {
888+ "$ref": "AdClients"
889+ },
890+ "scopes": [
891+ "https://www.googleapis.com/auth/adsense",
892+ "https://www.googleapis.com/auth/adsense.readonly"
893+ ]
894+ }
895+ }
896+ },
897+ "adunits": {
898+ "methods": {
899+ "get": {
900+ "id": "adsense.accounts.adunits.get",
901+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}",
902+ "httpMethod": "GET",
903+ "description": "Gets the specified ad unit in the specified ad client for the specified account.",
904+ "parameters": {
905+ "accountId": {
906+ "type": "string",
907+ "description": "Account to which the ad client belongs.",
908+ "required": true,
909+ "location": "path"
910+ },
911+ "adClientId": {
912+ "type": "string",
913+ "description": "Ad client for which to get the ad unit.",
914+ "required": true,
915+ "location": "path"
916+ },
917+ "adUnitId": {
918+ "type": "string",
919+ "description": "Ad unit to retrieve.",
920+ "required": true,
921+ "location": "path"
922+ }
923+ },
924+ "parameterOrder": [
925+ "accountId",
926+ "adClientId",
927+ "adUnitId"
928+ ],
929+ "response": {
930+ "$ref": "AdUnit"
931+ },
932+ "scopes": [
933+ "https://www.googleapis.com/auth/adsense",
934+ "https://www.googleapis.com/auth/adsense.readonly"
935+ ]
936+ },
937+ "getAdCode": {
938+ "id": "adsense.accounts.adunits.getAdCode",
939+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode",
940+ "httpMethod": "GET",
941+ "description": "Get ad code for the specified ad unit.",
942+ "parameters": {
943+ "accountId": {
944+ "type": "string",
945+ "description": "Account which contains the ad client.",
946+ "required": true,
947+ "location": "path"
948+ },
949+ "adClientId": {
950+ "type": "string",
951+ "description": "Ad client with contains the ad unit.",
952+ "required": true,
953+ "location": "path"
954+ },
955+ "adUnitId": {
956+ "type": "string",
957+ "description": "Ad unit to get the code for.",
958+ "required": true,
959+ "location": "path"
960+ }
961+ },
962+ "parameterOrder": [
963+ "accountId",
964+ "adClientId",
965+ "adUnitId"
966+ ],
967+ "response": {
968+ "$ref": "AdCode"
969+ },
970+ "scopes": [
971+ "https://www.googleapis.com/auth/adsense",
972+ "https://www.googleapis.com/auth/adsense.readonly"
973+ ]
974+ },
975+ "list": {
976+ "id": "adsense.accounts.adunits.list",
977+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits",
978+ "httpMethod": "GET",
979+ "description": "List all ad units in the specified ad client for the specified account.",
980+ "parameters": {
981+ "accountId": {
982+ "type": "string",
983+ "description": "Account to which the ad client belongs.",
984+ "required": true,
985+ "location": "path"
986+ },
987+ "adClientId": {
988+ "type": "string",
989+ "description": "Ad client for which to list ad units.",
990+ "required": true,
991+ "location": "path"
992+ },
993+ "includeInactive": {
994+ "type": "boolean",
995+ "description": "Whether to include inactive ad units. Default: true.",
996+ "location": "query"
997+ },
998+ "maxResults": {
999+ "type": "integer",
1000+ "description": "The maximum number of ad units to include in the response, used for paging.",
1001+ "format": "int32",
1002+ "minimum": "0",
1003+ "maximum": "10000",
1004+ "location": "query"
1005+ },
1006+ "pageToken": {
1007+ "type": "string",
1008+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1009+ "location": "query"
1010+ }
1011+ },
1012+ "parameterOrder": [
1013+ "accountId",
1014+ "adClientId"
1015+ ],
1016+ "response": {
1017+ "$ref": "AdUnits"
1018+ },
1019+ "scopes": [
1020+ "https://www.googleapis.com/auth/adsense",
1021+ "https://www.googleapis.com/auth/adsense.readonly"
1022+ ]
1023+ }
1024+ },
1025+ "resources": {
1026+ "customchannels": {
1027+ "methods": {
1028+ "list": {
1029+ "id": "adsense.accounts.adunits.customchannels.list",
1030+ "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/customchannels",
1031+ "httpMethod": "GET",
1032+ "description": "List all custom channels which the specified ad unit belongs to.",
1033+ "parameters": {
1034+ "accountId": {
1035+ "type": "string",
1036+ "description": "Account to which the ad client belongs.",
1037+ "required": true,
1038+ "location": "path"
1039+ },
1040+ "adClientId": {
1041+ "type": "string",
1042+ "description": "Ad client which contains the ad unit.",
1043+ "required": true,
1044+ "location": "path"
1045+ },
1046+ "adUnitId": {
1047+ "type": "string",
1048+ "description": "Ad unit for which to list custom channels.",
1049+ "required": true,
1050+ "location": "path"
1051+ },
1052+ "maxResults": {
1053+ "type": "integer",
1054+ "description": "The maximum number of custom channels to include in the response, used for paging.",
1055+ "format": "int32",
1056+ "minimum": "0",
1057+ "maximum": "10000",
1058+ "location": "query"
1059+ },
1060+ "pageToken": {
1061+ "type": "string",
1062+ "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.",
1063+ "location": "query"
1064+ }
1065+ },
1066+ "parameterOrder": [
1067+ "accountId",
1068+ "adClientId",
1069+ "adUnitId"
1070+ ],
1071+ "response": {
1072+ "$ref": "CustomChannels"
1073+ },
1074+ "scopes": [
1075+ "https://www.googleapis.com/auth/adsense",
1076+ "https://www.googleapis.com/auth/adsense.readonly"
1077+ ]
1078+ }
1079+ }
1080+ }
1081+ }
1082+ },
1083+ "alerts": {
1084+ "methods": {
1085+ "list": {
1086+ "id": "adsense.accounts.alerts.list",
1087+ "path": "accounts/{accountId}/alerts",
1088+ "httpMethod": "GET",
1089+ "description": "List the alerts for the specified AdSense account.",
1090+ "parameters": {
1091+ "accountId": {
1092+ "type": "string",
1093+ "description": "Account for which to retrieve the alerts.",
1094+ "required": true,
1095+ "location": "path"
1096+ },
1097+ "locale": {
1098+ "type": "string",
1099+ "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.",
1100+ "location": "query"
1101+ }
1102+ },
1103+ "parameterOrder": [
1104+ "accountId"
1105+ ],
1106+ "response": {
1107+ "$ref": "Alerts"
1108+ },
1109+ "scopes": [
1110+ "https://www.googleapis.com/auth/adsense",
1111+ "https://www.googleapis.com/auth/adsense.readonly"
1112+ ]
1113+ }
1114+ }
1115+ },
1116+ "customchannels": {
1117+ "methods": {
1118+ "get": {
1119+ "id": "adsense.accounts.customchannels.get",
1120+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}",
1121+ "httpMethod": "GET",
1122+ "description": "Get the specified custom channel from the specified ad client for the specified account.",
1123+ "parameters": {
1124+ "accountId": {
1125+ "type": "string",
1126+ "description": "Account to which the ad client belongs.",
1127+ "required": true,
1128+ "location": "path"
1129+ },
1130+ "adClientId": {
1131+ "type": "string",
1132+ "description": "Ad client which contains the custom channel.",
1133+ "required": true,
1134+ "location": "path"
1135+ },
1136+ "customChannelId": {
1137+ "type": "string",
1138+ "description": "Custom channel to retrieve.",
1139+ "required": true,
1140+ "location": "path"
1141+ }
1142+ },
1143+ "parameterOrder": [
1144+ "accountId",
1145+ "adClientId",
1146+ "customChannelId"
1147+ ],
1148+ "response": {
1149+ "$ref": "CustomChannel"
1150+ },
1151+ "scopes": [
1152+ "https://www.googleapis.com/auth/adsense",
1153+ "https://www.googleapis.com/auth/adsense.readonly"
1154+ ]
1155+ },
1156+ "list": {
1157+ "id": "adsense.accounts.customchannels.list",
1158+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels",
1159+ "httpMethod": "GET",
1160+ "description": "List all custom channels in the specified ad client for the specified account.",
1161+ "parameters": {
1162+ "accountId": {
1163+ "type": "string",
1164+ "description": "Account to which the ad client belongs.",
1165+ "required": true,
1166+ "location": "path"
1167+ },
1168+ "adClientId": {
1169+ "type": "string",
1170+ "description": "Ad client for which to list custom channels.",
1171+ "required": true,
1172+ "location": "path"
1173+ },
1174+ "maxResults": {
1175+ "type": "integer",
1176+ "description": "The maximum number of custom channels to include in the response, used for paging.",
1177+ "format": "int32",
1178+ "minimum": "0",
1179+ "maximum": "10000",
1180+ "location": "query"
1181+ },
1182+ "pageToken": {
1183+ "type": "string",
1184+ "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.",
1185+ "location": "query"
1186+ }
1187+ },
1188+ "parameterOrder": [
1189+ "accountId",
1190+ "adClientId"
1191+ ],
1192+ "response": {
1193+ "$ref": "CustomChannels"
1194+ },
1195+ "scopes": [
1196+ "https://www.googleapis.com/auth/adsense",
1197+ "https://www.googleapis.com/auth/adsense.readonly"
1198+ ]
1199+ }
1200+ },
1201+ "resources": {
1202+ "adunits": {
1203+ "methods": {
1204+ "list": {
1205+ "id": "adsense.accounts.customchannels.adunits.list",
1206+ "path": "accounts/{accountId}/adclients/{adClientId}/customchannels/{customChannelId}/adunits",
1207+ "httpMethod": "GET",
1208+ "description": "List all ad units in the specified custom channel.",
1209+ "parameters": {
1210+ "accountId": {
1211+ "type": "string",
1212+ "description": "Account to which the ad client belongs.",
1213+ "required": true,
1214+ "location": "path"
1215+ },
1216+ "adClientId": {
1217+ "type": "string",
1218+ "description": "Ad client which contains the custom channel.",
1219+ "required": true,
1220+ "location": "path"
1221+ },
1222+ "customChannelId": {
1223+ "type": "string",
1224+ "description": "Custom channel for which to list ad units.",
1225+ "required": true,
1226+ "location": "path"
1227+ },
1228+ "includeInactive": {
1229+ "type": "boolean",
1230+ "description": "Whether to include inactive ad units. Default: true.",
1231+ "location": "query"
1232+ },
1233+ "maxResults": {
1234+ "type": "integer",
1235+ "description": "The maximum number of ad units to include in the response, used for paging.",
1236+ "format": "int32",
1237+ "minimum": "0",
1238+ "maximum": "10000",
1239+ "location": "query"
1240+ },
1241+ "pageToken": {
1242+ "type": "string",
1243+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1244+ "location": "query"
1245+ }
1246+ },
1247+ "parameterOrder": [
1248+ "accountId",
1249+ "adClientId",
1250+ "customChannelId"
1251+ ],
1252+ "response": {
1253+ "$ref": "AdUnits"
1254+ },
1255+ "scopes": [
1256+ "https://www.googleapis.com/auth/adsense",
1257+ "https://www.googleapis.com/auth/adsense.readonly"
1258+ ]
1259+ }
1260+ }
1261+ }
1262+ }
1263+ },
1264+ "reports": {
1265+ "methods": {
1266+ "generate": {
1267+ "id": "adsense.accounts.reports.generate",
1268+ "path": "accounts/{accountId}/reports",
1269+ "httpMethod": "GET",
1270+ "description": "Generate an AdSense 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.",
1271+ "parameters": {
1272+ "accountId": {
1273+ "type": "string",
1274+ "description": "Account upon which to report.",
1275+ "required": true,
1276+ "location": "path"
1277+ },
1278+ "currency": {
1279+ "type": "string",
1280+ "description": "Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.",
1281+ "pattern": "[a-zA-Z]+",
1282+ "location": "query"
1283+ },
1284+ "dimension": {
1285+ "type": "string",
1286+ "description": "Dimensions to base the report on.",
1287+ "pattern": "[a-zA-Z_]+",
1288+ "repeated": true,
1289+ "location": "query"
1290+ },
1291+ "endDate": {
1292+ "type": "string",
1293+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1294+ "required": true,
1295+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1296+ "location": "query"
1297+ },
1298+ "filter": {
1299+ "type": "string",
1300+ "description": "Filters to be run on the report.",
1301+ "pattern": "[a-zA-Z_]+(==|=@).+",
1302+ "repeated": true,
1303+ "location": "query"
1304+ },
1305+ "locale": {
1306+ "type": "string",
1307+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1308+ "pattern": "[a-zA-Z_]+",
1309+ "location": "query"
1310+ },
1311+ "maxResults": {
1312+ "type": "integer",
1313+ "description": "The maximum number of rows of report data to return.",
1314+ "format": "int32",
1315+ "minimum": "0",
1316+ "maximum": "50000",
1317+ "location": "query"
1318+ },
1319+ "metric": {
1320+ "type": "string",
1321+ "description": "Numeric columns to include in the report.",
1322+ "pattern": "[a-zA-Z_]+",
1323+ "repeated": true,
1324+ "location": "query"
1325+ },
1326+ "sort": {
1327+ "type": "string",
1328+ "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.",
1329+ "pattern": "(\\+|-)?[a-zA-Z_]+",
1330+ "repeated": true,
1331+ "location": "query"
1332+ },
1333+ "startDate": {
1334+ "type": "string",
1335+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1336+ "required": true,
1337+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1338+ "location": "query"
1339+ },
1340+ "startIndex": {
1341+ "type": "integer",
1342+ "description": "Index of the first row of report data to return.",
1343+ "format": "int32",
1344+ "minimum": "0",
1345+ "maximum": "5000",
1346+ "location": "query"
1347+ },
1348+ "useTimezoneReporting": {
1349+ "type": "boolean",
1350+ "description": "Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.",
1351+ "location": "query"
1352+ }
1353+ },
1354+ "parameterOrder": [
1355+ "accountId",
1356+ "startDate",
1357+ "endDate"
1358+ ],
1359+ "response": {
1360+ "$ref": "AdsenseReportsGenerateResponse"
1361+ },
1362+ "scopes": [
1363+ "https://www.googleapis.com/auth/adsense",
1364+ "https://www.googleapis.com/auth/adsense.readonly"
1365+ ],
1366+ "supportsMediaDownload": true
1367+ }
1368+ },
1369+ "resources": {
1370+ "saved": {
1371+ "methods": {
1372+ "generate": {
1373+ "id": "adsense.accounts.reports.saved.generate",
1374+ "path": "accounts/{accountId}/reports/{savedReportId}",
1375+ "httpMethod": "GET",
1376+ "description": "Generate an AdSense report based on the saved report ID sent in the query parameters.",
1377+ "parameters": {
1378+ "accountId": {
1379+ "type": "string",
1380+ "description": "Account to which the saved reports belong.",
1381+ "required": true,
1382+ "location": "path"
1383+ },
1384+ "locale": {
1385+ "type": "string",
1386+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
1387+ "pattern": "[a-zA-Z_]+",
1388+ "location": "query"
1389+ },
1390+ "maxResults": {
1391+ "type": "integer",
1392+ "description": "The maximum number of rows of report data to return.",
1393+ "format": "int32",
1394+ "minimum": "0",
1395+ "maximum": "50000",
1396+ "location": "query"
1397+ },
1398+ "savedReportId": {
1399+ "type": "string",
1400+ "description": "The saved report to retrieve.",
1401+ "required": true,
1402+ "location": "path"
1403+ },
1404+ "startIndex": {
1405+ "type": "integer",
1406+ "description": "Index of the first row of report data to return.",
1407+ "format": "int32",
1408+ "minimum": "0",
1409+ "maximum": "5000",
1410+ "location": "query"
1411+ }
1412+ },
1413+ "parameterOrder": [
1414+ "accountId",
1415+ "savedReportId"
1416+ ],
1417+ "response": {
1418+ "$ref": "AdsenseReportsGenerateResponse"
1419+ },
1420+ "scopes": [
1421+ "https://www.googleapis.com/auth/adsense",
1422+ "https://www.googleapis.com/auth/adsense.readonly"
1423+ ]
1424+ },
1425+ "list": {
1426+ "id": "adsense.accounts.reports.saved.list",
1427+ "path": "accounts/{accountId}/reports/saved",
1428+ "httpMethod": "GET",
1429+ "description": "List all saved reports in the specified AdSense account.",
1430+ "parameters": {
1431+ "accountId": {
1432+ "type": "string",
1433+ "description": "Account to which the saved reports belong.",
1434+ "required": true,
1435+ "location": "path"
1436+ },
1437+ "maxResults": {
1438+ "type": "integer",
1439+ "description": "The maximum number of saved reports to include in the response, used for paging.",
1440+ "format": "int32",
1441+ "minimum": "0",
1442+ "maximum": "100",
1443+ "location": "query"
1444+ },
1445+ "pageToken": {
1446+ "type": "string",
1447+ "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.",
1448+ "location": "query"
1449+ }
1450+ },
1451+ "parameterOrder": [
1452+ "accountId"
1453+ ],
1454+ "response": {
1455+ "$ref": "SavedReports"
1456+ },
1457+ "scopes": [
1458+ "https://www.googleapis.com/auth/adsense",
1459+ "https://www.googleapis.com/auth/adsense.readonly"
1460+ ]
1461+ }
1462+ }
1463+ }
1464+ }
1465+ },
1466+ "savedadstyles": {
1467+ "methods": {
1468+ "get": {
1469+ "id": "adsense.accounts.savedadstyles.get",
1470+ "path": "accounts/{accountId}/savedadstyles/{savedAdStyleId}",
1471+ "httpMethod": "GET",
1472+ "description": "List a specific saved ad style for the specified account.",
1473+ "parameters": {
1474+ "accountId": {
1475+ "type": "string",
1476+ "description": "Account for which to get the saved ad style.",
1477+ "required": true,
1478+ "location": "path"
1479+ },
1480+ "savedAdStyleId": {
1481+ "type": "string",
1482+ "description": "Saved ad style to retrieve.",
1483+ "required": true,
1484+ "location": "path"
1485+ }
1486+ },
1487+ "parameterOrder": [
1488+ "accountId",
1489+ "savedAdStyleId"
1490+ ],
1491+ "response": {
1492+ "$ref": "SavedAdStyle"
1493+ },
1494+ "scopes": [
1495+ "https://www.googleapis.com/auth/adsense",
1496+ "https://www.googleapis.com/auth/adsense.readonly"
1497+ ]
1498+ },
1499+ "list": {
1500+ "id": "adsense.accounts.savedadstyles.list",
1501+ "path": "accounts/{accountId}/savedadstyles",
1502+ "httpMethod": "GET",
1503+ "description": "List all saved ad styles in the specified account.",
1504+ "parameters": {
1505+ "accountId": {
1506+ "type": "string",
1507+ "description": "Account for which to list saved ad styles.",
1508+ "required": true,
1509+ "location": "path"
1510+ },
1511+ "maxResults": {
1512+ "type": "integer",
1513+ "description": "The maximum number of saved ad styles to include in the response, used for paging.",
1514+ "format": "int32",
1515+ "minimum": "0",
1516+ "maximum": "10000",
1517+ "location": "query"
1518+ },
1519+ "pageToken": {
1520+ "type": "string",
1521+ "description": "A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1522+ "location": "query"
1523+ }
1524+ },
1525+ "parameterOrder": [
1526+ "accountId"
1527+ ],
1528+ "response": {
1529+ "$ref": "SavedAdStyles"
1530+ },
1531+ "scopes": [
1532+ "https://www.googleapis.com/auth/adsense",
1533+ "https://www.googleapis.com/auth/adsense.readonly"
1534+ ]
1535+ }
1536+ }
1537+ },
1538+ "urlchannels": {
1539+ "methods": {
1540+ "list": {
1541+ "id": "adsense.accounts.urlchannels.list",
1542+ "path": "accounts/{accountId}/adclients/{adClientId}/urlchannels",
1543+ "httpMethod": "GET",
1544+ "description": "List all URL channels in the specified ad client for the specified account.",
1545+ "parameters": {
1546+ "accountId": {
1547+ "type": "string",
1548+ "description": "Account to which the ad client belongs.",
1549+ "required": true,
1550+ "location": "path"
1551+ },
1552+ "adClientId": {
1553+ "type": "string",
1554+ "description": "Ad client for which to list URL channels.",
1555+ "required": true,
1556+ "location": "path"
1557+ },
1558+ "maxResults": {
1559+ "type": "integer",
1560+ "description": "The maximum number of URL channels to include in the response, used for paging.",
1561+ "format": "int32",
1562+ "minimum": "0",
1563+ "maximum": "10000",
1564+ "location": "query"
1565+ },
1566+ "pageToken": {
1567+ "type": "string",
1568+ "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.",
1569+ "location": "query"
1570+ }
1571+ },
1572+ "parameterOrder": [
1573+ "accountId",
1574+ "adClientId"
1575+ ],
1576+ "response": {
1577+ "$ref": "UrlChannels"
1578+ },
1579+ "scopes": [
1580+ "https://www.googleapis.com/auth/adsense",
1581+ "https://www.googleapis.com/auth/adsense.readonly"
1582+ ]
1583+ }
1584+ }
1585+ }
1586+ }
1587+ },
1588+ "adclients": {
1589+ "methods": {
1590+ "list": {
1591+ "id": "adsense.adclients.list",
1592+ "path": "adclients",
1593+ "httpMethod": "GET",
1594+ "description": "List all ad clients in this AdSense account.",
1595+ "parameters": {
1596+ "maxResults": {
1597+ "type": "integer",
1598+ "description": "The maximum number of ad clients to include in the response, used for paging.",
1599+ "format": "int32",
1600+ "minimum": "0",
1601+ "maximum": "10000",
1602+ "location": "query"
1603+ },
1604+ "pageToken": {
1605+ "type": "string",
1606+ "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.",
1607+ "location": "query"
1608+ }
1609+ },
1610+ "response": {
1611+ "$ref": "AdClients"
1612+ },
1613+ "scopes": [
1614+ "https://www.googleapis.com/auth/adsense",
1615+ "https://www.googleapis.com/auth/adsense.readonly"
1616+ ]
1617+ }
1618+ }
1619+ },
1620+ "adunits": {
1621+ "methods": {
1622+ "get": {
1623+ "id": "adsense.adunits.get",
1624+ "path": "adclients/{adClientId}/adunits/{adUnitId}",
1625+ "httpMethod": "GET",
1626+ "description": "Gets the specified ad unit in the specified ad client.",
1627+ "parameters": {
1628+ "adClientId": {
1629+ "type": "string",
1630+ "description": "Ad client for which to get the ad unit.",
1631+ "required": true,
1632+ "location": "path"
1633+ },
1634+ "adUnitId": {
1635+ "type": "string",
1636+ "description": "Ad unit to retrieve.",
1637+ "required": true,
1638+ "location": "path"
1639+ }
1640+ },
1641+ "parameterOrder": [
1642+ "adClientId",
1643+ "adUnitId"
1644+ ],
1645+ "response": {
1646+ "$ref": "AdUnit"
1647+ },
1648+ "scopes": [
1649+ "https://www.googleapis.com/auth/adsense",
1650+ "https://www.googleapis.com/auth/adsense.readonly"
1651+ ]
1652+ },
1653+ "getAdCode": {
1654+ "id": "adsense.adunits.getAdCode",
1655+ "path": "adclients/{adClientId}/adunits/{adUnitId}/adcode",
1656+ "httpMethod": "GET",
1657+ "description": "Get ad code for the specified ad unit.",
1658+ "parameters": {
1659+ "adClientId": {
1660+ "type": "string",
1661+ "description": "Ad client with contains the ad unit.",
1662+ "required": true,
1663+ "location": "path"
1664+ },
1665+ "adUnitId": {
1666+ "type": "string",
1667+ "description": "Ad unit to get the code for.",
1668+ "required": true,
1669+ "location": "path"
1670+ }
1671+ },
1672+ "parameterOrder": [
1673+ "adClientId",
1674+ "adUnitId"
1675+ ],
1676+ "response": {
1677+ "$ref": "AdCode"
1678+ },
1679+ "scopes": [
1680+ "https://www.googleapis.com/auth/adsense",
1681+ "https://www.googleapis.com/auth/adsense.readonly"
1682+ ]
1683+ },
1684+ "list": {
1685+ "id": "adsense.adunits.list",
1686+ "path": "adclients/{adClientId}/adunits",
1687+ "httpMethod": "GET",
1688+ "description": "List all ad units in the specified ad client for this AdSense account.",
1689+ "parameters": {
1690+ "adClientId": {
1691+ "type": "string",
1692+ "description": "Ad client for which to list ad units.",
1693+ "required": true,
1694+ "location": "path"
1695+ },
1696+ "includeInactive": {
1697+ "type": "boolean",
1698+ "description": "Whether to include inactive ad units. Default: true.",
1699+ "location": "query"
1700+ },
1701+ "maxResults": {
1702+ "type": "integer",
1703+ "description": "The maximum number of ad units to include in the response, used for paging.",
1704+ "format": "int32",
1705+ "minimum": "0",
1706+ "maximum": "10000",
1707+ "location": "query"
1708+ },
1709+ "pageToken": {
1710+ "type": "string",
1711+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1712+ "location": "query"
1713+ }
1714+ },
1715+ "parameterOrder": [
1716+ "adClientId"
1717+ ],
1718+ "response": {
1719+ "$ref": "AdUnits"
1720+ },
1721+ "scopes": [
1722+ "https://www.googleapis.com/auth/adsense",
1723+ "https://www.googleapis.com/auth/adsense.readonly"
1724+ ]
1725+ }
1726+ },
1727+ "resources": {
1728+ "customchannels": {
1729+ "methods": {
1730+ "list": {
1731+ "id": "adsense.adunits.customchannels.list",
1732+ "path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels",
1733+ "httpMethod": "GET",
1734+ "description": "List all custom channels which the specified ad unit belongs to.",
1735+ "parameters": {
1736+ "adClientId": {
1737+ "type": "string",
1738+ "description": "Ad client which contains the ad unit.",
1739+ "required": true,
1740+ "location": "path"
1741+ },
1742+ "adUnitId": {
1743+ "type": "string",
1744+ "description": "Ad unit for which to list custom channels.",
1745+ "required": true,
1746+ "location": "path"
1747+ },
1748+ "maxResults": {
1749+ "type": "integer",
1750+ "description": "The maximum number of custom channels to include in the response, used for paging.",
1751+ "format": "int32",
1752+ "minimum": "0",
1753+ "maximum": "10000",
1754+ "location": "query"
1755+ },
1756+ "pageToken": {
1757+ "type": "string",
1758+ "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.",
1759+ "location": "query"
1760+ }
1761+ },
1762+ "parameterOrder": [
1763+ "adClientId",
1764+ "adUnitId"
1765+ ],
1766+ "response": {
1767+ "$ref": "CustomChannels"
1768+ },
1769+ "scopes": [
1770+ "https://www.googleapis.com/auth/adsense",
1771+ "https://www.googleapis.com/auth/adsense.readonly"
1772+ ]
1773+ }
1774+ }
1775+ }
1776+ }
1777+ },
1778+ "alerts": {
1779+ "methods": {
1780+ "list": {
1781+ "id": "adsense.alerts.list",
1782+ "path": "alerts",
1783+ "httpMethod": "GET",
1784+ "description": "List the alerts for this AdSense account.",
1785+ "parameters": {
1786+ "locale": {
1787+ "type": "string",
1788+ "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.",
1789+ "location": "query"
1790+ }
1791+ },
1792+ "response": {
1793+ "$ref": "Alerts"
1794+ },
1795+ "scopes": [
1796+ "https://www.googleapis.com/auth/adsense",
1797+ "https://www.googleapis.com/auth/adsense.readonly"
1798+ ]
1799+ }
1800+ }
1801+ },
1802+ "customchannels": {
1803+ "methods": {
1804+ "get": {
1805+ "id": "adsense.customchannels.get",
1806+ "path": "adclients/{adClientId}/customchannels/{customChannelId}",
1807+ "httpMethod": "GET",
1808+ "description": "Get the specified custom channel from the specified ad client.",
1809+ "parameters": {
1810+ "adClientId": {
1811+ "type": "string",
1812+ "description": "Ad client which contains the custom channel.",
1813+ "required": true,
1814+ "location": "path"
1815+ },
1816+ "customChannelId": {
1817+ "type": "string",
1818+ "description": "Custom channel to retrieve.",
1819+ "required": true,
1820+ "location": "path"
1821+ }
1822+ },
1823+ "parameterOrder": [
1824+ "adClientId",
1825+ "customChannelId"
1826+ ],
1827+ "response": {
1828+ "$ref": "CustomChannel"
1829+ },
1830+ "scopes": [
1831+ "https://www.googleapis.com/auth/adsense",
1832+ "https://www.googleapis.com/auth/adsense.readonly"
1833+ ]
1834+ },
1835+ "list": {
1836+ "id": "adsense.customchannels.list",
1837+ "path": "adclients/{adClientId}/customchannels",
1838+ "httpMethod": "GET",
1839+ "description": "List all custom channels in the specified ad client for this AdSense account.",
1840+ "parameters": {
1841+ "adClientId": {
1842+ "type": "string",
1843+ "description": "Ad client for which to list custom channels.",
1844+ "required": true,
1845+ "location": "path"
1846+ },
1847+ "maxResults": {
1848+ "type": "integer",
1849+ "description": "The maximum number of custom channels to include in the response, used for paging.",
1850+ "format": "int32",
1851+ "minimum": "0",
1852+ "maximum": "10000",
1853+ "location": "query"
1854+ },
1855+ "pageToken": {
1856+ "type": "string",
1857+ "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.",
1858+ "location": "query"
1859+ }
1860+ },
1861+ "parameterOrder": [
1862+ "adClientId"
1863+ ],
1864+ "response": {
1865+ "$ref": "CustomChannels"
1866+ },
1867+ "scopes": [
1868+ "https://www.googleapis.com/auth/adsense",
1869+ "https://www.googleapis.com/auth/adsense.readonly"
1870+ ]
1871+ }
1872+ },
1873+ "resources": {
1874+ "adunits": {
1875+ "methods": {
1876+ "list": {
1877+ "id": "adsense.customchannels.adunits.list",
1878+ "path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits",
1879+ "httpMethod": "GET",
1880+ "description": "List all ad units in the specified custom channel.",
1881+ "parameters": {
1882+ "adClientId": {
1883+ "type": "string",
1884+ "description": "Ad client which contains the custom channel.",
1885+ "required": true,
1886+ "location": "path"
1887+ },
1888+ "customChannelId": {
1889+ "type": "string",
1890+ "description": "Custom channel for which to list ad units.",
1891+ "required": true,
1892+ "location": "path"
1893+ },
1894+ "includeInactive": {
1895+ "type": "boolean",
1896+ "description": "Whether to include inactive ad units. Default: true.",
1897+ "location": "query"
1898+ },
1899+ "maxResults": {
1900+ "type": "integer",
1901+ "description": "The maximum number of ad units to include in the response, used for paging.",
1902+ "format": "int32",
1903+ "minimum": "0",
1904+ "maximum": "10000",
1905+ "location": "query"
1906+ },
1907+ "pageToken": {
1908+ "type": "string",
1909+ "description": "A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
1910+ "location": "query"
1911+ }
1912+ },
1913+ "parameterOrder": [
1914+ "adClientId",
1915+ "customChannelId"
1916+ ],
1917+ "response": {
1918+ "$ref": "AdUnits"
1919+ },
1920+ "scopes": [
1921+ "https://www.googleapis.com/auth/adsense",
1922+ "https://www.googleapis.com/auth/adsense.readonly"
1923+ ]
1924+ }
1925+ }
1926+ }
1927+ }
1928+ },
1929+ "metadata": {
1930+ "resources": {
1931+ "dimensions": {
1932+ "methods": {
1933+ "list": {
1934+ "id": "adsense.metadata.dimensions.list",
1935+ "path": "metadata/dimensions",
1936+ "httpMethod": "GET",
1937+ "description": "List the metadata for the dimensions available to this AdSense account.",
1938+ "response": {
1939+ "$ref": "Metadata"
1940+ },
1941+ "scopes": [
1942+ "https://www.googleapis.com/auth/adsense",
1943+ "https://www.googleapis.com/auth/adsense.readonly"
1944+ ]
1945+ }
1946+ }
1947+ },
1948+ "metrics": {
1949+ "methods": {
1950+ "list": {
1951+ "id": "adsense.metadata.metrics.list",
1952+ "path": "metadata/metrics",
1953+ "httpMethod": "GET",
1954+ "description": "List the metadata for the metrics available to this AdSense account.",
1955+ "response": {
1956+ "$ref": "Metadata"
1957+ },
1958+ "scopes": [
1959+ "https://www.googleapis.com/auth/adsense",
1960+ "https://www.googleapis.com/auth/adsense.readonly"
1961+ ]
1962+ }
1963+ }
1964+ }
1965+ }
1966+ },
1967+ "reports": {
1968+ "methods": {
1969+ "generate": {
1970+ "id": "adsense.reports.generate",
1971+ "path": "reports",
1972+ "httpMethod": "GET",
1973+ "description": "Generate an AdSense 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.",
1974+ "parameters": {
1975+ "accountId": {
1976+ "type": "string",
1977+ "description": "Accounts upon which to report.",
1978+ "repeated": true,
1979+ "location": "query"
1980+ },
1981+ "currency": {
1982+ "type": "string",
1983+ "description": "Optional currency to use when reporting on monetary metrics. Defaults to the account's currency if not set.",
1984+ "pattern": "[a-zA-Z]+",
1985+ "location": "query"
1986+ },
1987+ "dimension": {
1988+ "type": "string",
1989+ "description": "Dimensions to base the report on.",
1990+ "pattern": "[a-zA-Z_]+",
1991+ "repeated": true,
1992+ "location": "query"
1993+ },
1994+ "endDate": {
1995+ "type": "string",
1996+ "description": "End of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
1997+ "required": true,
1998+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
1999+ "location": "query"
2000+ },
2001+ "filter": {
2002+ "type": "string",
2003+ "description": "Filters to be run on the report.",
2004+ "pattern": "[a-zA-Z_]+(==|=@).+",
2005+ "repeated": true,
2006+ "location": "query"
2007+ },
2008+ "locale": {
2009+ "type": "string",
2010+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
2011+ "pattern": "[a-zA-Z_]+",
2012+ "location": "query"
2013+ },
2014+ "maxResults": {
2015+ "type": "integer",
2016+ "description": "The maximum number of rows of report data to return.",
2017+ "format": "int32",
2018+ "minimum": "0",
2019+ "maximum": "50000",
2020+ "location": "query"
2021+ },
2022+ "metric": {
2023+ "type": "string",
2024+ "description": "Numeric columns to include in the report.",
2025+ "pattern": "[a-zA-Z_]+",
2026+ "repeated": true,
2027+ "location": "query"
2028+ },
2029+ "sort": {
2030+ "type": "string",
2031+ "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.",
2032+ "pattern": "(\\+|-)?[a-zA-Z_]+",
2033+ "repeated": true,
2034+ "location": "query"
2035+ },
2036+ "startDate": {
2037+ "type": "string",
2038+ "description": "Start of the date range to report on in \"YYYY-MM-DD\" format, inclusive.",
2039+ "required": true,
2040+ "pattern": "\\d{4}-\\d{2}-\\d{2}|(today|startOfMonth|startOfYear)(([\\-\\+]\\d+[dwmy]){0,3}?)",
2041+ "location": "query"
2042+ },
2043+ "startIndex": {
2044+ "type": "integer",
2045+ "description": "Index of the first row of report data to return.",
2046+ "format": "int32",
2047+ "minimum": "0",
2048+ "maximum": "5000",
2049+ "location": "query"
2050+ },
2051+ "useTimezoneReporting": {
2052+ "type": "boolean",
2053+ "description": "Whether the report should be generated in the AdSense account's local timezone. If false default PST/PDT timezone will be used.",
2054+ "location": "query"
2055+ }
2056+ },
2057+ "parameterOrder": [
2058+ "startDate",
2059+ "endDate"
2060+ ],
2061+ "response": {
2062+ "$ref": "AdsenseReportsGenerateResponse"
2063+ },
2064+ "scopes": [
2065+ "https://www.googleapis.com/auth/adsense",
2066+ "https://www.googleapis.com/auth/adsense.readonly"
2067+ ],
2068+ "supportsMediaDownload": true
2069+ }
2070+ },
2071+ "resources": {
2072+ "saved": {
2073+ "methods": {
2074+ "generate": {
2075+ "id": "adsense.reports.saved.generate",
2076+ "path": "reports/{savedReportId}",
2077+ "httpMethod": "GET",
2078+ "description": "Generate an AdSense report based on the saved report ID sent in the query parameters.",
2079+ "parameters": {
2080+ "locale": {
2081+ "type": "string",
2082+ "description": "Optional locale to use for translating report output to a local language. Defaults to \"en_US\" if not specified.",
2083+ "pattern": "[a-zA-Z_]+",
2084+ "location": "query"
2085+ },
2086+ "maxResults": {
2087+ "type": "integer",
2088+ "description": "The maximum number of rows of report data to return.",
2089+ "format": "int32",
2090+ "minimum": "0",
2091+ "maximum": "50000",
2092+ "location": "query"
2093+ },
2094+ "savedReportId": {
2095+ "type": "string",
2096+ "description": "The saved report to retrieve.",
2097+ "required": true,
2098+ "location": "path"
2099+ },
2100+ "startIndex": {
2101+ "type": "integer",
2102+ "description": "Index of the first row of report data to return.",
2103+ "format": "int32",
2104+ "minimum": "0",
2105+ "maximum": "5000",
2106+ "location": "query"
2107+ }
2108+ },
2109+ "parameterOrder": [
2110+ "savedReportId"
2111+ ],
2112+ "response": {
2113+ "$ref": "AdsenseReportsGenerateResponse"
2114+ },
2115+ "scopes": [
2116+ "https://www.googleapis.com/auth/adsense",
2117+ "https://www.googleapis.com/auth/adsense.readonly"
2118+ ]
2119+ },
2120+ "list": {
2121+ "id": "adsense.reports.saved.list",
2122+ "path": "reports/saved",
2123+ "httpMethod": "GET",
2124+ "description": "List all saved reports in this AdSense account.",
2125+ "parameters": {
2126+ "maxResults": {
2127+ "type": "integer",
2128+ "description": "The maximum number of saved reports to include in the response, used for paging.",
2129+ "format": "int32",
2130+ "minimum": "0",
2131+ "maximum": "100",
2132+ "location": "query"
2133+ },
2134+ "pageToken": {
2135+ "type": "string",
2136+ "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.",
2137+ "location": "query"
2138+ }
2139+ },
2140+ "response": {
2141+ "$ref": "SavedReports"
2142+ },
2143+ "scopes": [
2144+ "https://www.googleapis.com/auth/adsense",
2145+ "https://www.googleapis.com/auth/adsense.readonly"
2146+ ]
2147+ }
2148+ }
2149+ }
2150+ }
2151+ },
2152+ "savedadstyles": {
2153+ "methods": {
2154+ "get": {
2155+ "id": "adsense.savedadstyles.get",
2156+ "path": "savedadstyles/{savedAdStyleId}",
2157+ "httpMethod": "GET",
2158+ "description": "Get a specific saved ad style from the user's account.",
2159+ "parameters": {
2160+ "savedAdStyleId": {
2161+ "type": "string",
2162+ "description": "Saved ad style to retrieve.",
2163+ "required": true,
2164+ "location": "path"
2165+ }
2166+ },
2167+ "parameterOrder": [
2168+ "savedAdStyleId"
2169+ ],
2170+ "response": {
2171+ "$ref": "SavedAdStyle"
2172+ },
2173+ "scopes": [
2174+ "https://www.googleapis.com/auth/adsense",
2175+ "https://www.googleapis.com/auth/adsense.readonly"
2176+ ]
2177+ },
2178+ "list": {
2179+ "id": "adsense.savedadstyles.list",
2180+ "path": "savedadstyles",
2181+ "httpMethod": "GET",
2182+ "description": "List all saved ad styles in the user's account.",
2183+ "parameters": {
2184+ "maxResults": {
2185+ "type": "integer",
2186+ "description": "The maximum number of saved ad styles to include in the response, used for paging.",
2187+ "format": "int32",
2188+ "minimum": "0",
2189+ "maximum": "10000",
2190+ "location": "query"
2191+ },
2192+ "pageToken": {
2193+ "type": "string",
2194+ "description": "A continuation token, used to page through saved ad styles. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response.",
2195+ "location": "query"
2196+ }
2197+ },
2198+ "response": {
2199+ "$ref": "SavedAdStyles"
2200+ },
2201+ "scopes": [
2202+ "https://www.googleapis.com/auth/adsense",
2203+ "https://www.googleapis.com/auth/adsense.readonly"
2204+ ]
2205+ }
2206+ }
2207+ },
2208+ "urlchannels": {
2209+ "methods": {
2210+ "list": {
2211+ "id": "adsense.urlchannels.list",
2212+ "path": "adclients/{adClientId}/urlchannels",
2213+ "httpMethod": "GET",
2214+ "description": "List all URL channels in the specified ad client for this AdSense account.",
2215+ "parameters": {
2216+ "adClientId": {
2217+ "type": "string",
2218+ "description": "Ad client for which to list URL channels.",
2219+ "required": true,
2220+ "location": "path"
2221+ },
2222+ "maxResults": {
2223+ "type": "integer",
2224+ "description": "The maximum number of URL channels to include in the response, used for paging.",
2225+ "format": "int32",
2226+ "minimum": "0",
2227+ "maximum": "10000",
2228+ "location": "query"
2229+ },
2230+ "pageToken": {
2231+ "type": "string",
2232+ "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.",
2233+ "location": "query"
2234+ }
2235+ },
2236+ "parameterOrder": [
2237+ "adClientId"
2238+ ],
2239+ "response": {
2240+ "$ref": "UrlChannels"
2241+ },
2242+ "scopes": [
2243+ "https://www.googleapis.com/auth/adsense",
2244+ "https://www.googleapis.com/auth/adsense.readonly"
2245+ ]
2246+ }
2247+ }
2248+ }
2249+ }
2250+}
gen/model/adsense/adsense/v1.4/adsense-api.jsonnew file+2407

This diff is too big to show here.

gen/model/adsensehost/adsensehost/v4.1/adsensehost-api.jsonnew file+1569

This diff is too big to show here.

gen/model/analytics/analytics/v2.4/analytics-api.jsonnew file+366

This diff is too big to show here.

gen/model/analytics/analytics/v3/analytics-api.jsonnew file+6675

This diff is too big to show here.

gen/model/androidenterprise/androidenterprise/v1/androidenterprise-api.jsonnew file+2415

This diff is too big to show here.

gen/model/androidpublisher/androidpublisher/v1.1/androidpublisher-api.jsonnew file+256

This diff is too big to show here.

gen/model/androidpublisher/androidpublisher/v1/androidpublisher-api.jsonnew file+184

This diff is too big to show here.

gen/model/androidpublisher/androidpublisher/v2/androidpublisher-api.jsonnew file+3071

This diff is too big to show here.

gen/model/appengine/appengine/v1beta4/appengine-api.jsonnew file+1423

This diff is too big to show here.

gen/model/appsactivity/appsactivity/v1/appsactivity-api.jsonnew file+477

This diff is too big to show here.

gen/model/appstate/appstate/v1/appstate-api.jsonnew file+307

This diff is too big to show here.

gen/model/autoscaler/autoscaler/v1beta2/autoscaler-api.jsonnew file+891

This diff is too big to show here.

gen/model/bigquery/bigquery/v2/bigquery-api.jsonnew file+2348

This diff is too big to show here.

gen/model/blogger/blogger/v2/blogger-api.jsonnew file+923

This diff is too big to show here.

gen/model/blogger/blogger/v3/blogger-api.jsonnew file+2507

This diff is too big to show here.

gen/model/books/books/v1/books-api.jsonnew file+4104

This diff is too big to show here.

gen/model/calendar/calendar/v3/calendar-api.jsonnew file+2666

This diff is too big to show here.

gen/model/civicinfo/civicinfo/v2/civicinfo-api.jsonnew file+1069

This diff is too big to show here.

gen/model/classroom/classroom/v1/classroom-api.jsonnew file+1109

This diff is too big to show here.

gen/model/cloudbilling/cloudbilling/v1/cloudbilling-api.jsonnew file+343

This diff is too big to show here.

gen/model/clouddebugger/clouddebugger/v2/clouddebugger-api.jsonnew file+913

This diff is too big to show here.

gen/model/cloudlatencytest/cloudlatencytest/v2/cloudlatencytest-api.jsonnew file+212

This diff is too big to show here.

gen/model/cloudmonitoring/cloudmonitoring/v2beta2/cloudmonitoring-api.jsonnew file+839

This diff is too big to show here.

gen/model/cloudresourcemanager/cloudresourcemanager/v1beta1/cloudresourcemanager-api.jsonnew file+716

This diff is too big to show here.

gen/model/clouduseraccounts/clouduseraccounts/v0.alpha/clouduseraccounts-api.jsonnew file+1818

This diff is too big to show here.

gen/model/clouduseraccounts/clouduseraccounts/v0.beta/clouduseraccounts-api.jsonnew file+1355

This diff is too big to show here.

gen/model/clouduseraccounts/clouduseraccounts/vm_alpha/clouduseraccounts-api.jsonnew file+1818

This diff is too big to show here.

gen/model/clouduseraccounts/clouduseraccounts/vm_beta/clouduseraccounts-api.jsonnew file+1355

This diff is too big to show here.

gen/model/compute/compute/v0.beta/compute-api.jsonnew file+14282

This diff is too big to show here.

gen/model/compute/compute/v1/compute-api.jsonnew file+13115

This diff is too big to show here.

gen/model/container/container/v1/container-api.jsonnew file+690

This diff is too big to show here.

gen/model/container/container/v1beta1/container-api.jsonnew file+644

This diff is too big to show here.

gen/model/content/content/v2/content-api.jsonnew file+6047

This diff is too big to show here.

gen/model/content/content/v2sandbox/content-api.jsonnew file+2175

This diff is too big to show here.

gen/model/coordinate/coordinate/v1/coordinate-api.jsonnew file+1196

This diff is too big to show here.

gen/model/customsearch/customsearch/v1/customsearch-api.jsonnew file+814

This diff is too big to show here.

gen/model/dataflow/dataflow/v1b3/dataflow-api.jsonnew file+2368

This diff is too big to show here.

gen/model/datastore/datastore/v1beta1/datastore-api.jsonnew file+988

This diff is too big to show here.

gen/model/datastore/datastore/v1beta2/datastore-api.jsonnew file+1075

This diff is too big to show here.

gen/model/deploymentmanager/deploymentmanager/v2/deploymentmanager-api.jsonnew file+1394

This diff is too big to show here.

gen/model/deploymentmanager/deploymentmanager/v2beta1/deploymentmanager-api.jsonnew file+883

This diff is too big to show here.

gen/model/deploymentmanager/deploymentmanager/v2beta2/deploymentmanager-api.jsonnew file+1225

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v1.1/dfareporting-api.jsonnew file+1521

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v1.2/dfareporting-api.jsonnew file+1589

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v1.3/dfareporting-api.jsonnew file+1913

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v1/dfareporting-api.jsonnew file+1172

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v2.0/dfareporting-api.jsonnew file+15333

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v2.1/dfareporting-api.jsonnew file+17625

This diff is too big to show here.

gen/model/dfareporting/dfareporting/v2.2/dfareporting-api.jsonnew file+17672

This diff is too big to show here.

gen/model/discovery/discovery/v1/discovery-api.jsonnew file+682

This diff is too big to show here.

gen/model/dns/dns/v1/dns-api.jsonnew file+708

This diff is too big to show here.

gen/model/dns/dns/v1beta1/dns-api.jsonnew file+700

This diff is too big to show here.

gen/model/doubleclickbidmanager/doubleclickbidmanager/v1/doubleclickbidmanager-api.jsonnew file+1718

This diff is too big to show here.

gen/model/doubleclicksearch/doubleclicksearch/v2/doubleclicksearch-api.jsonnew file+1105

This diff is too big to show here.

gen/model/drive/drive/v1/drive-api.jsonnew file+417

This diff is too big to show here.

gen/model/drive/drive/v2/drive-api.jsonnew file+4277

This diff is too big to show here.

gen/model/fitness/fitness/v1/fitness-api.jsonnew file+1321

This diff is too big to show here.

gen/model/freebase/freebase/v1/freebase-api.jsonnew file+412

This diff is too big to show here.

gen/model/fusiontables/fusiontables/v1/fusiontables-api.jsonnew file+1824

This diff is too big to show here.

gen/model/fusiontables/fusiontables/v2/fusiontables-api.jsonnew file+1930

This diff is too big to show here.

gen/model/games/games/v1/games-api.jsonnew file+4804

This diff is too big to show here.

gen/model/gamesconfiguration/gamesconfiguration/v1configuration/gamesconfiguration-api.jsonnew file+774

This diff is too big to show here.

gen/model/gamesmanagement/gamesmanagement/v1management/gamesmanagement-api.jsonnew file+881

This diff is too big to show here.

gen/model/gan/gan/v1beta1/gan-api.jsonnew file+1860

This diff is too big to show here.

gen/model/genomics/genomics/v1/genomics-api.jsonnew file+2781

This diff is too big to show here.

gen/model/genomics/genomics/v1beta2/genomics-api.jsonnew file+3859

This diff is too big to show here.

gen/model/gmail/gmail/v1/gmail-api.jsonnew file+2009

This diff is too big to show here.

gen/model/groupsmigration/groupsmigration/v1/groupsmigration-api.jsonnew file+143

This diff is too big to show here.

gen/model/groupssettings/groupssettings/v1/groupssettings-api.jsonnew file+284

This diff is too big to show here.

gen/model/identitytoolkit/identitytoolkit/v3/identitytoolkit-api.jsonnew file+1016

This diff is too big to show here.

gen/model/licensing/licensing/v1/licensing-api.jsonnew file+457

This diff is too big to show here.

gen/model/logging/logging/v1beta3/logging-api.jsonnew file+1490

This diff is too big to show here.

gen/model/manager/manager/v1beta2/manager-api.jsonnew file+1171

This diff is too big to show here.

gen/model/mapsengine/mapsengine/exp2/mapsengine-api.jsonnew file+5375

This diff is too big to show here.

gen/model/mapsengine/mapsengine/v1/mapsengine-api.jsonnew file+5352

This diff is too big to show here.

gen/model/mirror/mirror/v1/mirror-api.jsonnew file+1390

This diff is too big to show here.

gen/model/oauth2/oauth2/v1/oauth2-api.jsonnew file+407

This diff is too big to show here.

gen/model/oauth2/oauth2/v2/oauth2-api.jsonnew file+294

This diff is too big to show here.

gen/model/pagespeedonline/pagespeedonline/v1/pagespeedonline-api.jsonnew file+415

This diff is too big to show here.

gen/model/pagespeedonline/pagespeedonline/v2/pagespeedonline-api.jsonnew file+490

This diff is too big to show here.

gen/model/partners/partners/v2/partners-api.jsonnew file+1378

This diff is too big to show here.

gen/model/playmoviespartner/playmoviespartner/v1/playmoviespartner-api.jsonnew file+1131

This diff is too big to show here.

gen/model/plus/plus/v1/plus-api.jsonnew file+1973

This diff is too big to show here.

gen/model/plusdomains/plusdomains/v1/plusdomains-api.jsonnew file+2193

This diff is too big to show here.

gen/model/prediction/prediction/v1.2/prediction-api.jsonnew file+354

This diff is too big to show here.

gen/model/prediction/prediction/v1.3/prediction-api.jsonnew file+412

This diff is too big to show here.

gen/model/prediction/prediction/v1.4/prediction-api.jsonnew file+437

This diff is too big to show here.

gen/model/prediction/prediction/v1.5/prediction-api.jsonnew file+700

This diff is too big to show here.

gen/model/prediction/prediction/v1.6/prediction-api.jsonnew file+779

This diff is too big to show here.

gen/model/proximitybeacon/proximitybeacon/v1beta1/proximitybeacon-api.jsonnew file+822

This diff is too big to show here.

gen/model/pubsub/pubsub/v1/pubsub-api.jsonnew file+1036

This diff is too big to show here.

gen/model/pubsub/pubsub/v1beta1/pubsub-api.jsonnew file+699

This diff is too big to show here.

gen/model/pubsub/pubsub/v1beta1a/pubsub-api.jsonnew file+757

This diff is too big to show here.

gen/model/pubsub/pubsub/v1beta2/pubsub-api.jsonnew file+1040

This diff is too big to show here.

gen/model/qpxexpress/qpxexpress/v1/qpxexpress-api.jsonnew file+895

This diff is too big to show here.

gen/model/replicapool/replicapool/v1beta1/replicapool-api.jsonnew file+1116

This diff is too big to show here.

gen/model/replicapool/replicapool/v1beta2/replicapool-api.jsonnew file+1064

This diff is too big to show here.

gen/model/replicapoolupdater/replicapoolupdater/v1beta1/replicapoolupdater-api.jsonnew file+932

This diff is too big to show here.

gen/model/reseller/reseller/v1/reseller-api.jsonnew file+828

This diff is too big to show here.

gen/model/reseller/reseller/v1sandbox/reseller-api.jsonnew file+828

This diff is too big to show here.

gen/model/resourceviews/resourceviews/v1beta1/resourceviews-api.jsonnew file+920

This diff is too big to show here.

gen/model/resourceviews/resourceviews/v1beta2/resourceviews-api.jsonnew file+1052

This diff is too big to show here.

gen/model/siteverification/siteverification/v1/siteverification-api.jsonnew file+321

This diff is too big to show here.

gen/model/spectrum/spectrum/v1explorer/spectrum-api.jsonnew file+992

This diff is too big to show here.

gen/model/sqladmin/sqladmin/v1beta3/sqladmin-api.jsonnew file+1966

This diff is too big to show here.

gen/model/sqladmin/sqladmin/v1beta4/sqladmin-api.jsonnew file+2587

This diff is too big to show here.

gen/model/storage/storage/v1/storage-api.jsonnew file+2824

This diff is too big to show here.

gen/model/storage/storage/v1beta1/storage-api.jsonnew file+1427

This diff is too big to show here.

gen/model/storage/storage/v1beta2/storage-api.json+2345

This diff is too big to show here.

gen/model/storagetransfer/storagetransfer/v1/storagetransfer-api.json+1033

This diff is too big to show here.

gen/model/tagmanager/tagmanager/v1/tagmanager-api.json+3286

This diff is too big to show here.

gen/model/taskqueue/taskqueue/v1beta1/taskqueue-api.json+422

This diff is too big to show here.

gen/model/taskqueue/taskqueue/v1beta2/taskqueue-api.json+569

This diff is too big to show here.

gen/model/tasks/tasks/v1/tasks-api.json+696

This diff is too big to show here.

gen/model/translate/translate/v2/translate-api.json+267

This diff is too big to show here.

gen/model/urlshortener/urlshortener/v1/urlshortener-api.json+319

This diff is too big to show here.

gen/model/webfonts/webfonts/v1/webfonts-api.json+175

This diff is too big to show here.

gen/model/webmasters/webmasters/v3/webmasters-api.json+956

This diff is too big to show here.

gen/model/youtube/youtube/v3/youtube-api.json+9465

This diff is too big to show here.

gen/model/youtubeanalytics/youtubeanalytics/v1/youtubeanalytics-api.json+724

This diff is too big to show here.

gen/model/youtubeanalytics/youtubeanalytics/v1beta1/youtubeanalytics-api.json+727

This diff is too big to show here.