1{
2 "auth": {
3 "oauth2": {
4 "scopes": {
5 "https://www.googleapis.com/auth/apps.licensing": {
6 "description": "View and manage G Suite licenses for your domain"
7 }
8 }
9 }
10 },
11 "basePath": "",
12 "baseUrl": "https://licensing.googleapis.com/",
13 "batchPath": "batch",
14 "description": "The Google Enterprise License Manager API lets you manage Google Workspace and related licenses for all users of a customer that you manage.",
15 "discoveryVersion": "v1",
16 "documentationLink": "https://developers.google.com/admin-sdk/licensing/",
17 "fullyEncodeReservedExpansion": true,
18 "icons": {
19 "x16": "http://www.google.com/images/icons/product/search-16.gif",
20 "x32": "http://www.google.com/images/icons/product/search-32.gif"
21 },
22 "id": "licensing:v1",
23 "kind": "discovery#restDescription",
24 "mtlsRootUrl": "https://licensing.mtls.googleapis.com/",
25 "name": "licensing",
26 "ownerDomain": "google.com",
27 "ownerName": "Google",
28 "parameters": {
29 "$.xgafv": {
30 "description": "V1 error format.",
31 "enum": [
32 "1",
33 "2"
34 ],
35 "enumDescriptions": [
36 "v1 error format",
37 "v2 error format"
38 ],
39 "location": "query",
40 "type": "string"
41 },
42 "access_token": {
43 "description": "OAuth access token.",
44 "location": "query",
45 "type": "string"
46 },
47 "alt": {
48 "default": "json",
49 "description": "Data format for response.",
50 "enum": [
51 "json",
52 "media",
53 "proto"
54 ],
55 "enumDescriptions": [
56 "Responses with Content-Type of application/json",
57 "Media download with context-dependent Content-Type",
58 "Responses with Content-Type of application/x-protobuf"
59 ],
60 "location": "query",
61 "type": "string"
62 },
63 "callback": {
64 "description": "JSONP",
65 "location": "query",
66 "type": "string"
67 },
68 "fields": {
69 "description": "Selector specifying which fields to include in a partial response.",
70 "location": "query",
71 "type": "string"
72 },
73 "key": {
74 "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.",
75 "location": "query",
76 "type": "string"
77 },
78 "oauth_token": {
79 "description": "OAuth 2.0 token for the current user.",
80 "location": "query",
81 "type": "string"
82 },
83 "prettyPrint": {
84 "default": "true",
85 "description": "Returns response with indentations and line breaks.",
86 "location": "query",
87 "type": "boolean"
88 },
89 "quotaUser": {
90 "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.",
91 "location": "query",
92 "type": "string"
93 },
94 "uploadType": {
95 "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
96 "location": "query",
97 "type": "string"
98 },
99 "upload_protocol": {
100 "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
101 "location": "query",
102 "type": "string"
103 }
104 },
105 "protocol": "rest",
106 "resources": {
107 "licenseAssignments": {
108 "methods": {
109 "delete": {
110 "description": "Revoke a license.",
111 "flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
112 "httpMethod": "DELETE",
113 "id": "licensing.licenseAssignments.delete",
114 "parameterOrder": [
115 "productId",
116 "skuId",
117 "userId"
118 ],
119 "parameters": {
120 "productId": {
121 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
122 "location": "path",
123 "required": true,
124 "type": "string"
125 },
126 "skuId": {
127 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
128 "location": "path",
129 "required": true,
130 "type": "string"
131 },
132 "userId": {
133 "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.",
134 "location": "path",
135 "required": true,
136 "type": "string"
137 }
138 },
139 "path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
140 "response": {
141 "$ref": "Empty"
142 },
143 "scopes": [
144 "https://www.googleapis.com/auth/apps.licensing"
145 ]
146 },
147 "get": {
148 "description": "Get a specific user's license by product SKU.",
149 "flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
150 "httpMethod": "GET",
151 "id": "licensing.licenseAssignments.get",
152 "parameterOrder": [
153 "productId",
154 "skuId",
155 "userId"
156 ],
157 "parameters": {
158 "productId": {
159 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
160 "location": "path",
161 "required": true,
162 "type": "string"
163 },
164 "skuId": {
165 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
166 "location": "path",
167 "required": true,
168 "type": "string"
169 },
170 "userId": {
171 "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.",
172 "location": "path",
173 "required": true,
174 "type": "string"
175 }
176 },
177 "path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
178 "response": {
179 "$ref": "LicenseAssignment"
180 },
181 "scopes": [
182 "https://www.googleapis.com/auth/apps.licensing"
183 ]
184 },
185 "insert": {
186 "description": "Assign a license.",
187 "flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user",
188 "httpMethod": "POST",
189 "id": "licensing.licenseAssignments.insert",
190 "parameterOrder": [
191 "productId",
192 "skuId"
193 ],
194 "parameters": {
195 "productId": {
196 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
197 "location": "path",
198 "required": true,
199 "type": "string"
200 },
201 "skuId": {
202 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
203 "location": "path",
204 "required": true,
205 "type": "string"
206 }
207 },
208 "path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user",
209 "request": {
210 "$ref": "LicenseAssignmentInsert"
211 },
212 "response": {
213 "$ref": "LicenseAssignment"
214 },
215 "scopes": [
216 "https://www.googleapis.com/auth/apps.licensing"
217 ]
218 },
219 "listForProduct": {
220 "description": "List all users assigned licenses for a specific product SKU.",
221 "flatPath": "apps/licensing/v1/product/{productId}/users",
222 "httpMethod": "GET",
223 "id": "licensing.licenseAssignments.listForProduct",
224 "parameterOrder": [
225 "productId",
226 "customerId"
227 ],
228 "parameters": {
229 "customerId": {
230 "description": "The customer's unique ID as defined in the Admin console, such as `C00000000`. If the customer is suspended, the server returns an error.",
231 "location": "query",
232 "required": true,
233 "type": "string"
234 },
235 "maxResults": {
236 "default": "100",
237 "description": "The `maxResults` query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.",
238 "format": "uint32",
239 "location": "query",
240 "maximum": "1000",
241 "minimum": "1",
242 "type": "integer"
243 },
244 "pageToken": {
245 "default": "",
246 "description": "Token to fetch the next page of data. The `maxResults` query string is related to the `pageToken` since `maxResults` determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.",
247 "location": "query",
248 "type": "string"
249 },
250 "productId": {
251 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
252 "location": "path",
253 "required": true,
254 "type": "string"
255 }
256 },
257 "path": "apps/licensing/v1/product/{productId}/users",
258 "response": {
259 "$ref": "LicenseAssignmentList"
260 },
261 "scopes": [
262 "https://www.googleapis.com/auth/apps.licensing"
263 ]
264 },
265 "listForProductAndSku": {
266 "description": "List all users assigned licenses for a specific product SKU.",
267 "flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/users",
268 "httpMethod": "GET",
269 "id": "licensing.licenseAssignments.listForProductAndSku",
270 "parameterOrder": [
271 "productId",
272 "skuId",
273 "customerId"
274 ],
275 "parameters": {
276 "customerId": {
277 "description": "The customer's unique ID as defined in the Admin console, such as `C00000000`. If the customer is suspended, the server returns an error.",
278 "location": "query",
279 "required": true,
280 "type": "string"
281 },
282 "maxResults": {
283 "default": "100",
284 "description": "The `maxResults` query string determines how many entries are returned on each page of a large response. This is an optional parameter. The value must be a positive number.",
285 "format": "uint32",
286 "location": "query",
287 "maximum": "1000",
288 "minimum": "1",
289 "type": "integer"
290 },
291 "pageToken": {
292 "default": "",
293 "description": "Token to fetch the next page of data. The `maxResults` query string is related to the `pageToken` since `maxResults` determines how many entries are returned on each page. This is an optional query string. If not specified, the server returns the first page.",
294 "location": "query",
295 "type": "string"
296 },
297 "productId": {
298 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
299 "location": "path",
300 "required": true,
301 "type": "string"
302 },
303 "skuId": {
304 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
305 "location": "path",
306 "required": true,
307 "type": "string"
308 }
309 },
310 "path": "apps/licensing/v1/product/{productId}/sku/{skuId}/users",
311 "response": {
312 "$ref": "LicenseAssignmentList"
313 },
314 "scopes": [
315 "https://www.googleapis.com/auth/apps.licensing"
316 ]
317 },
318 "patch": {
319 "description": "Reassign a user's product SKU with a different SKU in the same product. This method supports patch semantics.",
320 "flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
321 "httpMethod": "PATCH",
322 "id": "licensing.licenseAssignments.patch",
323 "parameterOrder": [
324 "productId",
325 "skuId",
326 "userId"
327 ],
328 "parameters": {
329 "productId": {
330 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
331 "location": "path",
332 "required": true,
333 "type": "string"
334 },
335 "skuId": {
336 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
337 "location": "path",
338 "required": true,
339 "type": "string"
340 },
341 "userId": {
342 "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.",
343 "location": "path",
344 "required": true,
345 "type": "string"
346 }
347 },
348 "path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
349 "request": {
350 "$ref": "LicenseAssignment"
351 },
352 "response": {
353 "$ref": "LicenseAssignment"
354 },
355 "scopes": [
356 "https://www.googleapis.com/auth/apps.licensing"
357 ]
358 },
359 "update": {
360 "description": "Reassign a user's product SKU with a different SKU in the same product.",
361 "flatPath": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
362 "httpMethod": "PUT",
363 "id": "licensing.licenseAssignments.update",
364 "parameterOrder": [
365 "productId",
366 "skuId",
367 "userId"
368 ],
369 "parameters": {
370 "productId": {
371 "description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
372 "location": "path",
373 "required": true,
374 "type": "string"
375 },
376 "skuId": {
377 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
378 "location": "path",
379 "required": true,
380 "type": "string"
381 },
382 "userId": {
383 "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.",
384 "location": "path",
385 "required": true,
386 "type": "string"
387 }
388 },
389 "path": "apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}",
390 "request": {
391 "$ref": "LicenseAssignment"
392 },
393 "response": {
394 "$ref": "LicenseAssignment"
395 },
396 "scopes": [
397 "https://www.googleapis.com/auth/apps.licensing"
398 ]
399 }
400 }
401 }
402 },
403 "revision": "20220430",
404 "rootUrl": "https://licensing.googleapis.com/",
405 "schemas": {
406 "Empty": {
407 "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
408 "id": "Empty",
409 "properties": {},
410 "type": "object"
411 },
412 "LicenseAssignment": {
413 "description": "Representation of a license assignment.",
414 "id": "LicenseAssignment",
415 "properties": {
416 "etags": {
417 "description": "ETag of the resource.",
418 "type": "string"
419 },
420 "kind": {
421 "default": "licensing#licenseAssignment",
422 "description": "Identifies the resource as a LicenseAssignment, which is `licensing#licenseAssignment`.",
423 "type": "string"
424 },
425 "productId": {
426 "annotations": {
427 "required": [
428 "licensing.licenseAssignments.update"
429 ]
430 },
431 "description": "A product's unique identifier. For more information about products in this version of the API, see Product and SKU IDs.",
432 "type": "string"
433 },
434 "productName": {
435 "description": "Display Name of the product.",
436 "type": "string"
437 },
438 "selfLink": {
439 "description": "Link to this page.",
440 "type": "string"
441 },
442 "skuId": {
443 "annotations": {
444 "required": [
445 "licensing.licenseAssignments.update"
446 ]
447 },
448 "description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
449 "type": "string"
450 },
451 "skuName": {
452 "description": "Display Name of the sku of the product.",
453 "type": "string"
454 },
455 "userId": {
456 "annotations": {
457 "required": [
458 "licensing.licenseAssignments.update"
459 ]
460 },
461 "description": "The user's current primary email address. If the user's email address changes, use the new email address in your API requests. Since a `userId` is subject to change, do not use a `userId` value as a key for persistent data. This key could break if the current user's email address changes. If the `userId` is suspended, the license status changes.",
462 "type": "string"
463 }
464 },
465 "type": "object"
466 },
467 "LicenseAssignmentInsert": {
468 "description": "Representation of a license assignment.",
469 "id": "LicenseAssignmentInsert",
470 "properties": {
471 "userId": {
472 "annotations": {
473 "required": [
474 "licensing.licenseAssignments.insert"
475 ]
476 },
477 "description": "Email id of the user",
478 "type": "string"
479 }
480 },
481 "type": "object"
482 },
483 "LicenseAssignmentList": {
484 "id": "LicenseAssignmentList",
485 "properties": {
486 "etag": {
487 "description": "ETag of the resource.",
488 "type": "string"
489 },
490 "items": {
491 "description": "The LicenseAssignments in this page of results.",
492 "items": {
493 "$ref": "LicenseAssignment"
494 },
495 "type": "array"
496 },
497 "kind": {
498 "default": "licensing#licenseAssignmentList",
499 "description": "Identifies the resource as a collection of LicenseAssignments.",
500 "type": "string"
501 },
502 "nextPageToken": {
503 "description": "The token that you must submit in a subsequent request to retrieve additional license results matching your query parameters. The `maxResults` query string is related to the `nextPageToken` since `maxResults` determines how many entries are returned on each next page.",
504 "type": "string"
505 }
506 },
507 "type": "object"
508 }
509 },
510 "servicePath": "",
511 "title": "Enterprise License Manager API",
512 "version": "v1"
513}
View as plain text