Enterprise License Manager API
The Google Enterprise License Manager API lets you manage Google Workspace and related licenses for all users of a customer that you manage
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.0",
"servers": [
{
"url": "https://licensing.googleapis.com/"
}
],
"info": {
"contact": {
"name": "Google",
"url": "https://google.com",
"x-twitter": "youtube"
},
"description": "The Google Enterprise License Manager API lets you manage Google Workspace and related licenses for all users of a customer that you manage.",
"license": {
"name": "Creative Commons Attribution 3.0",
"url": "http://creativecommons.org/licenses/by/3.0/"
},
"termsOfService": "https://developers.google.com/terms/",
"title": "Enterprise License Manager API",
"version": "v1",
"x-apiClientRegistration": {
"url": "https://console.developers.google.com"
},
"x-apisguru-categories": [
"analytics",
"media"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_www.google.com_images_branding_googlelogo_2x_googlelogo_color_272x92dp.png"
},
"x-origin": [
{
"format": "google",
"url": "https://licensing.googleapis.com/$discovery/rest?version=v1",
"version": "v1"
}
],
"x-providerName": "googleapis.com",
"x-serviceName": "licensing"
},
"externalDocs": {
"url": "https://developers.google.com/admin-sdk/licensing/"
},
"tags": [
{
"name": "licenseAssignments"
}
],
"paths": {
"/apps/licensing/v1/product/{productId}/sku/{skuId}/user": {
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"post": {
"description": "Assign a license.",
"operationId": "licensing.licenseAssignments.insert",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"in": "path",
"name": "skuId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignmentInsert"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignment"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
}
},
"/apps/licensing/v1/product/{productId}/sku/{skuId}/user/{userId}": {
"delete": {
"description": "Revoke a license.",
"operationId": "licensing.licenseAssignments.delete",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"in": "path",
"name": "skuId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "path",
"name": "userId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Empty"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
},
"get": {
"description": "Get a specific user's license by product SKU.",
"operationId": "licensing.licenseAssignments.get",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"in": "path",
"name": "skuId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "path",
"name": "userId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignment"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
],
"patch": {
"description": "Reassign a user's product SKU with a different SKU in the same product. This method supports patch semantics.",
"operationId": "licensing.licenseAssignments.patch",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"in": "path",
"name": "skuId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "path",
"name": "userId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignment"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignment"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
},
"put": {
"description": "Reassign a user's product SKU with a different SKU in the same product.",
"operationId": "licensing.licenseAssignments.update",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"in": "path",
"name": "skuId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "path",
"name": "userId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignment"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignment"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
}
},
"/apps/licensing/v1/product/{productId}/sku/{skuId}/users": {
"get": {
"description": "List all users assigned licenses for a specific product SKU.",
"operationId": "licensing.licenseAssignments.listForProductAndSku",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"in": "path",
"name": "skuId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "query",
"name": "customerId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "query",
"name": "maxResults",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"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.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignmentList"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
]
},
"/apps/licensing/v1/product/{productId}/users": {
"get": {
"description": "List all users assigned licenses for a specific product SKU.",
"operationId": "licensing.licenseAssignments.listForProduct",
"parameters": [
{
"description": "A product's unique identifier. For more information about products in this version of the API, see Products and SKUs.",
"in": "path",
"name": "productId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "query",
"name": "customerId",
"required": true,
"schema": {
"type": "string"
}
},
{
"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.",
"in": "query",
"name": "maxResults",
"schema": {
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
{
"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.",
"in": "query",
"name": "pageToken",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LicenseAssignmentList"
}
}
},
"description": "Successful response"
}
},
"security": [
{
"Oauth2": [
"https://www.googleapis.com/auth/apps.licensing"
],
"Oauth2c": [
"https://www.googleapis.com/auth/apps.licensing"
]
}
],
"tags": [
"licenseAssignments"
]
},
"parameters": [
{
"$ref": "#/components/parameters/_.xgafv"
},
{
"$ref": "#/components/parameters/access_token"
},
{
"$ref": "#/components/parameters/alt"
},
{
"$ref": "#/components/parameters/callback"
},
{
"$ref": "#/components/parameters/fields"
},
{
"$ref": "#/components/parameters/key"
},
{
"$ref": "#/components/parameters/oauth_token"
},
{
"$ref": "#/components/parameters/prettyPrint"
},
{
"$ref": "#/components/parameters/quotaUser"
},
{
"$ref": "#/components/parameters/upload_protocol"
},
{
"$ref": "#/components/parameters/uploadType"
}
]
}
},
"components": {
"parameters": {
"_.xgafv": {
"description": "V1 error format.",
"in": "query",
"name": "$.xgafv",
"schema": {
"enum": [
"1",
"2"
],
"type": "string"
}
},
"access_token": {
"description": "OAuth access token.",
"in": "query",
"name": "access_token",
"schema": {
"type": "string"
}
},
"alt": {
"description": "Data format for response.",
"in": "query",
"name": "alt",
"schema": {
"enum": [
"json",
"media",
"proto"
],
"type": "string"
}
},
"callback": {
"description": "JSONP",
"in": "query",
"name": "callback",
"schema": {
"type": "string"
}
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"in": "query",
"name": "fields",
"schema": {
"type": "string"
}
},
"key": {
"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.",
"in": "query",
"name": "key",
"schema": {
"type": "string"
}
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"in": "query",
"name": "oauth_token",
"schema": {
"type": "string"
}
},
"prettyPrint": {
"description": "Returns response with indentations and line breaks.",
"in": "query",
"name": "prettyPrint",
"schema": {
"type": "boolean"
}
},
"quotaUser": {
"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.",
"in": "query",
"name": "quotaUser",
"schema": {
"type": "string"
}
},
"uploadType": {
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"in": "query",
"name": "uploadType",
"schema": {
"type": "string"
}
},
"upload_protocol": {
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"in": "query",
"name": "upload_protocol",
"schema": {
"type": "string"
}
}
},
"schemas": {
"Empty": {
"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); }",
"properties": {},
"type": "object"
},
"LicenseAssignment": {
"description": "Representation of a license assignment.",
"properties": {
"etags": {
"description": "ETag of the resource.",
"type": "string"
},
"kind": {
"default": "licensing#licenseAssignment",
"description": "Identifies the resource as a LicenseAssignment, which is `licensing#licenseAssignment`.",
"type": "string"
},
"productId": {
"description": "A product's unique identifier. For more information about products in this version of the API, see Product and SKU IDs.",
"type": "string"
},
"productName": {
"description": "Display Name of the product.",
"type": "string"
},
"selfLink": {
"description": "Link to this page.",
"type": "string"
},
"skuId": {
"description": "A product SKU's unique identifier. For more information about available SKUs in this version of the API, see Products and SKUs.",
"type": "string"
},
"skuName": {
"description": "Display Name of the sku of the product.",
"type": "string"
},
"userId": {
"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.",
"type": "string"
}
},
"type": "object"
},
"LicenseAssignmentInsert": {
"description": "Representation of a license assignment.",
"properties": {
"userId": {
"description": "Email id of the user",
"type": "string"
}
},
"type": "object"
},
"LicenseAssignmentList": {
"properties": {
"etag": {
"description": "ETag of the resource.",
"type": "string"
},
"items": {
"description": "The LicenseAssignments in this page of results.",
"items": {
"$ref": "#/components/schemas/LicenseAssignment"
},
"type": "array"
},
"kind": {
"default": "licensing#licenseAssignmentList",
"description": "Identifies the resource as a collection of LicenseAssignments.",
"type": "string"
},
"nextPageToken": {
"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.",
"type": "string"
}
},
"type": "object"
}
},
"securitySchemes": {
"Oauth2": {
"description": "Oauth 2.0 implicit authentication",
"flows": {
"implicit": {
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"scopes": {
"https://www.googleapis.com/auth/apps.licensing": "View and manage G Suite licenses for your domain"
}
}
},
"type": "oauth2"
},
"Oauth2c": {
"description": "Oauth 2.0 authorizationCode authentication",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"scopes": {
"https://www.googleapis.com/auth/apps.licensing": "View and manage G Suite licenses for your domain"
},
"tokenUrl": "https://accounts.google.com/o/oauth2/token"
}
},
"type": "oauth2"
}
}
}
}