The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
grafana/docs/sources/developers/http_api/sso-settings.md

163 lines
3.6 KiB

---
aliases:
- ../../http_api/sso-settings/
- ../../http_api/ssosettings/
canonical: /docs/grafana/latest/developers/http_api/sso-settings/
description: Grafana SSO Settings API
keywords:
- grafana
- http
- documentation
- api
- sso
- sso-settings
labels:
products:
- enterprise
- oss
title: SSO Settings API
---
# SSO Settings API
> 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.
The API can be used to create, update, delete, get, and list SSO Settings.
## Get SSO Settings
`GET /api/v1/sso-settings/:provider`
Gets the SSO Settings for a provider.
**Required permissions**
See note in the [introduction]({{< ref "#sso-settings" >}}) for an explanation.
| Action | Scope |
| --------------- | ---------------------------- |
| `settings:read` | `settings:auth.{provider}:*` |
**Example Request**:
```http
GET /api/v1/sso-settings/github HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 200
Content-Type: application/json
ETag: db87f729761898ee
{
"id": "1",
"provider": "github",
"settings": {
"apiUrl": "https://api.github.com/user",
"clientId": "my_github_client",
"clientSecret": "*********",
"enabled": true,
"scopes": "user:email,read:org"
// rest of the settings
},
"source": "system",
}
```
Status Codes:
- **200** – SSO Settings found
- **400** – Bad Request
- **401** – Unauthorized
- **403** – Access Denied
- **404** – SSO Settings not found
## Update SSO Settings
`PUT /api/v1/sso-settings/:provider`
Updates the SSO Settings for a provider.
**Required permissions**
See note in the [introduction]({{< ref "#sso-settings" >}}) for an explanation.
| Action | Scope |
| ---------------- | ---------------------------- |
| `settings:write` | `settings:auth.{provider}:*` |
**Example Request**:
```http
PUT /api/v1/sso-settings/github HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"settings": {
"apiUrl": "https://api.github.com/user",
"clientId": "my_github_client",
"clientSecret": "my_github_secret",
"enabled": true,
"scopes": "user:email,read:org"
}
}
```
**Example Response**:
```http
HTTP/1.1 204
Content-Type: application/json
```
Status Codes:
- **204** – SSO Settings updated
- **400** – Bad Request
- **401** – Unauthorized
- **403** – Access Denied
## Delete SSO Settings
`DELETE /api/v1/sso-settings/:provider`
Deletes an existing SSO Settings entry for a provider.
**Required permissions**
See note in the [introduction]({{< ref "#sso-settings" >}}) for an explanation.
| Action | Scope |
| ---------------- | ---------------------------- |
| `settings:write` | `settings:auth.{provider}:*` |
**Example Request**:
```http
DELETE /api/v1/sso-settings/azuread HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example Response**:
```http
HTTP/1.1 204
Content-Type: application/json
```
Status Codes:
- **204** – SSO Settings deleted
- **400** – Bad Request
- **401** – Unauthorized
- **403** – Access Denied
- **404** – SSO Settings not found