mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 12:32:17 +08:00
309 lines
7.1 KiB
Markdown
309 lines
7.1 KiB
Markdown
+++
|
||
title = "Admin HTTP API "
|
||
description = "Grafana Admin HTTP API"
|
||
keywords = ["grafana", "http", "documentation", "api", "admin"]
|
||
aliases = ["/http_api/admin/"]
|
||
type = "docs"
|
||
[menu.docs]
|
||
name = "Admin"
|
||
parent = "http_api"
|
||
+++
|
||
|
||
# Admin API
|
||
|
||
The admin http API does not currently work with an api token. Api Token's are currently only linked to an organization and organization role. They cannot given
|
||
the permission of server admin, only user's can be given that permission. So in order to use these API calls you will have to use basic auth and Grafana user
|
||
with Grafana admin permission.
|
||
|
||
## Settings
|
||
|
||
`GET /api/admin/settings`
|
||
|
||
**Example Request**:
|
||
|
||
GET /api/admin/settings
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{
|
||
"DEFAULT":
|
||
{
|
||
"app_mode":"production"},
|
||
"analytics":
|
||
{
|
||
"google_analytics_ua_id":"",
|
||
"reporting_enabled":"false"
|
||
},
|
||
"auth.anonymous":{
|
||
"enabled":"true",
|
||
"org_name":"Main Org.",
|
||
"org_role":"Viewer"
|
||
},
|
||
"auth.basic":{
|
||
"enabled":"false"
|
||
},
|
||
"auth.github":{
|
||
"allow_sign_up":"false",
|
||
"allowed_domains":"",
|
||
"allowed_organizations":"",
|
||
"api_url":"https://api.github.com/user",
|
||
"auth_url":"https://github.com/login/oauth/authorize",
|
||
"client_id":"some_id",
|
||
"client_secret":"************",
|
||
"enabled":"false",
|
||
"scopes":"user:email",
|
||
"team_ids":"",
|
||
"token_url":"https://github.com/login/oauth/access_token"
|
||
},
|
||
"auth.google":{
|
||
"allow_sign_up":"false","allowed_domains":"",
|
||
"api_url":"https://www.googleapis.com/oauth2/v1/userinfo",
|
||
"auth_url":"https://accounts.google.com/o/oauth2/auth",
|
||
"client_id":"some_client_id",
|
||
"client_secret":"************",
|
||
"enabled":"false",
|
||
"scopes":"https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email",
|
||
"token_url":"https://accounts.google.com/o/oauth2/token"
|
||
},
|
||
"auth.ldap":{
|
||
"config_file":"/etc/grafana/ldap.toml",
|
||
"enabled":"false"
|
||
},
|
||
"auth.proxy":{
|
||
"auto_sign_up":"true",
|
||
"enabled":"false",
|
||
"header_name":"X-WEBAUTH-USER",
|
||
"header_property":"username"
|
||
},
|
||
"dashboards.json":{
|
||
"enabled":"false",
|
||
"path":"/var/lib/grafana/dashboards"
|
||
},
|
||
"database":{
|
||
"host":"127.0.0.1:0000",
|
||
"name":"grafana",
|
||
"password":"************",
|
||
"path":"grafana.db",
|
||
"ssl_mode":"disable",
|
||
"type":"sqlite3",
|
||
"user":"root"
|
||
},
|
||
"emails":{
|
||
"templates_pattern":"emails/*.html",
|
||
"welcome_email_on_sign_up":"false"
|
||
},
|
||
"event_publisher":{
|
||
"enabled":"false",
|
||
"exchange":"grafana_events",
|
||
"rabbitmq_url":"amqp://localhost/"
|
||
},
|
||
"log":{
|
||
"buffer_len":"10000",
|
||
"level":"Info",
|
||
"mode":"file"
|
||
},
|
||
"log.console":{
|
||
"level":""
|
||
},
|
||
"log.file":{
|
||
"daily_rotate":"true",
|
||
"file_name":"",
|
||
"level":"",
|
||
"log_rotate":"true",
|
||
"max_days":"7",
|
||
"max_lines":"1000000",
|
||
"max_lines_shift":"28",
|
||
"max_size_shift":""
|
||
},
|
||
"paths":{
|
||
"data":"/tsdb/grafana",
|
||
"logs":"/logs/apps/grafana"},
|
||
"security":{
|
||
"admin_password":"************",
|
||
"admin_user":"admin",
|
||
"cookie_remember_name":"grafana_remember",
|
||
"cookie_username":"grafana_user",
|
||
"disable_gravatar":"false",
|
||
"login_remember_days":"7",
|
||
"secret_key":"************"
|
||
},
|
||
"server":{
|
||
"cert_file":"",
|
||
"cert_key":"",
|
||
"domain":"mygraf.com",
|
||
"enable_gzip":"false",
|
||
"enforce_domain":"false",
|
||
"http_addr":"127.0.0.1",
|
||
"http_port":"0000",
|
||
"protocol":"http",
|
||
"root_url":"%(protocol)s://%(domain)s:%(http_port)s/",
|
||
"router_logging":"true",
|
||
"data_proxy_logging":"true",
|
||
"static_root_path":"public"
|
||
},
|
||
"session":{
|
||
"cookie_name":"grafana_sess",
|
||
"cookie_secure":"false",
|
||
"gc_interval_time":"",
|
||
"provider":"file",
|
||
"provider_config":"sessions",
|
||
"session_life_time":"86400"
|
||
},
|
||
"smtp":{
|
||
"cert_file":"",
|
||
"enabled":"false",
|
||
"from_address":"admin@grafana.localhost",
|
||
"from_name":"Grafana",
|
||
"host":"localhost:25",
|
||
"key_file":"",
|
||
"password":"************",
|
||
"skip_verify":"false",
|
||
"user":""},
|
||
"users":{
|
||
"allow_org_create":"true",
|
||
"allow_sign_up":"false",
|
||
"auto_assign_org":"true",
|
||
"auto_assign_org_role":"Viewer"
|
||
}
|
||
}
|
||
|
||
## Grafana Stats
|
||
|
||
`GET /api/admin/stats`
|
||
|
||
**Example Request**:
|
||
|
||
GET /api/admin/stats
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{
|
||
"user_count":2,
|
||
"org_count":1,
|
||
"dashboard_count":4,
|
||
"db_snapshot_count":2,
|
||
"db_tag_count":6,
|
||
"data_source_count":1,
|
||
"playlist_count":1,
|
||
"starred_db_count":2,
|
||
"grafana_admin_count":2
|
||
}
|
||
|
||
## Global Users
|
||
|
||
`POST /api/admin/users`
|
||
|
||
Create new user
|
||
|
||
**Example Request**:
|
||
|
||
POST /api/admin/users HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
{
|
||
"name":"User",
|
||
"email":"user@graf.com",
|
||
"login":"user",
|
||
"password":"userpassword"
|
||
}
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{"id":5,"message":"User created"}
|
||
|
||
## Password for User
|
||
|
||
`PUT /api/admin/users/:id/password`
|
||
|
||
Change password for specific user
|
||
|
||
**Example Request**:
|
||
|
||
PUT /api/admin/users/2/password HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
{"password":"userpassword"}
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{"message": "User password updated"}
|
||
|
||
## Permissions
|
||
|
||
`PUT /api/admin/users/:id/permissions`
|
||
|
||
**Example Request**:
|
||
|
||
PUT /api/admin/users/2/permissions HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
{"isGrafanaAdmin": true}
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{message: "User permissions updated"}
|
||
|
||
## Delete global User
|
||
|
||
`DELETE /api/admin/users/:id`
|
||
|
||
**Example Request**:
|
||
|
||
DELETE /api/admin/users/2 HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{message: "User deleted"}
|
||
|
||
## Pause all alerts
|
||
|
||
`POST /api/admin/pause-all-alerts`
|
||
|
||
**Example Request**:
|
||
|
||
POST /api/admin/pause-all-alerts HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
|
||
{
|
||
"paused": true
|
||
}
|
||
|
||
JSON Body schema:
|
||
|
||
- **paused** – If true then all alerts are to be paused, false unpauses all alerts.
|
||
|
||
**Example Response**:
|
||
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
{state: "new state", message: "alerts pause/un paused", "alertsAffected": 100}
|