grafana/docs/sources/developers/http_api/licensing.md
Jack Baldry ebb54aea8d
Fix website build errors both for Grafana and content mounted in Grafana Cloud (#64794)
* Fix reference to Grafana CLI

- Make relref for relative permalink
- Use relative path for unambiguous resolution

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix alerting relref anchor format

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Avoid ambiguous relref lookups by forcing relative resolution

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove reference to non-existent shared page

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix links broken in Grafana Cloud using absolute relrefs

By resolving the relref absolutely, it refers to the same location
regardless of mounted directory.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Remove trailing slash for bundle independent resolution

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix typo

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* For now, avoid Hugo checking cross repository /docs/grafana-cloud link

The path is unlikely to change in the short term and this makes CI
completely green for now.

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* No need to specify path for in page anchors

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix prose

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2023-03-15 17:06:31 +00:00

4.8 KiB
Raw Blame History

aliases canonical description keywords title
../../http_api/licensing/
/docs/grafana/latest/developers/http_api/licensing/ Enterprise Licensing HTTP API
grafana
http
documentation
api
licensing
enterprise
Licensing HTTP API

Enterprise License API

Licensing is only available in Grafana Enterprise. Read more about [Grafana Enterprise]({{< relref "/docs/grafana/latest/introduction/grafana-enterprise" >}}).

If you are running Grafana Enterprise, for some endpoints you'll need to have specific permissions. Refer to [Role-based access control permissions]({{< relref "/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes" >}}) for more information.

Check license availability

Note: Available in Grafana Enterprise v7.4+.

GET /api/licensing/check

Checks if a valid license is available.

Required permissions

See note in the [introduction]({{< ref "#enterprise-license-api" >}}) for an explanation.

Action Scope
licensing:read n/a

Examples

Example request:

GET /api/licensing/check
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4

true

Status codes:

  • 200 - OK

Add license

Note: Available in Grafana Enterprise v7.4+.

POST /api/licensing/token

Applies a license to a Grafana instance.

Required permissions

See note in the [introduction]({{< ref "#enterprise-license-api" >}}) for an explanation.

Action Scope
licensing:write n/a

Examples

Example request:

POST /licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGlzIjoiaXMiLCJub3QiOiJhIiwidmFsaWQiOiJsaWNlbnNlIn0.bxDzxIoJlYMwiEYKYT_l2s42z0Y30tY-6KKoyz9RuLE"}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357

{
  "jti":"2",
  "iss":"https://grafana.com",
  "sub":"https://play.grafana.org/"
  "lid":"1",
  "included_users":15,
  "lic_exp_warn_days":30,
  "tok_exp_warn_days":2,
  "update_days":1,
  "prod":["grafana-enterprise"],
  "company":"Grafana Labs"
}

The response is a JSON blob available for debugging purposes. The available fields may change at any time without any prior notice.

Status Codes:

  • 200 - OK
  • 400 - Bad request
  • 500 - Internal server error (refer to server logs for more details)

Manually force license refresh

Note: Available in Grafana Enterprise v7.4+.

POST /api/licensing/token/renew

Manually ask license issuer for a new token.

Required permissions

See note in the [introduction]({{< ref "#enterprise-license-api" >}}) for an explanation.

Action Scope
licensing:write n/a

Examples

Example request:

POST /api/licensing/token/renew
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357

{
  "jti":"2",
  "iss":"https://grafana.com",
  "sub":"https://play.grafana.org/"
  "lid":"1",
  "included_users":15,
  "lic_exp_warn_days":30,
  "tok_exp_warn_days":2,
  "update_days":1,
  "prod":["grafana-enterprise"],
  "company":"Grafana Labs"
}

The response is a JSON blob available for debugging purposes. The available fields may change at any time without any prior notice.

Status Codes:

  • 200 - OK
  • 401 - Unauthorized
  • 403 - Access denied

Remove license from database

Note: Available in Grafana Enterprise v7.4+.

DELETE /api/licensing/token

Removes the license stored in the Grafana database.

Required permissions

See note in the [introduction]({{< ref "#enterprise-license-api" >}}) for an explanation.

Action Scope
licensing:delete n/a

Examples

Example request:

DELETE /api/licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{"instance": "http://play.grafana.org/"}

JSON Body schema:

  • instance Root URL for the instance for which the license should be deleted. Required.

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 2

{}

Status codes:

  • 202 - Accepted, license removed or did not exist.
  • 401 - Unauthorized
  • 403 - Access denied
  • 422 - Unprocessable entity, incorrect instance name provided.