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's allows you to license apps for all the users of a domain managed by you.", 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": "Customer's `customerId`. A previous version of this API accepted the primary domain name as a value for this field. 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": "Customer's `customerId`. A previous version of this API accepted the primary domain name as a value for this field. 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": "20211220", 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); } The JSON representation for `Empty` is empty JSON object `{}`.", 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}