grafana/docs/sources/http_api/licensing.md
Ieva 71c6d7285e
AccessControl: document FGAC licensing permissions (#39192)
* document licensing permissions and roles

* Update docs/sources/enterprise/access-control/fine-grained-access-control-references.md

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* Update docs/sources/enterprise/access-control/permissions.md

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* update action name for "licensing.reports:read"

* put licensing editor role back in, more table formatting

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2021-10-05 18:35:01 +02:00

3.4 KiB
Raw Blame History

+++ title = "Licensing HTTP API " description = "Enterprise Licensing HTTP API" keywords = ["grafana", "http", "documentation", "api", "licensing", "enterprise"] aliases = ["/docs/grafana/latest/http_api/licensing/"] +++

Enterprise License API

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

If you are running Grafana Enterprise and have [Fine-grained access control]({{< relref "../enterprise/access-control/_index.md" >}}) enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.

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

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:update 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_admins":5,
  "included_viewers":10,
  "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.