License management schema

service.lm.graphqls

To authenticate API requests, you’ll need an API token. Learn how to generate an access token.

See usage examples in the cloudbeaver-graphql-examples repository.

You can try queries in the built-in GraphQL console, available on your server at https://your-server-address/api/gql/console. This tool lets you test requests directly from your browser.

For a live example, see the demo GraphQL console.

API Endpoints
https://your-server-address/api/gql

Queries

activeProductLicense

Description

Returns the currently active product license with its details and status.

Response

Returns an LMLicenseInfo

Example

Query
query activeProductLicense {
  activeProductLicense {
    id
    licenseType
    ownerCompany
    ownerName
    ownerEmail
    usersNumber
    yearsNumber
    subscription
    unlimitedServers
    multiInstance
    serversNumber
    licenseIssueTime
    licenseStartTime
    licenseEndTime
    licenseRoles {
      ...LMLicenseRoleFragment
    }
    licenseStatus {
      ...LMLicenseStatusDetailsFragment
    }
    elasticLicense
  }
}
Response
{
  "data": {
    "activeProductLicense": {
      "id": "<string>",
      "licenseType": "<string>",
      "ownerCompany": "<string>",
      "ownerName": "<string>",
      "ownerEmail": "<string>",
      "usersNumber": "<int>",
      "yearsNumber": "<int>",
      "subscription": "<boolean>",
      "unlimitedServers": "<boolean>",
      "multiInstance": "<boolean>",
      "serversNumber": "<int>",
      "licenseIssueTime": "<string>",
      "licenseStartTime": "<string>",
      "licenseEndTime": "<string>",
      "licenseRoles": [LMLicenseRole],
      "licenseStatus": LMLicenseStatusDetails,
      "elasticLicense": "<boolean>"
    }
  }
}

allProductLicenses

Description

Returns a list of all product licenses available in the system, including their details and status.

Response

Returns [LMLicenseInfo!]!

Example

Query
query allProductLicenses {
  allProductLicenses {
    id
    licenseType
    ownerCompany
    ownerName
    ownerEmail
    usersNumber
    yearsNumber
    subscription
    unlimitedServers
    multiInstance
    serversNumber
    licenseIssueTime
    licenseStartTime
    licenseEndTime
    licenseRoles {
      ...LMLicenseRoleFragment
    }
    licenseStatus {
      ...LMLicenseStatusDetailsFragment
    }
    elasticLicense
  }
}
Response
{
  "data": {
    "allProductLicenses": [
      {
        "id": "<string>",
        "licenseType": "<string>",
        "ownerCompany": "<string>",
        "ownerName": "<string>",
        "ownerEmail": "<string>",
        "usersNumber": "<int>",
        "yearsNumber": "<int>",
        "subscription": "<boolean>",
        "unlimitedServers": "<boolean>",
        "multiInstance": "<boolean>",
        "serversNumber": "<int>",
        "licenseIssueTime": "<string>",
        "licenseStartTime": "<string>",
        "licenseEndTime": "<string>",
        "licenseRoles": [LMLicenseRole],
        "licenseStatus": LMLicenseStatusDetails,
        "elasticLicense": "<boolean>"
      }
    ]
  }
}

Mutations

importProductLicense

Description

Imports a new product license key.

Response

Returns an LMLicenseInfo!

Arguments
Name Description
licenseText - String

Example

Query
mutation importProductLicense($licenseText: String) {
  importProductLicense(licenseText: $licenseText) {
    id
    licenseType
    ownerCompany
    ownerName
    ownerEmail
    usersNumber
    yearsNumber
    subscription
    unlimitedServers
    multiInstance
    serversNumber
    licenseIssueTime
    licenseStartTime
    licenseEndTime
    licenseRoles {
      ...LMLicenseRoleFragment
    }
    licenseStatus {
      ...LMLicenseStatusDetailsFragment
    }
    elasticLicense
  }
}
Variables
{"licenseText": "<string>"}
Response
{
  "data": {
    "importProductLicense": {
      "id": "<string>",
      "licenseType": "<string>",
      "ownerCompany": "<string>",
      "ownerName": "<string>",
      "ownerEmail": "<string>",
      "usersNumber": "<int>",
      "yearsNumber": "<int>",
      "subscription": "<boolean>",
      "unlimitedServers": "<boolean>",
      "multiInstance": "<boolean>",
      "serversNumber": "<int>",
      "licenseIssueTime": "<string>",
      "licenseStartTime": "<string>",
      "licenseEndTime": "<string>",
      "licenseRoles": [LMLicenseRole],
      "licenseStatus": LMLicenseStatusDetails,
      "elasticLicense": "<boolean>"
    }
  }
}

lmDeleteProductLicense

Description

Deletes a product license by its identifier.

Response

Returns a Boolean!

Arguments
Name Description
id - ID!

Example

Query
mutation lmDeleteProductLicense($id: ID!) {
  lmDeleteProductLicense(id: $id)
}
Variables
{"id": "<id>"}
Response
{
  "data": {
    "lmDeleteProductLicense": "<boolean>"
  }
}

refreshProductLicenses

Description

Forces a license refresh from the license server and re-syncs license users. Admin only.

Response

Returns a Boolean!

Example

Query
mutation refreshProductLicenses {
  refreshProductLicenses
}
Response
{
  "data": {
    "refreshProductLicenses": "<boolean>"
  }
}

Types

Boolean

Description

The Boolean scalar type represents true or false.

Example
"<boolean>"

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"<id>"

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
"<int>"

LMLicenseInfo

Description

Represents detailed information about a product license.

Fields
Field Name Description
id - String! Unique identifier of the license.
licenseType - String Type of the license.
ownerCompany - String Name of the owner company.
ownerName - String Name of the license owner.
ownerEmail - String Email of the license owner.
usersNumber - Int Number of users allowed by the license.
yearsNumber - Int Number of years the license is valid for.
subscription - Boolean Indicates if the license is a subscription.
unlimitedServers - Boolean Indicates if unlimited servers are allowed.
multiInstance - Boolean Indicates if multi-instance usage is allowed.
serversNumber - Int Number of servers allowed by the license.
licenseIssueTime - String Time when the license was issued.
licenseStartTime - String Start time of the license validity.
licenseEndTime - String End time of the license validity.
licenseRoles - [LMLicenseRole!] Roles associated with the license.
licenseStatus - LMLicenseStatusDetails! Status details of the license.
elasticLicense - Boolean Indicates whether the users from license can be updated dynamically
Example
{
  "id": "<string>",
  "licenseType": "<string>",
  "ownerCompany": "<string>",
  "ownerName": "<string>",
  "ownerEmail": "<string>",
  "usersNumber": "<int>",
  "yearsNumber": "<int>",
  "subscription": "<boolean>",
  "unlimitedServers": "<boolean>",
  "multiInstance": "<boolean>",
  "serversNumber": "<int>",
  "licenseIssueTime": "<string>",
  "licenseStartTime": "<string>",
  "licenseEndTime": "<string>",
  "licenseRoles": [LMLicenseRole],
  "licenseStatus": LMLicenseStatusDetails,
  "elasticLicense": "<boolean>"
}

LMLicenseRole

Description

Represents a role associated with a license and the number of users assigned to it.

Fields
Field Name Description
role - ID! Unique identifier of the role.
usersNumber - Int! Number of users assigned to this role.
Example
{"role": "<id>", "usersNumber": "<int>"}

LMLicenseStatus

Description

Represents the possible statuses of a license.

Values
Enum Value Description

VALID

The license is valid.

INVALID

The license is invalid.

EXPIRED

The license has expired.

CANCELED

The license has been canceled.

COMPROMISED

The license has been compromised.

BAD_CODE

The license code is incorrect or corrupted.
Example
"VALID"

LMLicenseStatusDetails

Description

Contains detailed status information for a license.

Fields
Field Name Description
message - String! Human-readable status message.
details - String Additional details about the license status.
valid - Boolean! Indicates if the license is valid.
remoteStatus - LMLicenseStatus Status of the license as reported by a remote source.
Example
{
  "message": "<string>",
  "details": "<string>",
  "valid": "<boolean>",
  "remoteStatus": "VALID"
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"<string>"