Files
grafana/docs/sources/developers/http_api/auth.md
T

136 lines
3.0 KiB
Markdown
Raw Normal View History

2022-05-26 16:06:25 +01:00
---
aliases:
- ../../http_api/auth/
- ../../http_api/authentication/
canonical: /docs/grafana/latest/developers/http_api/auth/
2022-05-26 16:06:25 +01:00
description: Grafana Authentication HTTP API
keywords:
- grafana
- http
- documentation
- api
- authentication
labels:
products:
- enterprise
- oss
2022-05-26 16:06:25 +01:00
title: 'Authentication HTTP API '
---
2016-02-02 22:59:22 -08:00
2016-02-05 01:15:09 -08:00
# Authentication API
2016-02-02 22:59:22 -08:00
The Authentication HTTP API is used to manage API keys.
2016-02-02 22:59:22 -08:00
{{% admonition type="note" %}}
If you use Grafana v9.1 or newer, use service accounts instead of API keys. For more information, refer to [Grafana service account API reference]({{< relref "./serviceaccount/" >}}).
{{% /admonition %}}
> If you are running Grafana Enterprise, for some endpoints you would need to have relevant permissions. Refer to [Role-based access control permissions]({{< relref "../../administration/roles-and-permissions/access-control/custom-role-actions-scopes/" >}}) for more information.
2017-04-20 13:59:36 +02:00
## List API keys
2017-04-20 13:59:36 +02:00
{{% admonition type="warning" %}}
This endpoint is deprecated.
{{% /admonition %}}
2017-04-20 13:59:36 +02:00
`GET /api/auth/keys`
2022-05-20 21:48:52 +02:00
**Required permissions**
See note in the [introduction]({{< ref "#authentication-api" >}}) for an explanation.
| Action | Scope |
| -------------- | ----------- |
| `apikeys:read` | `apikeys:*` |
2017-04-20 13:59:36 +02:00
**Example Request**:
2017-10-05 19:01:03 +02:00
```http
GET /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
2017-04-20 13:59:36 +02:00
2019-11-20 13:14:57 +02:00
Query Parameters:
- `includeExpired`: boolean. enable listing of expired keys. Optional.
2017-04-20 13:59:36 +02:00
**Example Response**:
2017-10-05 19:01:03 +02:00
```http
HTTP/1.1 200
Content-Type: application/json
[
{
"id": 3,
"name": "API",
"role": "Admin"
},
{
"id": 1,
"name": "TestAdmin",
2019-06-26 09:47:03 +03:00
"role": "Admin",
"expiration": "2019-06-26T10:52:03+03:00"
2017-10-05 19:01:03 +02:00
}
]
```
2017-04-20 13:59:36 +02:00
## Create API Key
{{% admonition type="warning" %}}
This endpoint has been made obsolete in Grafana 11.3.0.
{{% /admonition %}}
Endpoint is obsolete and has been moved to [Grafana service account API]({{< relref "./serviceaccount/" >}}). For more information, refer to [Migrate to Grafana service account API](/docs/grafana/<GRAFANA_VERSION>/administration/service-accounts/migrate-api-keys/).
2017-04-20 13:59:36 +02:00
`POST /api/auth/keys`
**Example Response**:
2017-10-05 19:01:03 +02:00
```http
HTTP/1.1 410
2017-10-05 19:01:03 +02:00
Content-Type: application/json
2017-04-20 13:59:36 +02:00
{"message":"this endpoint has been removed, please use POST /api/serviceaccounts and POST /api/serviceaccounts/{id}/tokens instead"}
2017-10-05 19:01:03 +02:00
```
2017-04-20 13:59:36 +02:00
## Delete API Key
{{% admonition type="warning" %}}
### DEPRECATED
{{% /admonition %}}
2017-04-20 13:59:36 +02:00
`DELETE /api/auth/keys/:id`
2022-05-20 21:48:52 +02:00
**Required permissions**
See note in the [introduction]({{< ref "#authentication-api" >}}) for an explanation.
| Action | Scope |
| ---------------- | ---------- |
| `apikeys:delete` | apikeys:\* |
2017-04-20 13:59:36 +02:00
**Example Request**:
2017-10-05 19:01:03 +02:00
```http
DELETE /api/auth/keys/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
2017-04-20 13:59:36 +02:00
**Example Response**:
2017-10-05 19:01:03 +02:00
```http
HTTP/1.1 200
Content-Type: application/json
2017-04-20 13:59:36 +02:00
2017-10-05 19:01:03 +02:00
{"message":"API key deleted"}
2020-05-19 02:26:23 +05:30
```