----
page_title: Admin APIs
page_description: Grafana Admin API Reference
page_keywords: grafana, admin, http, api, documentation
---

# 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",
        "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",
        "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

**Example Response**:

    HTTP/1.1 200
    Content-Type: application/json

    {"password":"userpassword"}

## 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

**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"}
