Licenses Reference

The Kong Gateway Licenses feature is configurable through the Admin API. This feature lets you configure a license in your Kong Gateway cluster, in both traditional and hybrid mode deployments. In hybrid mode deployments, the control plane sends licenses configured through the /licenses endpoint to all data planes in the cluster. The data planes use the most recent updated_at license.

List licenses

Endpoint

/licenses/

Response

  1. HTTP 200 OK
  1. {
  2. "data": [
  3. {
  4. "payload": "{\"license\":{\"payload\":{\"admin_seats\":\"1\",\"customer\":\"Example Company, Inc\",\"dataplanes\":\"1\",\"license_creation_date\":\"2017-07-20\",\"license_expiration_date\":\"2017-07-20\",\"license_key\":\"00141000017ODj3AAG_a1V41000004wT0OEAU\",\"product_subscription\":\"Konnect Enterprise\",\"support_plan\":\"None\"},\"signature\":\"6985968131533a967fcc721244a979948b1066967f1e9cd65dbd8eeabe060fc32d894a2945f5e4a03c1cd2198c74e058ac63d28b045c2f1fcec95877bd790e1b\",\"version\":\"1\"}}",
  5. "created_at": 1500508800,
  6. "id": "30b4edb7-0847-4f65-af90-efbed8b0161f",
  7. "updated_at": 1500508800
  8. },
  9. ],
  10. "next": null,
  11. }

If there are no licenses stored by Kong Gateway, the data array will be empty.

  1. {
  2. "data": [],
  3. "next": null
  4. }

List a specific license

Endpoint

/licenses/{id}

AttributesDescription
idThe license’s unique ID.

Response

  1. HTTP 200 OK
  1. {
  2. "created_at": 1500508800,
  3. "id": "30b4edb7-0847-4f65-af90-efbed8b0161f",
  4. "payload": "{\"license\":{\"payload\":{\"admin_seats\":\"1\",\"customer\":\"Example Company, Inc\",\"dataplanes\":\"1\",\"license_creation_date\":\"2017-07-20\",\"license_expiration_date\":\"2017-07-21\",\"license_key\":\"00141000017ODj3AAG_a1V41000004wT0OEAU\",\"product_subscription\":\"Konnect Enterprise\",\"support_plan\":\"None\"},\"signature\":\"24cc21223633044c15c300be19cacc26ccc5aca0dd9a12df8a7324a1970fe304bc07b8dcd7fb08d7b92e04169313377ae3b550ead653b951bc44cd2eb59f6beb\",\"version\":\"1\"}}",
  5. "updated_at": 1500508800
  6. }

Add a license

To create a license using an auto-generated UUID:

Endpoint

/licenses/

Request Body

AttributeDescription
payloadThe Kong Gateway license in JSON format.

When using POST, if the request payload does contain a valid Kong Gateway license, the license will be added.

If the request payload does not contain a valid licence, a 400 BAD REQUEST will be returned.

Response

  1. HTTP 201 Created
  1. {
  2. "created_at": 1500508800,
  3. "id": "30b4edb7-0847-4f65-af90-efbed8b0161f",
  4. "payload": "{\"license\":{\"payload\":{\"admin_seats\":\"1\",\"customer\":\"Example Company, Inc\",\"dataplanes\":\"1\",\"license_creation_date\":\"2017-07-20\",\"license_expiration_date\":\"2017-07-20\",\"license_key\":\"00141000017ODj3AAG_a1V41000004wT0OEAU\",\"product_subscription\":\"Konnect Enterprise\",\"support_plan\":\"None\"},\"signature\":\"6985968131533a967fcc721244a979948b1066967f1e9cd65dbd8eeabe060fc32d894a2945f5e4a03c1cd2198c74e058ac63d28b045c2f1fcec95877bd790e1b\",\"version\":\"1\"}}",
  5. "updated_at": 1500508800
  6. }

Update or add a license

Endpoint

/licenses/{id}

AttributesDescription
idThe license’s unique ID.

When using PUT, if the request payload does not contain an entity’s primary key (id for licenses), the license will be added and assigned the given ID.

If the request payload does contain an entity’s primary key (id for Licenses), the license will be replaced with the given payload attribute. If the ID is not a valid UUID, a 400 BAD REQUEST will be returned. If the ID is omitted, a 405 NOT ALLOWED will be returned.

Request Body

AttributeDescription
payloadThe Kong Gateway license in JSON format.

Response

  1. HTTP 200 OK
  1. {
  2. "created_at": 1500508800,
  3. "id": "e8201120-4ee3-43ca-9e92-3fed08b1a15d",
  4. "payload": "{\"license\":{\"payload\":{\"admin_seats\":\"1\",\"customer\":\"Example Company, Inc\",\"dataplanes\":\"1\",\"license_creation_date\":\"2017-07-20\",\"license_expiration_date\":\"2017-07-20\",\"license_key\":\"00141000017ODj3AAG_a1V41000004wT0OEAU\",\"product_subscription\":\"Konnect Enterprise\",\"support_plan\":\"None\"},\"signature\":\"6985968131533a967fcc721244a979948b1066967f1e9cd65dbd8eeabe060fc32d894a2945f5e4a03c1cd2198c74e058ac63d28b045c2f1fcec95877bd790e1b\",\"version\":\"1\"}}",
  5. "updated_at": 1500508800
  6. }

Update a license

Endpoint

/licenses/{id}

AttributesDescription
idThe license’s unique ID.

When using PATCH, if the request payload does contain an entity’s primary key (id for licenses), the license will be replaced with the given payload attribute.

If the request payload does not contain an entity’s primary key (id for licenses), a 404 NOT FOUND will be returned or if the request payload contains a invalid licence, a 400 BAD REQUEST will be returned.

Request Body

AttributeDescription
payloadThe Kong Gateway license in JSON format.

Response

  1. HTTP 200 OK
  1. {
  2. "created_at": 1500595200,
  3. "id": "30b4edb7-0847-4f65-af90-efbed8b0161f",
  4. "payload": "{\"license\":{\"payload\":{\"admin_seats\":\"1\",\"customer\":\"Example Company, Inc\",\"dataplanes\":\"1\",\"license_creation_date\":\"2017-07-20\",\"license_expiration_date\":\"2017-07-21\",\"license_key\":\"00141000017ODj3AAG_a1V41000004wT0OEAU\",\"product_subscription\":\"Konnect Enterprise\",\"support_plan\":\"None\"},\"signature\":\"24cc21223633044c15c300be19cacc26ccc5aca0dd9a12df8a7324a1970fe304bc07b8dcd7fb08d7b92e04169313377ae3b550ead653b951bc44cd2eb59f6beb\",\"version\":\"1\"}}",
  5. "updated_at": 1500595200
  6. }

Delete a license

Endpoint

/licenses/{id}

AttributesDescription
idThe license’s unique ID.

Response

  1. HTTP 204 No Content

Generate a report

Generate a report on the Kong Gateway instance to gather monthly usage data.

/license/report

Fields available in the report:

FieldDescription
countersCounts the number of requests made in a given month.

bucket: Year and month when the requests were processed. If the value in bucket is UNKNOWN, then the requests were processed before Kong Gateway 2.7.0.1.
request_count: Number of requests processed in the given month and year.
db_versionThe type and version of the datastore Kong Gateway is using.
kong_versionThe version of the Kong Gateway instance.
license_keyAn encrypted identifier for the current license key. If no license is present, the field displays as UNLICENSED.
rbac_usersThe number of users registered with through RBAC.
services_countThe number of configured services in the Kong Gateway instance.
system_infoDisplays information about the system running Kong Gateway.

cores: Number of CPU cores on the node
hostname: Encrypted system hostname
uname: Operating system
workspaces_countThe number of workspaces configured in the Kong Gateway instance.

Response

  1. HTTP 200 OK
  1. {
  2. "counters": [
  3. {
  4. "bucket": "2021-12",
  5. "request_count": 0
  6. }
  7. ],
  8. "db_version": "postgres 9.6.19",
  9. "kong_version": "2.7.0.0",
  10. "license_key": "ASDASDASDASDASDASDASDASDASD_ASDASDA",
  11. "rbac_users": 0,
  12. "services_count": 0,
  13. "system_info": {
  14. "cores": 4,
  15. "hostname": "13b867agsa008",
  16. "uname": "Linux x86_64"
  17. },
  18. "workspaces_count": 1
  19. }

If there are no licenses stored by Kong Gateway, the report will include "license_key": "UNLICENSED":

  1. HTTP 200 OK
  1. {
  2. "counters": [
  3. {
  4. "bucket": "2021-12",
  5. "request_count": 0
  6. }
  7. ],
  8. "db_version": "postgres 9.6.19",
  9. "kong_version": "2.7.0.0",
  10. "license_key": "UNLICENSED",
  11. "rbac_users": 0,
  12. "services_count": 0,
  13. "system_info": {
  14. "cores": 4,
  15. "hostname": "13b867agsa008",
  16. "uname": "Linux x86_64"
  17. },
  18. "workspaces_count": 1
  19. }