<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HTTP API on Grafana Labs</title><link>https://grafana.com/docs/grafana/v8.4/http_api/</link><description>Recent content in HTTP API on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v8.4/http_api/index.xml" rel="self" type="application/rss+xml"/><item><title>API Tutorial: Create API tokens and dashboards for an organization</title><link>https://grafana.com/docs/grafana/v8.4/http_api/create-api-tokens-for-org/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/create-api-tokens-for-org/</guid><content><![CDATA[&lt;h1 id=&#34;create-api-tokens-and-dashboards-for-an-organization&#34;&gt;Create API tokens and dashboards for an organization&lt;/h1&gt;
&lt;p&gt;Use the Grafana API to set up new Grafana organizations or to add dynamically generated dashboards to an existing organization.&lt;/p&gt;
&lt;h2 id=&#34;authentication&#34;&gt;Authentication&lt;/h2&gt;
&lt;p&gt;There are two authentication methods to access the API:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Basic authentication: A Grafana Admin user can access some parts of the Grafana API through basic authentication.&lt;/li&gt;
&lt;li&gt;API Tokens: All organization actions are accessed through an API Token. An API Token is associated with an organization. It can be used to create dashboards and other components specific for that organization.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;how-to-create-a-new-organization-and-an-api-token&#34;&gt;How to create a new organization and an API Token&lt;/h2&gt;
&lt;p&gt;The task is to create a new organization and then add a Token that can be used by other users. In the examples below which use basic auth, the user is &lt;code&gt;admin&lt;/code&gt; and the password is &lt;code&gt;admin&lt;/code&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://docs.grafana.org/http_api/org/#create-organization&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Create the org&lt;/a&gt;. Here is an example using curl:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl -X POST -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{&amp;#34;name&amp;#34;:&amp;#34;apiorg&amp;#34;}&amp;#39; http://admin:admin@localhost:3000/api/orgs&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This should return a response: &lt;code&gt;{&amp;quot;message&amp;quot;:&amp;quot;Organization created&amp;quot;,&amp;quot;orgId&amp;quot;:6}&lt;/code&gt;. Use the orgId for the next steps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Optional step. If the org was created previously and/or step 3 fails then first &lt;a href=&#34;http://docs.grafana.org/http_api/org/#add-user-in-organization&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;add your Admin user to the org&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl -X POST -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{&amp;#34;loginOrEmail&amp;#34;:&amp;#34;admin&amp;#34;, &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;}&amp;#39; http://admin:admin@localhost:3000/api/orgs/&amp;lt;org id of new org&amp;gt;/users&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://docs.grafana.org/http_api/user/#switch-user-context-for-signed-in-user&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Switch the org context for the Admin user to the new org&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl -X POST http://admin:admin@localhost:3000/api/user/using/&amp;lt;id of new org&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;http://docs.grafana.org/http_api/auth/#create-api-key&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Create the API token&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl -X POST -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{&amp;#34;name&amp;#34;:&amp;#34;apikeycurl&amp;#34;, &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;}&amp;#39; http://admin:admin@localhost:3000/api/auth/keys&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This should return a response: &lt;code&gt;{&amp;quot;name&amp;quot;:&amp;quot;apikeycurl&amp;quot;,&amp;quot;key&amp;quot;:&amp;quot;eyJrIjoiR0ZXZmt1UFc0OEpIOGN5RWdUalBJTllUTk83VlhtVGwiLCJuIjoiYXBpa2V5Y3VybCIsImlkIjo2fQ==&amp;quot;}&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Save the key returned here in your password manager as it is not possible to fetch again it in the future.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;how-to-add-a-dashboard&#34;&gt;How to add a dashboard&lt;/h2&gt;
&lt;p&gt;Using the Token that was created in the previous step, you can create a dashboard or carry out other actions without having to switch organizations.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&#34;http://docs.grafana.org/http_api/dashboard/#create-update-dashboard&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Add a dashboard&lt;/a&gt; using the key (or bearer token as it is also called):&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl -X POST --insecure -H &amp;#34;Authorization: Bearer eyJrIjoiR0ZXZmt1UFc0OEpIOGN5RWdUalBJTllUTk83VlhtVGwiLCJuIjoiYXBpa2V5Y3VybCIsImlkIjo2fQ==&amp;#34; -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{
  &amp;#34;dashboard&amp;#34;: {
    &amp;#34;id&amp;#34;: null,
    &amp;#34;title&amp;#34;: &amp;#34;Production Overview&amp;#34;,
    &amp;#34;tags&amp;#34;: [ &amp;#34;templated&amp;#34; ],
    &amp;#34;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
    &amp;#34;rows&amp;#34;: [
      {
      }
    ],
    &amp;#34;schemaVersion&amp;#34;: 6,
    &amp;#34;version&amp;#34;: 0
  },
  &amp;#34;overwrite&amp;#34;: false
}&amp;#39; http://localhost:3000/api/dashboards/db&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you export a dashboard for sharing externally using the Share &amp;gt; Export menu in the Grafana UI, you cannot import that dashboard. Instead, click &lt;strong&gt;View JSON&lt;/strong&gt; and save it to a file or fetch the JSON output through the API.&lt;/p&gt;&lt;/blockquote&gt;
]]></content><description>&lt;h1 id="create-api-tokens-and-dashboards-for-an-organization">Create API tokens and dashboards for an organization&lt;/h1>
&lt;p>Use the Grafana API to set up new Grafana organizations or to add dynamically generated dashboards to an existing organization.&lt;/p></description></item><item><title>Admin HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/admin/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/admin/</guid><content><![CDATA[&lt;h1 id=&#34;admin-api&#34;&gt;Admin API&lt;/h1&gt;
&lt;p&gt;The Admin HTTP API does not currently work with an API Token. API Tokens are currently only linked to an organization and an organization role. They cannot be given
the permission of server admin, only users can be given that permission. So in order to use these API calls you will have to use Basic Auth and the Grafana user
must have the Grafana Admin permission. (The default admin user is called &lt;code&gt;admin&lt;/code&gt; and has permission to use this API.)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;fetch-settings&#34;&gt;Fetch settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/admin/settings&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;settings:read&lt;/td&gt;
              &lt;td&gt;settings:*&lt;em&gt;&lt;br&gt;settings:auth.saml:&lt;/em&gt;&lt;br&gt;settings:auth.saml:enabled (property level)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/admin/settings
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;DEFAULT&amp;#34;: {
    &amp;#34;app_mode&amp;#34;:&amp;#34;production&amp;#34;
  },
  &amp;#34;analytics&amp;#34;: {
    &amp;#34;google_analytics_ua_id&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;reporting_enabled&amp;#34;:&amp;#34;false&amp;#34;
  },
  &amp;#34;auth.anonymous&amp;#34;:{
    &amp;#34;enabled&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;org_name&amp;#34;:&amp;#34;Main Org.&amp;#34;,
    &amp;#34;org_role&amp;#34;:&amp;#34;Viewer&amp;#34;
  },
  &amp;#34;auth.basic&amp;#34;:{
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;
  },
  &amp;#34;auth.github&amp;#34;:{
    &amp;#34;allow_sign_up&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;allowed_domains&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;allowed_organizations&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;api_url&amp;#34;:&amp;#34;https://api.github.com/user&amp;#34;,
    &amp;#34;auth_url&amp;#34;:&amp;#34;https://github.com/login/oauth/authorize&amp;#34;,
    &amp;#34;client_id&amp;#34;:&amp;#34;some_id&amp;#34;,
    &amp;#34;client_secret&amp;#34;:&amp;#34;************&amp;#34;,
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;scopes&amp;#34;:&amp;#34;user:email,read:org&amp;#34;,
    &amp;#34;team_ids&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;token_url&amp;#34;:&amp;#34;https://github.com/login/oauth/access_token&amp;#34;
  },
  &amp;#34;auth.google&amp;#34;:{
    &amp;#34;allow_sign_up&amp;#34;:&amp;#34;false&amp;#34;,&amp;#34;allowed_domains&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;api_url&amp;#34;:&amp;#34;https://www.googleapis.com/oauth2/v1/userinfo&amp;#34;,
    &amp;#34;auth_url&amp;#34;:&amp;#34;https://accounts.google.com/o/oauth2/auth&amp;#34;,
    &amp;#34;client_id&amp;#34;:&amp;#34;some_client_id&amp;#34;,
    &amp;#34;client_secret&amp;#34;:&amp;#34;************&amp;#34;,
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;scopes&amp;#34;:&amp;#34;https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email&amp;#34;,
    &amp;#34;token_url&amp;#34;:&amp;#34;https://accounts.google.com/o/oauth2/token&amp;#34;
  },
  &amp;#34;auth.ldap&amp;#34;:{
    &amp;#34;config_file&amp;#34;:&amp;#34;/etc/grafana/ldap.toml&amp;#34;,
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;
  },
  &amp;#34;auth.proxy&amp;#34;:{
    &amp;#34;auto_sign_up&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;header_name&amp;#34;:&amp;#34;X-WEBAUTH-USER&amp;#34;,
    &amp;#34;header_property&amp;#34;:&amp;#34;username&amp;#34;
  },
  &amp;#34;dashboards.json&amp;#34;:{
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;path&amp;#34;:&amp;#34;/var/lib/grafana/dashboards&amp;#34;
  },
  &amp;#34;database&amp;#34;:{
    &amp;#34;host&amp;#34;:&amp;#34;127.0.0.1:0000&amp;#34;,
    &amp;#34;name&amp;#34;:&amp;#34;grafana&amp;#34;,
    &amp;#34;password&amp;#34;:&amp;#34;************&amp;#34;,
    &amp;#34;path&amp;#34;:&amp;#34;grafana.db&amp;#34;,
    &amp;#34;ssl_mode&amp;#34;:&amp;#34;disable&amp;#34;,
    &amp;#34;type&amp;#34;:&amp;#34;sqlite3&amp;#34;,
    &amp;#34;user&amp;#34;:&amp;#34;root&amp;#34;
  },
  &amp;#34;emails&amp;#34;:{
    &amp;#34;templates_pattern&amp;#34;:&amp;#34;emails/*.html, emails/*.txt&amp;#34;,
    &amp;#34;welcome_email_on_sign_up&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;content_types&amp;#34;:&amp;#34;text/html&amp;#34;
  },
  &amp;#34;log&amp;#34;:{
    &amp;#34;buffer_len&amp;#34;:&amp;#34;10000&amp;#34;,
    &amp;#34;level&amp;#34;:&amp;#34;Info&amp;#34;,
    &amp;#34;mode&amp;#34;:&amp;#34;file&amp;#34;
  },
  &amp;#34;log.console&amp;#34;:{
    &amp;#34;level&amp;#34;:&amp;#34;&amp;#34;
  },
  &amp;#34;log.file&amp;#34;:{
    &amp;#34;daily_rotate&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;file_name&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;level&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;log_rotate&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;max_days&amp;#34;:&amp;#34;7&amp;#34;,
    &amp;#34;max_lines&amp;#34;:&amp;#34;1000000&amp;#34;,
    &amp;#34;max_lines_shift&amp;#34;:&amp;#34;28&amp;#34;,
    &amp;#34;max_size_shift&amp;#34;:&amp;#34;&amp;#34;
  },
  &amp;#34;paths&amp;#34;:{
    &amp;#34;data&amp;#34;:&amp;#34;/tsdb/grafana&amp;#34;,
    &amp;#34;logs&amp;#34;:&amp;#34;/logs/apps/grafana&amp;#34;},
    &amp;#34;security&amp;#34;:{
    &amp;#34;admin_password&amp;#34;:&amp;#34;************&amp;#34;,
    &amp;#34;admin_user&amp;#34;:&amp;#34;admin&amp;#34;,
    &amp;#34;cookie_remember_name&amp;#34;:&amp;#34;grafana_remember&amp;#34;,
    &amp;#34;cookie_username&amp;#34;:&amp;#34;grafana_user&amp;#34;,
    &amp;#34;disable_gravatar&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;login_remember_days&amp;#34;:&amp;#34;7&amp;#34;,
    &amp;#34;secret_key&amp;#34;:&amp;#34;************&amp;#34;
  },
  &amp;#34;server&amp;#34;:{
    &amp;#34;cert_file&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;cert_key&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;domain&amp;#34;:&amp;#34;mygraf.com&amp;#34;,
    &amp;#34;enable_gzip&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;enforce_domain&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;http_addr&amp;#34;:&amp;#34;127.0.0.1&amp;#34;,
    &amp;#34;http_port&amp;#34;:&amp;#34;0000&amp;#34;,
    &amp;#34;protocol&amp;#34;:&amp;#34;http&amp;#34;,
    &amp;#34;root_url&amp;#34;:&amp;#34;%(protocol)s://%(domain)s:%(http_port)s/&amp;#34;,
    &amp;#34;router_logging&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;data_proxy_logging&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;static_root_path&amp;#34;:&amp;#34;public&amp;#34;
  },
  &amp;#34;session&amp;#34;:{
    &amp;#34;cookie_name&amp;#34;:&amp;#34;grafana_sess&amp;#34;,
    &amp;#34;cookie_secure&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;gc_interval_time&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;provider&amp;#34;:&amp;#34;file&amp;#34;,
    &amp;#34;provider_config&amp;#34;:&amp;#34;sessions&amp;#34;,
    &amp;#34;session_life_time&amp;#34;:&amp;#34;86400&amp;#34;
  },
  &amp;#34;smtp&amp;#34;:{
    &amp;#34;cert_file&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;enabled&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;from_address&amp;#34;:&amp;#34;admin@grafana.localhost&amp;#34;,
    &amp;#34;from_name&amp;#34;:&amp;#34;Grafana&amp;#34;,
    &amp;#34;ehlo_identity&amp;#34;:&amp;#34;dashboard.example.com&amp;#34;,
    &amp;#34;host&amp;#34;:&amp;#34;localhost:25&amp;#34;,
    &amp;#34;key_file&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;password&amp;#34;:&amp;#34;************&amp;#34;,
    &amp;#34;skip_verify&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;user&amp;#34;:&amp;#34;&amp;#34;
  },
  &amp;#34;users&amp;#34;:{
    &amp;#34;allow_org_create&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;allow_sign_up&amp;#34;:&amp;#34;false&amp;#34;,
    &amp;#34;auto_assign_org&amp;#34;:&amp;#34;true&amp;#34;,
    &amp;#34;auto_assign_org_role&amp;#34;:&amp;#34;Viewer&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-settings&#34;&gt;Update settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/admin/settings&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v8.0&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Updates / removes and reloads database settings. You must provide either &lt;code&gt;updates&lt;/code&gt;, &lt;code&gt;removals&lt;/code&gt; or both.&lt;/p&gt;
&lt;p&gt;This endpoint only supports changes to &lt;code&gt;auth.saml&lt;/code&gt; configuration.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;settings:write&lt;/td&gt;
              &lt;td&gt;settings:*&lt;em&gt;&lt;br&gt;settings:auth.saml:&lt;/em&gt;&lt;br&gt;settings:auth.saml:enabled (property level)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/admin/settings
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;updates&amp;#34;: {
    &amp;#34;auth.saml&amp;#34;: {
      &amp;#34;enabled&amp;#34;: &amp;#34;true&amp;#34;
    }
  },
  &amp;#34;removals&amp;#34;: {
    &amp;#34;auth.saml&amp;#34;: [&amp;#34;single_logout&amp;#34;]
  },
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 32

{
  &amp;#34;message&amp;#34;:&amp;#34;Settings updated&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - OK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Bad Request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Forbidden&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Internal Server Error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;grafana-stats&#34;&gt;Grafana Stats&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/admin/stats&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;server.stats:read&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/admin/stats
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;users&amp;#34;:2,
  &amp;#34;orgs&amp;#34;:1,
  &amp;#34;dashboards&amp;#34;:4,
  &amp;#34;snapshots&amp;#34;:2,
  &amp;#34;tags&amp;#34;:6,
  &amp;#34;datasources&amp;#34;:1,
  &amp;#34;playlists&amp;#34;:1,
  &amp;#34;stars&amp;#34;:2,
  &amp;#34;alerts&amp;#34;:2,
  &amp;#34;activeUsers&amp;#34;:1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;grafana-usage-report-preview&#34;&gt;Grafana Usage Report preview&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/admin/usage-report-preview&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Preview usage report to be sent to vendor.&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/admin/usage-report-preview
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
	&amp;#34;version&amp;#34;: &amp;#34;8_4_0&amp;#34;,
	&amp;#34;metrics&amp;#34;: {
		&amp;#34;stats.active_admins.count&amp;#34;: 1,
		&amp;#34;stats.active_editors.count&amp;#34;: 1,
		&amp;#34;stats.active_sessions.count&amp;#34;: 0,
		&amp;#34;stats.active_users.count&amp;#34;: 2,
		&amp;#34;stats.active_viewers.count&amp;#34;: 0,
		&amp;#34;stats.admins.count&amp;#34;: 1,
		&amp;#34;stats.alert_rules.count&amp;#34;: 0,
		&amp;#34;stats.alerting.ds.other.count&amp;#34;: 0,
		&amp;#34;stats.alerts.count&amp;#34;: 5,
		&amp;#34;stats.annotations.count&amp;#34;: 6,
		&amp;#34;stats.api_keys.count&amp;#34;: 1
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;global-users&#34;&gt;Global Users&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/users&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Create new user. Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:create&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/admin/users HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;name&amp;#34;:&amp;#34;User&amp;#34;,
  &amp;#34;email&amp;#34;:&amp;#34;user@graf.com&amp;#34;,
  &amp;#34;login&amp;#34;:&amp;#34;user&amp;#34;,
  &amp;#34;password&amp;#34;:&amp;#34;userpassword&amp;#34;,
  &amp;#34;OrgId&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note that &lt;code&gt;OrgId&lt;/code&gt; is an optional parameter that can be used to assign a new user to a different organization when &lt;a href=&#34;../../administration/configuration/#auto-assign-org&#34;&gt;auto_assign_org&lt;/a&gt; is set to &lt;code&gt;true&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;id&amp;#34;:5,&amp;#34;message&amp;#34;:&amp;#34;User created&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;password-for-user&#34;&gt;Password for User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/admin/users/:id/password&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.
Change password for a specific user.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.password:update&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/admin/users/2/password HTTP/1.1
Accept: application/json
Content-Type: application/json

{&amp;#34;password&amp;#34;:&amp;#34;userpassword&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;: &amp;#34;User password updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;permissions&#34;&gt;Permissions&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/admin/users/:id/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-5&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.permissions:update&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/admin/users/2/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json

{&amp;#34;isGrafanaAdmin&amp;#34;: true}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;: &amp;#34;User permissions updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-global-user&#34;&gt;Delete global User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/admin/users/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-6&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:delete&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/admin/users/2 HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;: &amp;#34;User deleted&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;pause-all-alerts&#34;&gt;Pause all alerts&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/pause-all-alerts&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/admin/pause-all-alerts HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;paused&amp;#34;: true
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;paused&lt;/strong&gt; – If true then all alerts are to be paused, false unpauses all alerts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;state&amp;#34;:   &amp;#34;Paused&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;alert paused&amp;#34;,
  &amp;#34;alertsAffected&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;auth-tokens-for-user&#34;&gt;Auth tokens for User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/admin/users/:id/auth-tokens&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Return a list of all auth tokens (devices) that the user currently have logged in from.&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-7&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.authtoken:list&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/admin/users/1/auth-tokens HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 361,
    &amp;#34;isActive&amp;#34;: false,
    &amp;#34;clientIp&amp;#34;: &amp;#34;127.0.0.1&amp;#34;,
    &amp;#34;browser&amp;#34;: &amp;#34;Chrome&amp;#34;,
    &amp;#34;browserVersion&amp;#34;: &amp;#34;72.0&amp;#34;,
    &amp;#34;os&amp;#34;: &amp;#34;Linux&amp;#34;,
    &amp;#34;osVersion&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;device&amp;#34;: &amp;#34;Other&amp;#34;,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2019-03-05T21:22:54&amp;#43;01:00&amp;#34;,
    &amp;#34;seenAt&amp;#34;: &amp;#34;2019-03-06T19:41:06&amp;#43;01:00&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 364,
    &amp;#34;isActive&amp;#34;: false,
    &amp;#34;clientIp&amp;#34;: &amp;#34;127.0.0.1&amp;#34;,
    &amp;#34;browser&amp;#34;: &amp;#34;Mobile Safari&amp;#34;,
    &amp;#34;browserVersion&amp;#34;: &amp;#34;11.0&amp;#34;,
    &amp;#34;os&amp;#34;: &amp;#34;iOS&amp;#34;,
    &amp;#34;osVersion&amp;#34;: &amp;#34;11.0&amp;#34;,
    &amp;#34;device&amp;#34;: &amp;#34;iPhone&amp;#34;,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2019-03-06T19:41:19&amp;#43;01:00&amp;#34;,
    &amp;#34;seenAt&amp;#34;: &amp;#34;2019-03-06T19:41:21&amp;#43;01:00&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;revoke-auth-token-for-user&#34;&gt;Revoke auth token for User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/users/:id/revoke-auth-token&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Revokes the given auth token (device) for the user. User of issued auth token (device) will no longer be logged in
and will be required to authenticate again upon next activity.&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-8&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.authtoken:update&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/admin/users/1/revoke-auth-token HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;authTokenId&amp;#34;: 364
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;User auth token revoked&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;logout-user&#34;&gt;Logout User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/users/:id/logout&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Logout user revokes all auth tokens (devices) for the user. User of issued auth tokens (devices) will no longer be logged in
and will be required to authenticate again upon next activity.&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-9&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.logout&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/admin/users/1/logout HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;User auth token revoked&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;reload-provisioning-configurations&#34;&gt;Reload provisioning configurations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/provisioning/dashboards/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/provisioning/datasources/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/provisioning/plugins/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/provisioning/notifications/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/provisioning/access-control/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Reloads the provisioning config files for specified type and provision entities again. It won&amp;rsquo;t return
until the new provisioned entities are already stored in the database. In case of dashboards, it will stop
polling for changes in dashboard files and then restart it with new configurations after returning.&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-10&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
              &lt;th&gt;Provision entity&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;provisioning:reload&lt;/td&gt;
              &lt;td&gt;provisioners:accesscontrol&lt;/td&gt;
              &lt;td&gt;accesscontrol&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;provisioning:reload&lt;/td&gt;
              &lt;td&gt;provisioners:dashboards&lt;/td&gt;
              &lt;td&gt;dashboards&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;provisioning:reload&lt;/td&gt;
              &lt;td&gt;provisioners:datasources&lt;/td&gt;
              &lt;td&gt;datasources&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;provisioning:reload&lt;/td&gt;
              &lt;td&gt;provisioners:plugins&lt;/td&gt;
              &lt;td&gt;plugins&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;provisioning:reload&lt;/td&gt;
              &lt;td&gt;provisioners:notifications&lt;/td&gt;
              &lt;td&gt;notifications&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/admin/provisioning/dashboards/reload HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;Dashboards config reloaded&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;reload-ldap-configuration&#34;&gt;Reload LDAP configuration&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/ldap/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Reloads the LDAP configuration.&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password). See &lt;a href=&#34;http://docs.grafana.org/http_api/admin/#admin-api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/admin/ldap/reload HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;LDAP config reloaded&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="admin-api">Admin API&lt;/h1>
&lt;p>The Admin HTTP API does not currently work with an API Token. API Tokens are currently only linked to an organization and an organization role. They cannot be given
the permission of server admin, only users can be given that permission. So in order to use these API calls you will have to use Basic Auth and the Grafana user
must have the Grafana Admin permission. (The default admin user is called &lt;code>admin&lt;/code> and has permission to use this API.)&lt;/p></description></item><item><title>Alerting HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/alerting/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/alerting/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-api&#34;&gt;Alerting API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This topic is relevant for the &lt;a href=&#34;../../alerting/old-alerting/&#34;&gt;legacy dashboard alerts&lt;/a&gt; only.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;You can find Grafana 8 alerts API specification details &lt;a href=&#34;https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/main/pkg/services/ngalert/api/tooling/post.json&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;. Also, refer to &lt;a href=&#34;../../alerting/unified-alerting/&#34;&gt;Grafana 8 alerts documentation&lt;/a&gt; for details on how to create and manage new alerts.&lt;/p&gt;
&lt;p&gt;You can use the Alerting API to get information about legacy dashboard alerts and their states but this API cannot be used to modify the alert.
To create new alerts or modify them you need to update the dashboard JSON that contains the alerts.&lt;/p&gt;
&lt;h2 id=&#34;get-alerts&#34;&gt;Get alerts&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/alerts/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/alerts HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Querystring Parameters:&lt;/p&gt;
&lt;p&gt;These parameters are used as querystring parameters. For example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/api/alerts?dashboardId=1&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dashboardId&lt;/strong&gt; – Limit response to alerts in specified dashboard(s). You can specify multiple dashboards, e.g. dashboardId=23&amp;amp;dashboardId=35.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;panelId&lt;/strong&gt; – Limit response to alert for a specified panel on a dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;query&lt;/strong&gt; - Limit response to alerts having a name like this value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;state&lt;/strong&gt; - Return alerts with one or more of the following alert states: &lt;code&gt;ALL&lt;/code&gt;,&lt;code&gt;no_data&lt;/code&gt;, &lt;code&gt;paused&lt;/code&gt;, &lt;code&gt;alerting&lt;/code&gt;, &lt;code&gt;ok&lt;/code&gt;, &lt;code&gt;pending&lt;/code&gt;. To specify multiple states use the following format: &lt;code&gt;?state=paused&amp;amp;state=alerting&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; - Limit response to &lt;em&gt;X&lt;/em&gt; number of alerts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;folderId&lt;/strong&gt; – Limit response to alerts of dashboards in specified folder(s). You can specify multiple folders, e.g. folderId=23&amp;amp;folderId=35.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dashboardQuery&lt;/strong&gt; - Limit response to alerts having a dashboard name like this value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dashboardTag&lt;/strong&gt; - Limit response to alerts of dashboards with specified tags. To do an &amp;ldquo;AND&amp;rdquo; filtering with multiple tags, specify the tags parameter multiple times e.g. dashboardTag=tag1&amp;amp;dashboardTag=tag2.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;dashboardId&amp;#34;: 1,
    &amp;#34;dashboardUId&amp;#34;: &amp;#34;ABcdEFghij&amp;#34;
    &amp;#34;dashboardSlug&amp;#34;: &amp;#34;sensors&amp;#34;,
    &amp;#34;panelId&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;fire place sensor&amp;#34;,
    &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
    &amp;#34;newStateDate&amp;#34;: &amp;#34;2018-05-14T05:55:20&amp;#43;02:00&amp;#34;,
    &amp;#34;evalDate&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
    &amp;#34;evalData&amp;#34;: null,
    &amp;#34;executionError&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;https://grafana.com/dashboard/db/sensors&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-alert-by-id&#34;&gt;Get alert by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/alerts/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/alerts/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;dashboardId&amp;#34;: 1,
  &amp;#34;dashboardUId&amp;#34;: &amp;#34;ABcdEFghij&amp;#34;
  &amp;#34;dashboardSlug&amp;#34;: &amp;#34;sensors&amp;#34;,
  &amp;#34;panelId&amp;#34;: 1,
  &amp;#34;name&amp;#34;: &amp;#34;fire place sensor&amp;#34;,
  &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Someone is trying to break in through the fire place&amp;#34;,
  &amp;#34;newStateDate&amp;#34;: &amp;#34;2018-05-14T05:55:20&amp;#43;02:00&amp;#34;,
  &amp;#34;evalDate&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
  &amp;#34;evalData&amp;#34;: &amp;#34;evalMatches&amp;#34;: [
    {
      &amp;#34;metric&amp;#34;: &amp;#34;movement&amp;#34;,
      &amp;#34;tags&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;fireplace_chimney&amp;#34;
      },
      &amp;#34;value&amp;#34;: 98.765
    }
  ],
  &amp;#34;executionError&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;https://grafana.com/dashboard/db/sensors&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Important Note&lt;/strong&gt;:
&amp;ldquo;evalMatches&amp;rdquo; data is cached in the db when and only when the state of the alert changes
(e.g. transitioning from &amp;ldquo;ok&amp;rdquo; to &amp;ldquo;alerting&amp;rdquo; state).&lt;/p&gt;
&lt;p&gt;If data from one server triggers the alert first and, before that server is seen leaving alerting state,
a second server also enters a state that would trigger the alert, the second server will not be visible in &amp;ldquo;evalMatches&amp;rdquo; data.&lt;/p&gt;
&lt;h2 id=&#34;pause-alert-by-id&#34;&gt;Pause alert by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/alerts/:id/pause&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/alerts/1/pause HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;paused&amp;#34;: true
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The :id query parameter is the id of the alert to be paused or unpaused.&lt;/p&gt;
&lt;p&gt;JSON Body Schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;paused&lt;/strong&gt; – Can be &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;. True to pause an alert. False to unpause an alert.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;alertId&amp;#34;: 1,
  &amp;#34;state&amp;#34;:   &amp;#34;Paused&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;alert paused&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;pause-all-alerts&#34;&gt;Pause all alerts&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&#34;../admin/#pause-all-alerts&#34;&gt;Admin API&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="alerting-api">Alerting API&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>Note:&lt;/strong> This topic is relevant for the &lt;a href="../../alerting/old-alerting/">legacy dashboard alerts&lt;/a> only.&lt;/p>&lt;/blockquote>
&lt;p>You can find Grafana 8 alerts API specification details &lt;a href="https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/main/pkg/services/ngalert/api/tooling/post.json" target="_blank" rel="noopener noreferrer">here&lt;/a>. Also, refer to &lt;a href="../../alerting/unified-alerting/">Grafana 8 alerts documentation&lt;/a> for details on how to create and manage new alerts.&lt;/p></description></item><item><title>Alerting Notification Channels HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/alerting_notification_channels/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/alerting_notification_channels/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-notification-channels-api&#34;&gt;Alerting Notification Channels API&lt;/h1&gt;
&lt;p&gt;This page documents the Alerting Notification Channels API.&lt;/p&gt;
&lt;h2 id=&#34;identifier-id-vs-unique-identifier-uid&#34;&gt;Identifier (id) vs unique identifier (uid)&lt;/h2&gt;
&lt;p&gt;The identifier (id) of a notification channel is an auto-incrementing numeric value and is only unique per Grafana install.&lt;/p&gt;
&lt;p&gt;The unique identifier (uid) of a notification channel can be used for uniquely identify a notification channel between
multiple Grafana installs. It&amp;rsquo;s automatically generated if not provided when creating a notification channel. The uid
allows having consistent URLs for accessing notification channels and when syncing notification channels between multiple
Grafana installations, refer to &lt;a href=&#34;../../administration/provisioning/#alert-notification-channels&#34;&gt;alert notification channel provisioning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The uid can have a maximum length of 40 characters.&lt;/p&gt;
&lt;h2 id=&#34;get-all-notification-channels&#34;&gt;Get all notification channels&lt;/h2&gt;
&lt;p&gt;Returns all notification channels that the authenticated user has permission to view.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GET /api/alert-notifications&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;uid&amp;#34;: &amp;#34;team-a-email-notifier&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;Team A&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
    &amp;#34;isDefault&amp;#34;: false,
    &amp;#34;sendReminder&amp;#34;: false,
    &amp;#34;disableResolveMessage&amp;#34;: false,
    &amp;#34;settings&amp;#34;: {
      &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
    },
    &amp;#34;created&amp;#34;: &amp;#34;2018-04-23T14:44:09&amp;#43;02:00&amp;#34;,
    &amp;#34;updated&amp;#34;: &amp;#34;2018-08-20T15:47:49&amp;#43;02:00&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-all-notification-channels-lookup&#34;&gt;Get all notification channels (lookup)&lt;/h2&gt;
&lt;p&gt;Returns all notification channels, but with less detailed information. Accessible by any authenticated user and is mainly used by providing alert notification channels in Grafana UI when configuring alert rule.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GET /api/alert-notifications/lookup&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/alert-notifications/lookup HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;uid&amp;#34;: &amp;#34;000000001&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;Test&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
    &amp;#34;isDefault&amp;#34;: false
  },
  {
    &amp;#34;id&amp;#34;: 2,
    &amp;#34;uid&amp;#34;: &amp;#34;000000002&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;Slack&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;slack&amp;#34;,
    &amp;#34;isDefault&amp;#34;: false
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-notification-channel-by-uid&#34;&gt;Get notification channel by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/alert-notifications/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns the notification channel given the notification channel uid.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/alert-notifications/uid/team-a-email-notifier HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;team-a-email-notifier&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;Team A&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: false,
  &amp;#34;disableResolveMessage&amp;#34;: false,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  },
  &amp;#34;created&amp;#34;: &amp;#34;2018-04-23T14:44:09&amp;#43;02:00&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-08-20T15:47:49&amp;#43;02:00&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-notification-channel-by-id&#34;&gt;Get notification channel by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/alert-notifications/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns the notification channel given the notification channel id.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;team-a-email-notifier&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;Team A&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: false,
  &amp;#34;disableResolveMessage&amp;#34;: false,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  },
  &amp;#34;created&amp;#34;: &amp;#34;2018-04-23T14:44:09&amp;#43;02:00&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-08-20T15:47:49&amp;#43;02:00&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;create-notification-channel&#34;&gt;Create notification channel&lt;/h2&gt;
&lt;p&gt;You can find the full list of &lt;a href=&#34;../../alerting/old-alerting/notifications/#list-of-supported-notifiers&#34;&gt;supported notifiers&lt;/a&gt; on the alert notifiers page.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/alert-notifications&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/alert-notifications HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;uid&amp;#34;: &amp;#34;new-alert-notification&amp;#34;, // optional
  &amp;#34;name&amp;#34;: &amp;#34;new alert notification&amp;#34;,  //Required
  &amp;#34;type&amp;#34;:  &amp;#34;email&amp;#34;, //Required
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: false,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;new-alert-notification&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;new alert notification&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: false,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  },
  &amp;#34;created&amp;#34;: &amp;#34;2018-04-23T14:44:09&amp;#43;02:00&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-08-20T15:47:49&amp;#43;02:00&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-notification-channel-by-uid&#34;&gt;Update notification channel by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/alert-notifications/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing notification channel identified by uid.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/alert-notifications/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;uid&amp;#34;: &amp;#34;new-alert-notification&amp;#34;, // optional
  &amp;#34;name&amp;#34;: &amp;#34;new alert notification&amp;#34;,  //Required
  &amp;#34;type&amp;#34;:  &amp;#34;email&amp;#34;, //Required
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: true,
  &amp;#34;frequency&amp;#34;: &amp;#34;15m&amp;#34;,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;new-alert-notification&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;new alert notification&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: true,
  &amp;#34;frequency&amp;#34;: &amp;#34;15m&amp;#34;,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  },
  &amp;#34;created&amp;#34;: &amp;#34;2017-01-01 12:34&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2017-01-01 12:34&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-notification-channel-by-id&#34;&gt;Update notification channel by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/alert-notifications/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing notification channel identified by id.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;new-alert-notification&amp;#34;, // optional
  &amp;#34;name&amp;#34;: &amp;#34;new alert notification&amp;#34;,  //Required
  &amp;#34;type&amp;#34;:  &amp;#34;email&amp;#34;, //Required
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: true,
  &amp;#34;frequency&amp;#34;: &amp;#34;15m&amp;#34;,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;new-alert-notification&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;new alert notification&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;sendReminder&amp;#34;: true,
  &amp;#34;frequency&amp;#34;: &amp;#34;15m&amp;#34;,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  },
  &amp;#34;created&amp;#34;: &amp;#34;2017-01-01 12:34&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2017-01-01 12:34&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-alert-notification-by-uid&#34;&gt;Delete alert notification by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/alert-notifications/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes an existing notification channel identified by uid.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/alert-notifications/uid/team-a-email-notifier HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;Notification deleted&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-alert-notification-by-id&#34;&gt;Delete alert notification by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/alert-notifications/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes an existing notification channel identified by id.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/alert-notifications/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;Notification deleted&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;test-notification-channel&#34;&gt;Test notification channel&lt;/h2&gt;
&lt;p&gt;Sends a test notification message for the given notification channel type and settings.
You can find the full list of &lt;a href=&#34;/alerting/notifications/#all-supported-notifier&#34;&gt;supported notifiers&lt;/a&gt; at the alert notifiers page.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/alert-notifications/test&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/alert-notifications/test HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;type&amp;#34;:  &amp;#34;email&amp;#34;,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;addresses&amp;#34;: &amp;#34;dev@grafana.com&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;Test notification sent&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="alerting-notification-channels-api">Alerting Notification Channels API&lt;/h1>
&lt;p>This page documents the Alerting Notification Channels API.&lt;/p>
&lt;h2 id="identifier-id-vs-unique-identifier-uid">Identifier (id) vs unique identifier (uid)&lt;/h2>
&lt;p>The identifier (id) of a notification channel is an auto-incrementing numeric value and is only unique per Grafana install.&lt;/p></description></item><item><title>Annotations HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/annotations/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/annotations/</guid><content><![CDATA[&lt;h1 id=&#34;annotations-resources--actions&#34;&gt;Annotations resources / actions&lt;/h1&gt;
&lt;p&gt;This is the API documentation for the new Grafana Annotations feature released in Grafana 4.6. Annotations are saved in the Grafana database (sqlite, mysql or postgres). Annotations can be global annotations that can be shown on any dashboard by configuring an annotation data source - they are filtered by tags. Or they can be tied to a panel on a dashboard and are then only shown on that panel.&lt;/p&gt;
&lt;h2 id=&#34;find-annotations&#34;&gt;Find Annotations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/annotations?from=1506676478816&amp;amp;to=1507281278816&amp;amp;tags=tag1&amp;amp;tags=tag2&amp;amp;limit=100&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/annotations?from=1506676478816&amp;amp;to=1507281278816&amp;amp;tags=tag1&amp;amp;tags=tag2&amp;amp;limit=100 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;from&lt;/code&gt;: epoch datetime in milliseconds. Optional.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;to&lt;/code&gt;: epoch datetime in milliseconds. Optional.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;limit&lt;/code&gt;: number. Optional - default is 100. Max limit for results returned.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;alertId&lt;/code&gt;: number. Optional. Find annotations for a specified alert.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboardId&lt;/code&gt;: number. Optional. Find annotations that are scoped to a specific dashboard&lt;/li&gt;
&lt;li&gt;&lt;code&gt;panelId&lt;/code&gt;: number. Optional. Find annotations that are scoped to a specific panel&lt;/li&gt;
&lt;li&gt;&lt;code&gt;userId&lt;/code&gt;: number. Optional. Find annotations created by a specific user&lt;/li&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt;: string. Optional. &lt;code&gt;alert&lt;/code&gt;|&lt;code&gt;annotation&lt;/code&gt; Return alerts or user created annotations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tags&lt;/code&gt;: string. Optional. Use this to filter global annotations. Global annotations are annotations from an annotation data source that are not connected specifically to a dashboard or panel. To do an &amp;ldquo;AND&amp;rdquo; filtering with multiple tags, specify the tags parameter multiple times e.g. &lt;code&gt;tags=tag1&amp;amp;tags=tag2&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
[
    {
        &amp;#34;id&amp;#34;: 1124,
        &amp;#34;alertId&amp;#34;: 0,
        &amp;#34;dashboardId&amp;#34;: 468,
        &amp;#34;panelId&amp;#34;: 2,
        &amp;#34;userId&amp;#34;: 1,
        &amp;#34;userName&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;newState&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;prevState&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;time&amp;#34;: 1507266395000,
        &amp;#34;timeEnd&amp;#34;: 1507266395000,
        &amp;#34;text&amp;#34;: &amp;#34;test&amp;#34;,
        &amp;#34;metric&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;tags&amp;#34;: [
            &amp;#34;tag1&amp;#34;,
            &amp;#34;tag2&amp;#34;
        ],
        &amp;#34;data&amp;#34;: {}
    },
    {
        &amp;#34;id&amp;#34;: 1123,
        &amp;#34;alertId&amp;#34;: 0,
        &amp;#34;dashboardId&amp;#34;: 468,
        &amp;#34;panelId&amp;#34;: 2,
        &amp;#34;userId&amp;#34;: 1,
        &amp;#34;userName&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;newState&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;prevState&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;time&amp;#34;: 1507265111000,
        &amp;#34;text&amp;#34;: &amp;#34;test&amp;#34;,
        &amp;#34;metric&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;tags&amp;#34;: [
            &amp;#34;tag1&amp;#34;,
            &amp;#34;tag2&amp;#34;
        ],
        &amp;#34;data&amp;#34;: {}
    }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;Starting in Grafana v6.4 regions annotations are now returned in one entity that now includes the timeEnd property.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;create-annotation&#34;&gt;Create Annotation&lt;/h2&gt;
&lt;p&gt;Creates an annotation in the Grafana database. The &lt;code&gt;dashboardId&lt;/code&gt; and &lt;code&gt;panelId&lt;/code&gt; fields are optional.
If they are not specified then a global annotation is created and can be queried in any dashboard that adds
the Grafana annotations data source. When creating a region annotation include the timeEnd property.&lt;/p&gt;
&lt;p&gt;The format for &lt;code&gt;time&lt;/code&gt; and &lt;code&gt;timeEnd&lt;/code&gt; should be epoch numbers in millisecond resolution.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/annotations&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/annotations HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;dashboardId&amp;#34;:468,
  &amp;#34;panelId&amp;#34;:1,
  &amp;#34;time&amp;#34;:1507037197339,
  &amp;#34;timeEnd&amp;#34;:1507180805056,
  &amp;#34;tags&amp;#34;:[&amp;#34;tag1&amp;#34;,&amp;#34;tag2&amp;#34;],
  &amp;#34;text&amp;#34;:&amp;#34;Annotation Description&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;:&amp;#34;Annotation added&amp;#34;,
    &amp;#34;id&amp;#34;: 1,
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;The response for this HTTP request is slightly different in versions prior to v6.4. In prior versions you would
also get an endId if you where creating a region. But in 6.4 regions are represented using a single event with time and
timeEnd properties.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;create-annotation-in-graphite-format&#34;&gt;Create Annotation in Graphite format&lt;/h2&gt;
&lt;p&gt;Creates an annotation by using Graphite-compatible event format. The &lt;code&gt;when&lt;/code&gt; and &lt;code&gt;data&lt;/code&gt; fields are optional. If &lt;code&gt;when&lt;/code&gt; is not specified then the current time will be used as annotation&amp;rsquo;s timestamp. The &lt;code&gt;tags&lt;/code&gt; field can also be in prior to Graphite &lt;code&gt;0.10.0&lt;/code&gt;
format (string with multiple tags being separated by a space).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/annotations/graphite&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/annotations/graphite HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;what&amp;#34;: &amp;#34;Event - deploy&amp;#34;,
  &amp;#34;tags&amp;#34;: [&amp;#34;deploy&amp;#34;, &amp;#34;production&amp;#34;],
  &amp;#34;when&amp;#34;: 1467844481,
  &amp;#34;data&amp;#34;: &amp;#34;deploy of master branch happened at Wed Jul 6 22:34:41 UTC 2016&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;:&amp;#34;Graphite annotation added&amp;#34;,
    &amp;#34;id&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-annotation&#34;&gt;Update Annotation&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/annotations/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates all properties of an annotation that matches the specified id. To only update certain property, consider using the &lt;a href=&#34;#patch-annotation&#34;&gt;Patch Annotation&lt;/a&gt; operation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/annotations/1141 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Content-Type: application/json

{
  &amp;#34;time&amp;#34;:1507037197339,
  &amp;#34;timeEnd&amp;#34;:1507180805056,
  &amp;#34;text&amp;#34;:&amp;#34;Annotation Description&amp;#34;,
  &amp;#34;tags&amp;#34;:[&amp;#34;tag3&amp;#34;,&amp;#34;tag4&amp;#34;,&amp;#34;tag5&amp;#34;]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;:&amp;#34;Annotation updated&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;patch-annotation&#34;&gt;Patch Annotation&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;This is available in Grafana 6.0.0-beta2 and above.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/annotations/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates one or more properties of an annotation that matches the specified id.&lt;/p&gt;
&lt;p&gt;This operation currently supports updating of the &lt;code&gt;text&lt;/code&gt;, &lt;code&gt;tags&lt;/code&gt;, &lt;code&gt;time&lt;/code&gt; and &lt;code&gt;timeEnd&lt;/code&gt; properties.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PATCH /api/annotations/1145 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Content-Type: application/json

{
  &amp;#34;text&amp;#34;:&amp;#34;New Annotation Description&amp;#34;,
  &amp;#34;tags&amp;#34;:[&amp;#34;tag6&amp;#34;,&amp;#34;tag7&amp;#34;,&amp;#34;tag8&amp;#34;]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;:&amp;#34;Annotation patched&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-annotation-by-id&#34;&gt;Delete Annotation By Id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/annotations/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes the annotation that matches the specified id.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/annotations/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;:&amp;#34;Annotation deleted&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;find-annotations-tags&#34;&gt;Find Annotations Tags&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/annotations/tags&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Find all the event tags created in the annotations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/annotations/tags?tag=out HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tag&lt;/code&gt;: Optional. A string that you can use to filter tags.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;limit&lt;/code&gt;: Optional. A number, where the default is 100. Max limit for results returned.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;result&amp;#34;: {
        &amp;#34;tags&amp;#34;: [
            {
                &amp;#34;tag&amp;#34;: &amp;#34;outage&amp;#34;,
                &amp;#34;count&amp;#34;: 1
            }
        ]
    }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="annotations-resources--actions">Annotations resources / actions&lt;/h1>
&lt;p>This is the API documentation for the new Grafana Annotations feature released in Grafana 4.6. Annotations are saved in the Grafana database (sqlite, mysql or postgres). Annotations can be global annotations that can be shown on any dashboard by configuring an annotation data source - they are filtered by tags. Or they can be tied to a panel on a dashboard and are then only shown on that panel.&lt;/p></description></item><item><title>Authentication HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/auth/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/auth/</guid><content><![CDATA[&lt;h1 id=&#34;authentication-api&#34;&gt;Authentication API&lt;/h1&gt;
&lt;h2 id=&#34;tokens&#34;&gt;Tokens&lt;/h2&gt;
&lt;p&gt;Currently you can authenticate via an &lt;code&gt;API Token&lt;/code&gt; or via a &lt;code&gt;Session cookie&lt;/code&gt; (acquired using regular login or OAuth).&lt;/p&gt;
&lt;h2 id=&#34;x-grafana-org-id-header&#34;&gt;X-Grafana-Org-Id Header&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;X-Grafana-Org-Id&lt;/strong&gt; is an optional property that specifies the organization to which the action is applied. If it is not set, the created key belongs to the current context org. Use this header in all requests except those regarding admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
X-Grafana-Org-Id: 2
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;: &amp;#34;mykey&amp;#34;,
  &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;,
  &amp;#34;secondsToLive&amp;#34;: 86400
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;basic-auth&#34;&gt;Basic Auth&lt;/h2&gt;
&lt;p&gt;If basic auth is enabled (it is enabled by default), then you can authenticate your HTTP request via
standard basic auth. Basic auth will also authenticate LDAP users.&lt;/p&gt;
&lt;p&gt;curl example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl http://admin:admin@localhost:3000/api/org
{&amp;#34;id&amp;#34;:1,&amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;create-api-token&#34;&gt;Create API Token&lt;/h2&gt;
&lt;p&gt;Open the sidemenu and click the organization dropdown and select the &lt;code&gt;API Keys&lt;/code&gt; option.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload&#34;
  data-src=&#34;/static/img/docs/v2/orgdropdown_api_keys.png&#34;
  alt=&#34;&#34; width=&#34;254&#34;
     height=&#34;429&#34;/&gt;&lt;/p&gt;
&lt;p&gt;You use the token in all requests in the &lt;code&gt;Authorization&lt;/code&gt; header, like this:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET http://your.grafana.com/api/dashboards/db/mydash HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;Authorization&lt;/code&gt; header value should be &lt;code&gt;Bearer &amp;lt;your api key&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The API Token can also be passed as a Basic authorization password with the special username &lt;code&gt;api_key&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;curl example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl http://api_key:eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk@localhost:3000/api/org
{&amp;#34;id&amp;#34;:1,&amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h1 id=&#34;auth-http-resources--actions&#34;&gt;Auth HTTP resources / actions&lt;/h1&gt;
&lt;h2 id=&#34;api-keys&#34;&gt;Api Keys&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/auth/keys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;includeExpired&lt;/code&gt;: boolean. enable listing of expired keys. Optional.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 3,
    &amp;#34;name&amp;#34;: &amp;#34;API&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;TestAdmin&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;,
    &amp;#34;expiration&amp;#34;: &amp;#34;2019-06-26T10:52:03&amp;#43;03:00&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;create-api-key&#34;&gt;Create API Key&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/auth/keys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/auth/keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;: &amp;#34;mykey&amp;#34;,
  &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;,
  &amp;#34;secondsToLive&amp;#34;: 86400
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;name&lt;/strong&gt; – The key name&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;role&lt;/strong&gt; – Sets the access level/Grafana Role for the key. Can be one of the following values: &lt;code&gt;Viewer&lt;/code&gt;, &lt;code&gt;Editor&lt;/code&gt; or &lt;code&gt;Admin&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;secondsToLive&lt;/strong&gt; – Sets the key expiration in seconds. It is optional. If it is a positive number an expiration date for the key is set. If it is null, zero or is omitted completely (unless &lt;code&gt;api_key_max_seconds_to_live&lt;/code&gt; configuration option is set) the key will never expire.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Error statuses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – &lt;code&gt;api_key_max_seconds_to_live&lt;/code&gt; is set but no &lt;code&gt;secondsToLive&lt;/code&gt; is specified or &lt;code&gt;secondsToLive&lt;/code&gt; is greater than this value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – The key was unable to be stored in the database.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;name&amp;#34;:&amp;#34;mykey&amp;#34;,&amp;#34;key&amp;#34;:&amp;#34;eyJrIjoiWHZiSWd3NzdCYUZnNUtibE9obUpESmE3bzJYNDRIc0UiLCJuIjoibXlrZXkiLCJpZCI6MX1=&amp;#34;,&amp;#34;id&amp;#34;:1}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-api-key&#34;&gt;Delete API Key&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/auth/keys/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/auth/keys/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;API key deleted&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="authentication-api">Authentication API&lt;/h1>
&lt;h2 id="tokens">Tokens&lt;/h2>
&lt;p>Currently you can authenticate via an &lt;code>API Token&lt;/code> or via a &lt;code>Session cookie&lt;/code> (acquired using regular login or OAuth).&lt;/p>
&lt;h2 id="x-grafana-org-id-header">X-Grafana-Org-Id Header&lt;/h2>
&lt;p>&lt;strong>X-Grafana-Org-Id&lt;/strong> is an optional property that specifies the organization to which the action is applied. If it is not set, the created key belongs to the current context org. Use this header in all requests except those regarding admin.&lt;/p></description></item><item><title>cURL examples</title><link>https://grafana.com/docs/grafana/v8.4/http_api/curl-examples/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/curl-examples/</guid><content><![CDATA[&lt;h1 id=&#34;curl-examples&#34;&gt;cURL examples&lt;/h1&gt;
&lt;p&gt;This page provides examples of calls to the Grafana API using cURL.&lt;/p&gt;
&lt;p&gt;The most basic example for a dashboard for which there is no authentication. You can test the following on your local machine, assuming a default installation and anonymous access enabled, required:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;curl http://localhost:3000/api/search&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Here’s a cURL command that works for getting the home dashboard when you are running Grafana locally with &lt;a href=&#34;../auth/#basic-auth&#34;&gt;basic authentication&lt;/a&gt; enabled using the default admin credentials:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;curl http://admin:admin@localhost:3000/api/search&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="curl-examples">cURL examples&lt;/h1>
&lt;p>This page provides examples of calls to the Grafana API using cURL.&lt;/p>
&lt;p>The most basic example for a dashboard for which there is no authentication. You can test the following on your local machine, assuming a default installation and anonymous access enabled, required:&lt;/p></description></item><item><title>Dashboard HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/dashboard/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/dashboard/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-api&#34;&gt;Dashboard API&lt;/h1&gt;
&lt;h2 id=&#34;identifier-id-vs-unique-identifier-uid&#34;&gt;Identifier (id) vs unique identifier (uid)&lt;/h2&gt;
&lt;p&gt;The identifier (id) of a dashboard is an auto-incrementing numeric value and is only unique per Grafana install.&lt;/p&gt;
&lt;p&gt;The unique identifier (uid) of a dashboard can be used for uniquely identify a dashboard between multiple Grafana installs.
It&amp;rsquo;s automatically generated if not provided when creating a dashboard. The uid allows having consistent URLs for accessing
dashboards and when syncing dashboards between multiple Grafana installs, see &lt;a href=&#34;../../administration/provisioning/#dashboards&#34;&gt;dashboard provisioning&lt;/a&gt;
for more information. This means that changing the title of a dashboard will not break any bookmarked links to that dashboard.&lt;/p&gt;
&lt;p&gt;The uid can have a maximum length of 40 characters.&lt;/p&gt;
&lt;h2 id=&#34;create--update-dashboard&#34;&gt;Create / Update dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/dashboards/db&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new dashboard or updates an existing dashboard. When updating existing dashboards, if you do not define the &lt;code&gt;folderId&lt;/code&gt; or the &lt;code&gt;folderUid&lt;/code&gt; property, then the dashboard(s) are moved to the General folder. (You need to define only one property, not both).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request for new dashboard&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/dashboards/db HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;dashboard&amp;#34;: {
    &amp;#34;id&amp;#34;: null,
    &amp;#34;uid&amp;#34;: null,
    &amp;#34;title&amp;#34;: &amp;#34;Production Overview&amp;#34;,
    &amp;#34;tags&amp;#34;: [ &amp;#34;templated&amp;#34; ],
    &amp;#34;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
    &amp;#34;schemaVersion&amp;#34;: 16,
    &amp;#34;version&amp;#34;: 0,
    &amp;#34;refresh&amp;#34;: &amp;#34;25s&amp;#34;
  },
  &amp;#34;folderId&amp;#34;: 0,
  &amp;#34;folderUid&amp;#34;: &amp;#34;l3KqBxCMz&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Made changes to xyz&amp;#34;,
  &amp;#34;overwrite&amp;#34;: false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dashboard&lt;/strong&gt; – The complete dashboard model, id = null to create a new dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dashboard.id&lt;/strong&gt; – id = null to create a new dashboard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dashboard.uid&lt;/strong&gt; – Optional unique identifier when creating a dashboard. uid = null will generate a new uid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;folderId&lt;/strong&gt; – The id of the folder to save the dashboard in.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;folderUid&lt;/strong&gt; – The UID of the folder to save the dashboard in. Overrides the &lt;code&gt;folderId&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;overwrite&lt;/strong&gt; – Set to true if you want to overwrite existing dashboard with newer version, same dashboard title in folder or same dashboard uid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt; - Set a commit message for the version history.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;refresh&lt;/strong&gt; - Set the dashboard refresh interval. If this is lower than &lt;a href=&#34;../../administration/configuration/#min_refresh_interval&#34;&gt;the minimum refresh interval&lt;/a&gt;, then Grafana will ignore it and will enforce the minimum refresh interval.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For adding or updating an alert rule for a dashboard panel the user should declare a
&lt;code&gt;dashboard.panels.alert&lt;/code&gt; block.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request for updating dashboard alert rule&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
 &amp;#34;dashboard&amp;#34;:  {
        &amp;#34;id&amp;#34;: 104,
        &amp;#34;panels&amp;#34;: [
            {
                &amp;#34;alert&amp;#34;: {
                    &amp;#34;alertRuleTags&amp;#34;: {},
                    &amp;#34;conditions&amp;#34;: [
                        {
                            &amp;#34;evaluator&amp;#34;: {
                                &amp;#34;params&amp;#34;: [
                                    25
                                ],
                                &amp;#34;type&amp;#34;: &amp;#34;gt&amp;#34;
                            },
                            &amp;#34;operator&amp;#34;: {
                                &amp;#34;type&amp;#34;: &amp;#34;and&amp;#34;
                            },
                            &amp;#34;query&amp;#34;: {
                                &amp;#34;params&amp;#34;: [
                                    &amp;#34;A&amp;#34;,
                                    &amp;#34;5m&amp;#34;,
                                    &amp;#34;now&amp;#34;
                                ]
                            },
                            &amp;#34;reducer&amp;#34;: {
                                &amp;#34;params&amp;#34;: [],
                                &amp;#34;type&amp;#34;: &amp;#34;avg&amp;#34;
                            },
                            &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;
                        }
                    ],
                    &amp;#34;executionErrorState&amp;#34;: &amp;#34;alerting&amp;#34;,
                    &amp;#34;for&amp;#34;: &amp;#34;5m&amp;#34;,
                    &amp;#34;frequency&amp;#34;: &amp;#34;1m&amp;#34;,
                    &amp;#34;handler&amp;#34;: 1,
                    &amp;#34;name&amp;#34;: &amp;#34;Panel Title alert&amp;#34;,
                    &amp;#34;noDataState&amp;#34;: &amp;#34;no_data&amp;#34;,
                    &amp;#34;notifications&amp;#34;: []
                },
                &amp;#34;aliasColors&amp;#34;: {},
                &amp;#34;bars&amp;#34;: false,
                &amp;#34;dashLength&amp;#34;: 10,
                &amp;#34;dashes&amp;#34;: false,
                &amp;#34;datasource&amp;#34;: null,
                &amp;#34;fieldConfig&amp;#34;: {
                    &amp;#34;defaults&amp;#34;: {
                        &amp;#34;custom&amp;#34;: {}
                    },
                    &amp;#34;overrides&amp;#34;: []
                },
                &amp;#34;fill&amp;#34;: 1,
                &amp;#34;fillGradient&amp;#34;: 0,
                &amp;#34;gridPos&amp;#34;: {
                    &amp;#34;h&amp;#34;: 9,
                    &amp;#34;w&amp;#34;: 12,
                    &amp;#34;x&amp;#34;: 0,
                    &amp;#34;y&amp;#34;: 0
                },
                &amp;#34;hiddenSeries&amp;#34;: false,
                &amp;#34;id&amp;#34;: 2,
                &amp;#34;legend&amp;#34;: {
                    &amp;#34;avg&amp;#34;: false,
                    &amp;#34;current&amp;#34;: false,
                    &amp;#34;max&amp;#34;: false,
                    &amp;#34;min&amp;#34;: false,
                    &amp;#34;show&amp;#34;: true,
                    &amp;#34;total&amp;#34;: false,
                    &amp;#34;values&amp;#34;: false
                },
                &amp;#34;lines&amp;#34;: true,
                &amp;#34;linewidth&amp;#34;: 1,
                &amp;#34;nullPointMode&amp;#34;: &amp;#34;null&amp;#34;,
                &amp;#34;options&amp;#34;: {
                    &amp;#34;dataLinks&amp;#34;: []
                },
                &amp;#34;percentage&amp;#34;: false,
                &amp;#34;pointradius&amp;#34;: 2,
                &amp;#34;points&amp;#34;: false,
                &amp;#34;renderer&amp;#34;: &amp;#34;flot&amp;#34;,
                &amp;#34;seriesOverrides&amp;#34;: [],
                &amp;#34;spaceLength&amp;#34;: 10,
                &amp;#34;stack&amp;#34;: false,
                &amp;#34;steppedLine&amp;#34;: false,
                &amp;#34;targets&amp;#34;: [
                    {
                        &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
                        &amp;#34;scenarioId&amp;#34;: &amp;#34;random_walk&amp;#34;
                    }
                ],
                &amp;#34;thresholds&amp;#34;: [
                    {
                        &amp;#34;colorMode&amp;#34;: &amp;#34;critical&amp;#34;,
                        &amp;#34;fill&amp;#34;: true,
                        &amp;#34;line&amp;#34;: true,
                        &amp;#34;op&amp;#34;: &amp;#34;gt&amp;#34;,
                        &amp;#34;value&amp;#34;: 50
                    }
                ],
                &amp;#34;timeFrom&amp;#34;: null,
                &amp;#34;timeRegions&amp;#34;: [],
                &amp;#34;timeShift&amp;#34;: null,
                &amp;#34;title&amp;#34;: &amp;#34;Panel Title&amp;#34;,
                &amp;#34;tooltip&amp;#34;: {
                    &amp;#34;shared&amp;#34;: true,
                    &amp;#34;sort&amp;#34;: 0,
                    &amp;#34;value_type&amp;#34;: &amp;#34;individual&amp;#34;
                },
                &amp;#34;type&amp;#34;: &amp;#34;graph&amp;#34;,
                &amp;#34;xaxis&amp;#34;: {
                    &amp;#34;buckets&amp;#34;: null,
                    &amp;#34;mode&amp;#34;: &amp;#34;time&amp;#34;,
                    &amp;#34;name&amp;#34;: null,
                    &amp;#34;show&amp;#34;: true,
                    &amp;#34;values&amp;#34;: []
                },
                &amp;#34;yaxes&amp;#34;: [
                    {
                        &amp;#34;format&amp;#34;: &amp;#34;short&amp;#34;,
                        &amp;#34;label&amp;#34;: null,
                        &amp;#34;logBase&amp;#34;: 1,
                        &amp;#34;max&amp;#34;: null,
                        &amp;#34;min&amp;#34;: null,
                        &amp;#34;show&amp;#34;: true
                    },
                    {
                        &amp;#34;format&amp;#34;: &amp;#34;short&amp;#34;,
                        &amp;#34;label&amp;#34;: null,
                        &amp;#34;logBase&amp;#34;: 1,
                        &amp;#34;max&amp;#34;: null,
                        &amp;#34;min&amp;#34;: null,
                        &amp;#34;show&amp;#34;: true
                    }
                ],
                &amp;#34;yaxis&amp;#34;: {
                    &amp;#34;align&amp;#34;: false,
                    &amp;#34;alignLevel&amp;#34;: null
                }
            }
        ],
        &amp;#34;title&amp;#34;: &amp;#34;Update alert rule via API&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;dHEquNzGz&amp;#34;,
        &amp;#34;version&amp;#34;: 1
    }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
  &amp;#34;id&amp;#34;:      1,
  &amp;#34;uid&amp;#34;:     &amp;#34;cIBgcSjkk&amp;#34;,
  &amp;#34;url&amp;#34;:     &amp;#34;/d/cIBgcSjkk/production-overview&amp;#34;,
  &amp;#34;status&amp;#34;:  &amp;#34;success&amp;#34;,
  &amp;#34;version&amp;#34;: 1,
  &amp;#34;slug&amp;#34;:    &amp;#34;production-overview&amp;#34; //deprecated in Grafana v5.0
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Created&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (invalid json, missing or invalid fields, etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;412&lt;/strong&gt; – Precondition failed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;strong&gt;412&lt;/strong&gt; status code is used for explaining that you cannot create the dashboard and why.
There can be different reasons for this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The dashboard has been changed by someone else, &lt;code&gt;status=version-mismatch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;A dashboard with the same name in the folder already exists, &lt;code&gt;status=name-exists&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;A dashboard with the same uid already exists, &lt;code&gt;status=name-exists&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The dashboard belongs to plugin &lt;code&gt;&amp;lt;plugin title&amp;gt;&lt;/code&gt;, &lt;code&gt;status=plugin-dashboard&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The response body will have the following properties:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97

{
  &amp;#34;message&amp;#34;: &amp;#34;The dashboard has been changed by someone else&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;version-mismatch&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In case of title already exists the &lt;code&gt;status&lt;/code&gt; property will be &lt;code&gt;name-exists&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;get-dashboard-by-uid&#34;&gt;Get dashboard by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will return the dashboard given the dashboard unique identifier (uid). Information about the unique identifier of a folder containing the requested dashboard might be found in the metadata.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;dashboard&amp;#34;: {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;uid&amp;#34;: &amp;#34;cIBgcSjkk&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Production Overview&amp;#34;,
    &amp;#34;tags&amp;#34;: [ &amp;#34;templated&amp;#34; ],
    &amp;#34;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
    &amp;#34;schemaVersion&amp;#34;: 16,
    &amp;#34;version&amp;#34;: 0
  },
  &amp;#34;meta&amp;#34;: {
    &amp;#34;isStarred&amp;#34;: false,
    &amp;#34;url&amp;#34;: &amp;#34;/d/cIBgcSjkk/production-overview&amp;#34;,
    &amp;#34;folderId&amp;#34;: 2,
    &amp;#34;folderUid&amp;#34;: &amp;#34;l3KqBxCMz&amp;#34;,
    &amp;#34;slug&amp;#34;: &amp;#34;production-overview&amp;#34; //deprecated in Grafana v5.0
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-dashboard-by-uid&#34;&gt;Delete dashboard by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/dashboards/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will delete the dashboard given the specified unique identifier (uid).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;title&amp;#34;: &amp;#34;Production Overview&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Dashboard Production Overview deleted&amp;#34;,
  &amp;#34;id&amp;#34;: 2
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Deleted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;gets-the-home-dashboard&#34;&gt;Gets the home dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/home&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will return the home dashboard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboards/home HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;dashboard&amp;#34;: {
    &amp;#34;editable&amp;#34;:false,
    &amp;#34;hideControls&amp;#34;:true,
    &amp;#34;nav&amp;#34;:[
      {
        &amp;#34;enable&amp;#34;:false,
        &amp;#34;type&amp;#34;:&amp;#34;timepicker&amp;#34;
      }
    ],
    &amp;#34;style&amp;#34;:&amp;#34;dark&amp;#34;,
    &amp;#34;tags&amp;#34;:[],
    &amp;#34;templating&amp;#34;:{
      &amp;#34;list&amp;#34;:[
      ]
    },
    &amp;#34;time&amp;#34;:{
    },
    &amp;#34;timezone&amp;#34;:&amp;#34;browser&amp;#34;,
    &amp;#34;title&amp;#34;:&amp;#34;Home&amp;#34;,
    &amp;#34;version&amp;#34;:5
  },
  &amp;#34;meta&amp;#34;:	{
    &amp;#34;isHome&amp;#34;:true,
    &amp;#34;canSave&amp;#34;:false,
    &amp;#34;canEdit&amp;#34;:false,
    &amp;#34;canStar&amp;#34;:false,
    &amp;#34;url&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;expires&amp;#34;:&amp;#34;0001-01-01T00:00:00Z&amp;#34;,
    &amp;#34;created&amp;#34;:&amp;#34;0001-01-01T00:00:00Z&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;tags-for-dashboard&#34;&gt;Tags for Dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/tags&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get all tags of dashboards&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboards/tags HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;term&amp;#34;:&amp;#34;tag1&amp;#34;,
    &amp;#34;count&amp;#34;:1
  },
  {
    &amp;#34;term&amp;#34;:&amp;#34;tag2&amp;#34;,
    &amp;#34;count&amp;#34;:4
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;dashboard-search&#34;&gt;Dashboard Search&lt;/h2&gt;
&lt;p&gt;See &lt;a href=&#34;../folder_dashboard_search/&#34;&gt;Folder/Dashboard Search API&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="dashboard-api">Dashboard API&lt;/h1>
&lt;h2 id="identifier-id-vs-unique-identifier-uid">Identifier (id) vs unique identifier (uid)&lt;/h2>
&lt;p>The identifier (id) of a dashboard is an auto-incrementing numeric value and is only unique per Grafana install.&lt;/p></description></item><item><title>Dashboard Permissions HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/dashboard_permissions/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/dashboard_permissions/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-permissions-api&#34;&gt;Dashboard Permissions API&lt;/h1&gt;
&lt;p&gt;This API can be used to update/get the permissions for a dashboard.&lt;/p&gt;
&lt;p&gt;Permissions with &lt;code&gt;dashboardId=-1&lt;/code&gt; are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.&lt;/p&gt;
&lt;p&gt;The permission levels for the permission field:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 = View&lt;/li&gt;
&lt;li&gt;2 = Edit&lt;/li&gt;
&lt;li&gt;4 = Admin&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-permissions-for-a-dashboard&#34;&gt;Get permissions for a dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/id/:dashboardId/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing permissions for the dashboard with the given &lt;code&gt;dashboardId&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboards/id/1/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;dashboardId&amp;#34;: -1,
    &amp;#34;created&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;updated&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;userId&amp;#34;: 0,
    &amp;#34;userLogin&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;userEmail&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;teamId&amp;#34;: 0,
    &amp;#34;team&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
    &amp;#34;permission&amp;#34;: 1,
    &amp;#34;permissionName&amp;#34;: &amp;#34;View&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;slug&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;isFolder&amp;#34;: false,
    &amp;#34;url&amp;#34;: &amp;#34;&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 2,
    &amp;#34;dashboardId&amp;#34;: -1,
    &amp;#34;created&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;updated&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;userId&amp;#34;: 0,
    &amp;#34;userLogin&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;userEmail&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;teamId&amp;#34;: 0,
    &amp;#34;team&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Editor&amp;#34;,
    &amp;#34;permission&amp;#34;: 2,
    &amp;#34;permissionName&amp;#34;: &amp;#34;Edit&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;slug&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;isFolder&amp;#34;: false,
    &amp;#34;url&amp;#34;: &amp;#34;&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Dashboard not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-permissions-for-a-dashboard&#34;&gt;Update permissions for a dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/dashboards/id/:dashboardId/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates permissions for a dashboard. This operation will remove existing permissions if they&amp;rsquo;re not included in the request.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/dashboards/id/1/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
      &amp;#34;permission&amp;#34;: 1
    },
    {
      &amp;#34;role&amp;#34;: &amp;#34;Editor&amp;#34;,
      &amp;#34;permission&amp;#34;: 2
    },
    {
      &amp;#34;teamId&amp;#34;: 1,
      &amp;#34;permission&amp;#34;: 1
    },
    {
      &amp;#34;userId&amp;#34;: 11,
      &amp;#34;permission&amp;#34;: 4
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;items&lt;/strong&gt; - The permission items to add/update. Items that are omitted from the list will be removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Dashboard permissions updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Dashboard not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="dashboard-permissions-api">Dashboard Permissions API&lt;/h1>
&lt;p>This API can be used to update/get the permissions for a dashboard.&lt;/p>
&lt;p>Permissions with &lt;code>dashboardId=-1&lt;/code> are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.&lt;/p></description></item><item><title>Dashboard Versions HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/dashboard_versions/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/dashboard_versions/</guid><content><![CDATA[&lt;h1 id=&#34;dashboard-versions&#34;&gt;Dashboard Versions&lt;/h1&gt;
&lt;h2 id=&#34;get-all-dashboard-versions&#34;&gt;Get all dashboard versions&lt;/h2&gt;
&lt;p&gt;Query parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; - Maximum number of results to return&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;start&lt;/strong&gt; - Version to start from when returning queries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/id/:dashboardId/versions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing dashboard versions for the dashboard with the given &lt;code&gt;dashboardId&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request for getting all dashboard versions&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 428

[
  {
    &amp;#34;id&amp;#34;: 2,
    &amp;#34;dashboardId&amp;#34;: 1,
    &amp;#34;parentVersion&amp;#34;: 1,
    &amp;#34;restoredFrom&amp;#34;: 0,
    &amp;#34;version&amp;#34;: 2,
    &amp;#34;created&amp;#34;: &amp;#34;2017-06-08T17:24:33-04:00&amp;#34;,
    &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;,
    &amp;#34;message&amp;#34;: &amp;#34;Updated panel title&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;dashboardId&amp;#34;: 1,
    &amp;#34;parentVersion&amp;#34;: 0,
    &amp;#34;restoredFrom&amp;#34;: 0,
    &amp;#34;version&amp;#34;: 1,
    &amp;#34;created&amp;#34;: &amp;#34;2017-06-08T17:23:33-04:00&amp;#34;,
    &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;,
    &amp;#34;message&amp;#34;: &amp;#34;Initial save&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Errors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Dashboard version not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-dashboard-version&#34;&gt;Get dashboard version&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/id/:dashboardId/versions/:version&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get the dashboard version with the given version, for the dashboard with the given id.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request for getting a dashboard version&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboards/id/1/versions/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 1300

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;dashboardId&amp;#34;: 1,
  &amp;#34;parentVersion&amp;#34;: 0,
  &amp;#34;restoredFrom&amp;#34;: 0,
  &amp;#34;version&amp;#34;: 1,
  &amp;#34;created&amp;#34;: &amp;#34;2017-04-26T17:18:38-04:00&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Initial save&amp;#34;,
  &amp;#34;data&amp;#34;: {
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;list&amp;#34;: [

      ]
    },
    &amp;#34;editable&amp;#34;: true,
    &amp;#34;gnetId&amp;#34;: null,
    &amp;#34;graphTooltip&amp;#34;: 0,
    &amp;#34;hideControls&amp;#34;: false,
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;links&amp;#34;: [

    ],
    &amp;#34;rows&amp;#34;: [
      {
        &amp;#34;collapse&amp;#34;: false,
        &amp;#34;height&amp;#34;: &amp;#34;250px&amp;#34;,
        &amp;#34;panels&amp;#34;: [

        ],
        &amp;#34;repeat&amp;#34;: null,
        &amp;#34;repeatIteration&amp;#34;: null,
        &amp;#34;repeatRowId&amp;#34;: null,
        &amp;#34;showTitle&amp;#34;: false,
        &amp;#34;title&amp;#34;: &amp;#34;Dashboard Row&amp;#34;,
        &amp;#34;titleSize&amp;#34;: &amp;#34;h6&amp;#34;
      }
    ],
    &amp;#34;schemaVersion&amp;#34;: 14,
    &amp;#34;style&amp;#34;: &amp;#34;dark&amp;#34;,
    &amp;#34;tags&amp;#34;: [

    ],
    &amp;#34;templating&amp;#34;: {
      &amp;#34;list&amp;#34;: [

      ]
    },
    &amp;#34;time&amp;#34;: {
      &amp;#34;from&amp;#34;: &amp;#34;now-6h&amp;#34;,
      &amp;#34;to&amp;#34;: &amp;#34;now&amp;#34;
    },
    &amp;#34;timepicker&amp;#34;: {
      &amp;#34;refresh_intervals&amp;#34;: [
        &amp;#34;5s&amp;#34;,
        &amp;#34;10s&amp;#34;,
        &amp;#34;30s&amp;#34;,
        &amp;#34;1m&amp;#34;,
        &amp;#34;5m&amp;#34;,
        &amp;#34;15m&amp;#34;,
        &amp;#34;30m&amp;#34;,
        &amp;#34;1h&amp;#34;,
        &amp;#34;2h&amp;#34;,
        &amp;#34;1d&amp;#34;
      ],
      &amp;#34;time_options&amp;#34;: [
        &amp;#34;5m&amp;#34;,
        &amp;#34;15m&amp;#34;,
        &amp;#34;1h&amp;#34;,
        &amp;#34;6h&amp;#34;,
        &amp;#34;12h&amp;#34;,
        &amp;#34;24h&amp;#34;,
        &amp;#34;2d&amp;#34;,
        &amp;#34;7d&amp;#34;,
        &amp;#34;30d&amp;#34;
      ]
    },
    &amp;#34;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;test&amp;#34;,
    &amp;#34;version&amp;#34;: 1
  },
  &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Dashboard version not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;restore-dashboard&#34;&gt;Restore dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/dashboards/id/:dashboardId/restore&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Restores a dashboard to a given dashboard version.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request for restoring a dashboard version&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/dashboards/id/1/restore
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;version&lt;/strong&gt; - The dashboard version to restore to&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 67

{
  &amp;#34;slug&amp;#34;: &amp;#34;my-dashboard&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;success&amp;#34;,
  &amp;#34;version&amp;#34;: 3
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON response body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;slug&lt;/strong&gt; - the URL friendly slug of the dashboard&amp;rsquo;s title&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt; - whether the restoration was successful or not&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;version&lt;/strong&gt; - the new dashboard version, following the restoration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - OK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Not found (dashboard not found or dashboard version not found)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Internal server error (indicates issue retrieving dashboard tags from database)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example error response&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 404 Not Found
Content-Type: application/json; charset=UTF-8
Content-Length: 46

{
  &amp;#34;message&amp;#34;: &amp;#34;Dashboard version not found&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON response body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;message&lt;/strong&gt; - Message explaining the reason for the request failure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;compare-dashboard-versions&#34;&gt;Compare dashboard versions&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/dashboards/calculate-diff&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Compares two dashboard versions by calculating the JSON diff of them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/dashboards/calculate-diff HTTP/1.1
Accept: text/html
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;base&amp;#34;: {
    &amp;#34;dashboardId&amp;#34;: 1,
    &amp;#34;version&amp;#34;: 1
  },
  &amp;#34;new&amp;#34;: {
    &amp;#34;dashboardId&amp;#34;: 1,
    &amp;#34;version&amp;#34;: 2
  },
  &amp;#34;diffType&amp;#34;: &amp;#34;json&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;base&lt;/strong&gt; - an object representing the base dashboard version&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;new&lt;/strong&gt; - an object representing the new dashboard version&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;diffType&lt;/strong&gt; - the type of diff to return. Can be &amp;ldquo;json&amp;rdquo; or &amp;ldquo;basic&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response (JSON diff)&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

&amp;lt;p id=&amp;#34;l1&amp;#34; class=&amp;#34;diff-line diff-json-same&amp;#34;&amp;gt;
  &amp;lt;!-- Diff omitted --&amp;gt;
&amp;lt;/p&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The response is a textual representation of the diff, with the dashboard values being in JSON, similar to the diffs seen on sites like GitHub or GitLab.&lt;/p&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Bad request (invalid JSON sent)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Not found&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response (basic diff)&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

&amp;lt;div class=&amp;#34;diff-group&amp;#34;&amp;gt;
  &amp;lt;!-- Diff omitted --&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The response here is a summary of the changes, derived from the diff between the two JSON objects.&lt;/p&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - OK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Bad request (invalid JSON sent)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="dashboard-versions">Dashboard Versions&lt;/h1>
&lt;h2 id="get-all-dashboard-versions">Get all dashboard versions&lt;/h2>
&lt;p>Query parameters:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>limit&lt;/strong> - Maximum number of results to return&lt;/li>
&lt;li>&lt;strong>start&lt;/strong> - Version to start from when returning queries&lt;/li>
&lt;/ul>
&lt;p>&lt;code>GET /api/dashboards/id/:dashboardId/versions&lt;/code>&lt;/p></description></item><item><title>Data source HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/data_source/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/data_source/</guid><content><![CDATA[&lt;h1 id=&#34;data-source-api&#34;&gt;Data source API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;get-all-data-sources&#34;&gt;Get all data sources&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:read&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/datasources HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
   {
     &amp;#34;id&amp;#34;: 1,
     &amp;#34;orgId&amp;#34;: 1,
     &amp;#34;uid&amp;#34;: &amp;#34;H8joYFVGz&amp;#34;
     &amp;#34;name&amp;#34;: &amp;#34;datasource_elastic&amp;#34;,
     &amp;#34;type&amp;#34;: &amp;#34;elasticsearch&amp;#34;,
     &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg&amp;#34;,
     &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
     &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
     &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
     &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
     &amp;#34;database&amp;#34;: &amp;#34;grafana-dash&amp;#34;,
     &amp;#34;basicAuth&amp;#34;: false,
     &amp;#34;isDefault&amp;#34;: false,
     &amp;#34;jsonData&amp;#34;: {
         &amp;#34;esVersion&amp;#34;: 5,
         &amp;#34;logLevelField&amp;#34;: &amp;#34;&amp;#34;,
         &amp;#34;logMessageField&amp;#34;: &amp;#34;&amp;#34;,
         &amp;#34;maxConcurrentShardRequests&amp;#34;: 256,
         &amp;#34;timeField&amp;#34;: &amp;#34;@timestamp&amp;#34;
     },
     &amp;#34;readOnly&amp;#34;: false
   }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-a-single-data-source-by-id&#34;&gt;Get a single data source by Id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/:datasourceId&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:read&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-1&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/datasources/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;kLtEtcRGk&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
  &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
  &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;database&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;basicAuth&amp;#34;: false,
  &amp;#34;basicAuthUser&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;withCredentials&amp;#34;: false,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;jsonData&amp;#34;: {
    &amp;#34;graphiteType&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;graphiteVersion&amp;#34;: &amp;#34;1.1&amp;#34;
  },
  &amp;#34;secureJsonFields&amp;#34;: {},
  &amp;#34;version&amp;#34;: 1,
  &amp;#34;readOnly&amp;#34;: false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-a-single-data-source-by-uid&#34;&gt;Get a single data source by UID&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:read&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:uid:*&lt;br&gt;datasources:uid:kLtEtcRGk (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-2&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/datasources/uid/kLtEtcRGk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;kLtEtcRGk&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
  &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
  &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;database&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;basicAuth&amp;#34;: false,
  &amp;#34;basicAuthUser&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;withCredentials&amp;#34;: false,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;jsonData&amp;#34;: {
    &amp;#34;graphiteType&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;graphiteVersion&amp;#34;: &amp;#34;1.1&amp;#34;
  },
  &amp;#34;secureJsonFields&amp;#34;: {},
  &amp;#34;version&amp;#34;: 1,
  &amp;#34;readOnly&amp;#34;: false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-a-single-data-source-by-name&#34;&gt;Get a single data source by Name&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/name/:name&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:read&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:name:*&lt;br&gt;datasources:name:test_datasource (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-3&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/datasources/name/test_datasource HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;kLtEtcRGk&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
  &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
  &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;database&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;basicAuth&amp;#34;: false,
  &amp;#34;basicAuthUser&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;withCredentials&amp;#34;: false,
  &amp;#34;isDefault&amp;#34;: false,
  &amp;#34;jsonData&amp;#34;: {
    &amp;#34;graphiteType&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;graphiteVersion&amp;#34;: &amp;#34;1.1&amp;#34;
  },
  &amp;#34;secureJsonFields&amp;#34;: {},
  &amp;#34;version&amp;#34;: 1,
  &amp;#34;readOnly&amp;#34;: false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-data-source-id-by-name&#34;&gt;Get data source Id by Name&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/id/:name&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.id:read&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:name:*&lt;br&gt;datasources:name:test_datasource (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-4&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/datasources/id/test_datasource HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;create-a-data-source&#34;&gt;Create a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-5&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:create&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-5&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Graphite Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;:&amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;:&amp;#34;graphite&amp;#34;,
  &amp;#34;url&amp;#34;:&amp;#34;http://mydatasource.com&amp;#34;,
  &amp;#34;access&amp;#34;:&amp;#34;proxy&amp;#34;,
  &amp;#34;basicAuth&amp;#34;:false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Graphite Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;datasource&amp;#34;: {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
    &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
    &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;database&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;basicAuth&amp;#34;: false,
    &amp;#34;basicAuthUser&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;withCredentials&amp;#34;: false,
    &amp;#34;isDefault&amp;#34;: false,
    &amp;#34;jsonData&amp;#34;: {},
    &amp;#34;secureJsonFields&amp;#34;: {},
    &amp;#34;version&amp;#34;: 1,
    &amp;#34;readOnly&amp;#34;: false
  },
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;message&amp;#34;: &amp;#34;Datasource added&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; By defining &lt;code&gt;password&lt;/code&gt; and &lt;code&gt;basicAuthPassword&lt;/code&gt; under &lt;code&gt;secureJsonData&lt;/code&gt; Grafana encrypts them securely as an encrypted blob in the database. The response then lists the encrypted fields under &lt;code&gt;secureJsonFields&lt;/code&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Graphite Request with basic auth enabled&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
  &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
  &amp;#34;basicAuth&amp;#34;: true,
  &amp;#34;basicAuthUser&amp;#34;: &amp;#34;basicuser&amp;#34;,
  &amp;#34;secureJsonData&amp;#34;: {
    &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;basicpassword&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response with basic auth enabled&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;datasource&amp;#34;: {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
    &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
    &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;database&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;basicAuth&amp;#34;: true,
    &amp;#34;basicAuthUser&amp;#34;: &amp;#34;basicuser&amp;#34;,
    &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;withCredentials&amp;#34;: false,
    &amp;#34;isDefault&amp;#34;: false,
    &amp;#34;jsonData&amp;#34;: {},
    &amp;#34;secureJsonFields&amp;#34;: {
      &amp;#34;basicAuthPassword&amp;#34;: true
    },
    &amp;#34;version&amp;#34;: 1,
    &amp;#34;readOnly&amp;#34;: false
  },
  &amp;#34;id&amp;#34;: 102,
  &amp;#34;message&amp;#34;: &amp;#34;Datasource added&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example CloudWatch Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;cloudwatch&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;http://monitoring.us-west-1.amazonaws.com&amp;#34;,
  &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
  &amp;#34;jsonData&amp;#34;: {
    &amp;#34;authType&amp;#34;: &amp;#34;keys&amp;#34;,
    &amp;#34;defaultRegion&amp;#34;: &amp;#34;us-west-1&amp;#34;
  },
  &amp;#34;secureJsonData&amp;#34;: {
    &amp;#34;accessKey&amp;#34;: &amp;#34;Ol4pIDpeKSA6XikgOl4p&amp;#34;,
    &amp;#34;secretKey&amp;#34;: &amp;#34;dGVzdCBrZXkgYmxlYXNlIGRvbid0IHN0ZWFs&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-an-existing-data-source&#34;&gt;Update an existing data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/datasources/:datasourceId&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-6&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:write&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-6&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/datasources/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;orgId&amp;#34;:1,
  &amp;#34;name&amp;#34;:&amp;#34;test_datasource&amp;#34;,
  &amp;#34;type&amp;#34;:&amp;#34;graphite&amp;#34;,
  &amp;#34;access&amp;#34;:&amp;#34;proxy&amp;#34;,
  &amp;#34;url&amp;#34;:&amp;#34;http://mydatasource.com&amp;#34;,
  &amp;#34;password&amp;#34;:&amp;#34;&amp;#34;,
  &amp;#34;user&amp;#34;:&amp;#34;&amp;#34;,
  &amp;#34;database&amp;#34;:&amp;#34;&amp;#34;,
  &amp;#34;basicAuth&amp;#34;:true,
  &amp;#34;basicAuthUser&amp;#34;:&amp;#34;basicuser&amp;#34;,
  &amp;#34;secureJsonData&amp;#34;: {
    &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;basicpassword&amp;#34;
  },
  &amp;#34;isDefault&amp;#34;:false,
  &amp;#34;jsonData&amp;#34;:null
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;datasource&amp;#34;: {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;graphite&amp;#34;,
    &amp;#34;typeLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;access&amp;#34;: &amp;#34;proxy&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;http://mydatasource.com&amp;#34;,
    &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;user&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;database&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;basicAuth&amp;#34;: true,
    &amp;#34;basicAuthUser&amp;#34;: &amp;#34;basicuser&amp;#34;,
    &amp;#34;basicAuthPassword&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;withCredentials&amp;#34;: false,
    &amp;#34;isDefault&amp;#34;: false,
    &amp;#34;jsonData&amp;#34;: {},
    &amp;#34;secureJsonFields&amp;#34;: {
      &amp;#34;basicAuthPassword&amp;#34;: true
    },
    &amp;#34;version&amp;#34;: 1,
    &amp;#34;readOnly&amp;#34;: false
  },
  &amp;#34;id&amp;#34;: 102,
  &amp;#34;message&amp;#34;: &amp;#34;Datasource updated&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;test_datasource&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Similar to &lt;a href=&#34;#create-a-data-source&#34;&gt;creating a data source&lt;/a&gt;, &lt;code&gt;password&lt;/code&gt; and &lt;code&gt;basicAuthPassword&lt;/code&gt; should be defined under &lt;code&gt;secureJsonData&lt;/code&gt; in order to be stored securely as an encrypted blob in the database. Then, the encrypted fields are listed under &lt;code&gt;secureJsonFields&lt;/code&gt; section in the response.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;delete-an-existing-data-source-by-id&#34;&gt;Delete an existing data source by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/datasources/:datasourceId&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-7&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:delete&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-7&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/datasources/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Data source deleted&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-an-existing-data-source-by-uid&#34;&gt;Delete an existing data source by UID&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/datasources/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-8&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:delete&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:uid:*&lt;br&gt;datasources:uid:kLtEtcRGk (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-8&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/datasources/uid/kLtEtcRGk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;: &amp;#34;Data source deleted&amp;#34;,
    &amp;#34;id&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-an-existing-data-source-by-name&#34;&gt;Delete an existing data source by name&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/datasources/name/:datasourceName&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-9&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources:delete&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:name:*&lt;br&gt;datasources:name:test_datasource (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-9&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/datasources/name/test_datasource HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;:&amp;#34;Data source deleted&amp;#34;,
  &amp;#34;id&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;data-source-proxy-calls&#34;&gt;Data source proxy calls&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/proxy/:datasourceId/*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Proxies all calls to the actual data source.&lt;/p&gt;
&lt;h2 id=&#34;query-a-data-source-by-id&#34;&gt;Query a data source by ID&lt;/h2&gt;
&lt;p&gt;Queries a data source having backend implementation.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/tsdb/query&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Most of Grafana&amp;rsquo;s builtin data sources have backend implementation.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/tsdb/query HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;from&amp;#34;: &amp;#34;1420066800000&amp;#34;,
  &amp;#34;to&amp;#34;: &amp;#34;1575845999999&amp;#34;,
  &amp;#34;queries&amp;#34;: [
    {
      &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
      &amp;#34;intervalMs&amp;#34;: 86400000,
      &amp;#34;maxDataPoints&amp;#34;: 1092,
      &amp;#34;datasourceId&amp;#34;: 86,
      &amp;#34;rawSql&amp;#34;: &amp;#34;SELECT 1 as valueOne, 2 as valueTwo&amp;#34;,
      &amp;#34;format&amp;#34;: &amp;#34;table&amp;#34;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;from&lt;/code&gt;, &lt;code&gt;to&lt;/code&gt;, and &lt;code&gt;queries&lt;/code&gt; properties are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;from/to&lt;/strong&gt; – Should be either absolute in epoch timestamps in milliseconds or relative using Grafana time units. For example, &lt;code&gt;now-1h&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.refId&lt;/strong&gt; – Specifies an identifier of the query. Is optional and default to &amp;ldquo;A&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.datasourceId&lt;/strong&gt; – Specifies the data source to be queried. Each &lt;code&gt;query&lt;/code&gt; in the request must have an unique &lt;code&gt;datasourceId&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.maxDataPoints&lt;/strong&gt; - Species maximum amount of data points that dashboard panel can render. Is optional and default to 100.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.intervalMs&lt;/strong&gt; - Specifies the time interval in milliseconds of time series. Is optional and defaults to 1000.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, each data source has its own specific properties that should be added in a request.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request for the MySQL data source:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/tsdb/query HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;from&amp;#34;: &amp;#34;1420066800000&amp;#34;,
  &amp;#34;to&amp;#34;: &amp;#34;1575845999999&amp;#34;,
  &amp;#34;queries&amp;#34;: [
    {
      &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
      &amp;#34;intervalMs&amp;#34;: 86400000,
      &amp;#34;maxDataPoints&amp;#34;: 1092,
      &amp;#34;datasourceId&amp;#34;: 86,
      &amp;#34;rawSql&amp;#34;: &amp;#34;SELECT\n  time,\n  sum(opened) AS \&amp;#34;Opened\&amp;#34;,\n  sum(closed) AS \&amp;#34;Closed\&amp;#34;\nFROM\n  issues_activity\nWHERE\n  $__unixEpochFilter(time) AND\n  period = &amp;#39;m&amp;#39; AND\n  repo IN(&amp;#39;grafana/grafana&amp;#39;) AND\n  opened_by IN(&amp;#39;Contributor&amp;#39;,&amp;#39;Grafana Labs&amp;#39;)\nGROUP BY 1\nORDER BY 1\n&amp;#34;,
      &amp;#34;format&amp;#34;: &amp;#34;time_series&amp;#34;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example MySQL time series query response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;results&amp;#34;: {
    &amp;#34;A&amp;#34;: {
      &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
      &amp;#34;meta&amp;#34;: {
        &amp;#34;rowCount&amp;#34;: 0,
        &amp;#34;sql&amp;#34;: &amp;#34;SELECT\n  time,\n  sum(opened) AS \&amp;#34;Opened\&amp;#34;,\n  sum(closed) AS \&amp;#34;Closed\&amp;#34;\nFROM\n  issues_activity\nWHERE\n  time &amp;gt;= 1420066800 AND time &amp;lt;= 1575845999 AND\n  period = &amp;#39;m&amp;#39; AND\n  repo IN(&amp;#39;grafana/grafana&amp;#39;) AND\n  opened_by IN(&amp;#39;Contributor&amp;#39;,&amp;#39;Grafana Labs&amp;#39;)\nGROUP BY 1\nORDER BY 1\n&amp;#34;
      },
      &amp;#34;series&amp;#34;: [
        {
          &amp;#34;name&amp;#34;: &amp;#34;Opened&amp;#34;,
          &amp;#34;points&amp;#34;: [
            [
              109,
              1420070400000
            ],
            [
              122,
              1422748800000
            ]
          ]
        },
        {
          &amp;#34;name&amp;#34;: &amp;#34;Closed&amp;#34;,
          &amp;#34;points&amp;#34;: [
            [
              89,
              1420070400000
            ]
          ]
        }
      ]
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="data-source-api">Data source API&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise and have &lt;a href="../../enterprise/access-control/">Fine-grained access control&lt;/a> enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p></description></item><item><title>Datasource Permissions HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/datasource_permissions/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/datasource_permissions/</guid><content><![CDATA[&lt;h1 id=&#34;data-source-permissions-api&#34;&gt;Data Source Permissions API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;The Data Source Permissions is only available in Grafana Enterprise. Read more about &lt;a href=&#34;../../enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This API can be used to enable, disable, list, add and remove permissions for a data source.&lt;/p&gt;
&lt;p&gt;Permissions can be set for a user or a team. Permissions cannot be set for Admins - they always have access to everything.&lt;/p&gt;
&lt;p&gt;The permission levels for the permission field:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 = Query&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;enable-permissions-for-a-data-source&#34;&gt;Enable permissions for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:id/enable-permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Enables permissions for the data source with the given &lt;code&gt;id&lt;/code&gt;. No one except Org Admins will be able to query the data source until permissions have been added which permit certain users or teams to query the data source.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-permissions-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.permissions:write&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources/1/enable-permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Datasource permissions enabled&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Permissions cannot be enabled, see response body for details&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Datasource not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;disable-permissions-for-a-data-source&#34;&gt;Disable permissions for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:id/disable-permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Disables permissions for the data source with the given &lt;code&gt;id&lt;/code&gt;. All existing permissions will be removed and anyone will be able to query the data source.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-permissions-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.permissions:write&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-1&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources/1/disable-permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Datasource permissions disabled&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Permissions cannot be disabled, see response body for details&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Datasource not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-permissions-for-a-data-source&#34;&gt;Get permissions for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/:id/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing permissions for the data source with the given &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-permissions-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.permissions:read&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-2&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/datasources/1/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551

{
  &amp;#34;datasourceId&amp;#34;: 1,
  &amp;#34;enabled&amp;#34;: true,
  &amp;#34;permissions&amp;#34;:
  [
    {
      &amp;#34;id&amp;#34;: 1,
      &amp;#34;datasourceId&amp;#34;: 1,
      &amp;#34;userId&amp;#34;: 1,
      &amp;#34;userLogin&amp;#34;: &amp;#34;user&amp;#34;,
      &amp;#34;userEmail&amp;#34;: &amp;#34;user@test.com&amp;#34;,
      &amp;#34;userAvatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;,
      &amp;#34;permission&amp;#34;: 1,
      &amp;#34;permissionName&amp;#34;: &amp;#34;Query&amp;#34;,
      &amp;#34;created&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
      &amp;#34;updated&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    },
    {
      &amp;#34;id&amp;#34;: 2,
      &amp;#34;datasourceId&amp;#34;: 1,
      &amp;#34;teamId&amp;#34;: 1,
      &amp;#34;team&amp;#34;: &amp;#34;A Team&amp;#34;,
      &amp;#34;teamAvatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;,
      &amp;#34;permission&amp;#34;: 1,
      &amp;#34;permissionName&amp;#34;: &amp;#34;Query&amp;#34;,
      &amp;#34;created&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
      &amp;#34;updated&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Datasource not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;add-permission-for-a-data-source&#34;&gt;Add permission for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:id/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Adds a user permission for the data source with the given &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-permissions-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.permissions:write&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-3&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources/1/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;userId&amp;#34;: 1,
  &amp;#34;permission&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Datasource permission added&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Adds a team permission for the data source with the given &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/datasources/1/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;teamId&amp;#34;: 1,
  &amp;#34;permission&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Datasource permission added&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Permission cannot be added, see response body for details&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Datasource not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;remove-permission-for-a-data-source&#34;&gt;Remove permission for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/datasources/:id/permissions/:permissionId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Removes the permission with the given &lt;code&gt;permissionId&lt;/code&gt; for the data source with the given &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#data-source-permissions-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.permissions:write&lt;/td&gt;
              &lt;td&gt;datasources:*&lt;br&gt;datasources:id:*&lt;br&gt;datasources:id:1 (single data source)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-4&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/datasources/1/permissions/2
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Datasource permission removed&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Datasource not found or permission not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="data-source-permissions-api">Data Source Permissions API&lt;/h1>
&lt;blockquote>
&lt;p>The Data Source Permissions is only available in Grafana Enterprise. Read more about &lt;a href="../../enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise and have &lt;a href="../../enterprise/access-control/">Fine-grained access control&lt;/a> enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p></description></item><item><title>External Group Sync HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/external_group_sync/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/external_group_sync/</guid><content><![CDATA[&lt;h1 id=&#34;external-group-synchronization-api&#34;&gt;External Group Synchronization API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;External Group Synchronization is only available in Grafana Enterprise. Read more about &lt;a href=&#34;../../enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;If you have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, access to endpoints will be controlled by Fine-grained access control permissions.
Refer to specific endpoints to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;get-external-groups&#34;&gt;Get External Groups&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/:teamId/groups&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.permissions:read&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/teams/1/groups HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;teamId&amp;#34;: 1,
    &amp;#34;groupId&amp;#34;: &amp;#34;cn=editors,ou=groups,dc=grafana,dc=org&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;add-external-group&#34;&gt;Add External Group&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/teams/:teamId/groups&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.permissions:write&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;groupId&amp;#34;: &amp;#34;cn=editors,ou=groups,dc=grafana,dc=org&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Group added to Team&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - Group is already added to this team&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;remove-external-group&#34;&gt;Remove External Group&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/teams/:teamId/groups/:groupId&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.permissions:write&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/teams/1/groups/cn=editors,ou=groups,dc=grafana,dc=org HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Team Group removed&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found/Group not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="external-group-synchronization-api">External Group Synchronization API&lt;/h1>
&lt;blockquote>
&lt;p>External Group Synchronization is only available in Grafana Enterprise. Read more about &lt;a href="../../enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>If you have &lt;a href="../../enterprise/access-control/">Fine-grained access control&lt;/a> enabled, access to endpoints will be controlled by Fine-grained access control permissions.
Refer to specific endpoints to understand what permissions are required.&lt;/p></description></item><item><title>Fine-grained access control HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/access_control/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/access_control/</guid><content><![CDATA[&lt;h1 id=&#34;fine-grained-access-control-api&#34;&gt;Fine-grained access control API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Fine-grained access control API is only available in Grafana Enterprise. Read more about &lt;a href=&#34;../../enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The API can be used to create, update, get and list roles, and create or remove built-in role assignments.
To use the API, you would need to &lt;a href=&#34;../../enterprise/access-control/#enable-fine-grained-access-control&#34;&gt;enable fine-grained access control&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The API does not currently work with an API Token. So in order to use these API endpoints you will have to use &lt;a href=&#34;../auth/#basic-auth&#34;&gt;Basic auth&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;get-status&#34;&gt;Get status&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/status&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns an indicator to check if fine-grained access control is enabled or not.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;status:accesscontrol&lt;/td&gt;
              &lt;td&gt;services:accesscontrol&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/access-control/status
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
  &amp;#34;enabled&amp;#34;: true
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Returned a flag indicating if the fine-grained access control is enabled or no.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Not found, an indication that fine-grained access control is not available at all.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;create-and-manage-custom-roles&#34;&gt;Create and manage custom roles&lt;/h2&gt;
&lt;h3 id=&#34;get-all-roles&#34;&gt;Get all roles&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing roles. The response contains all global and organization local roles, for the organization which user is signed in.&lt;/p&gt;
&lt;p&gt;Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#built-in-role-assignments&#34;&gt;Role scopes&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles:list&lt;/td&gt;
              &lt;td&gt;roles:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-1&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/access-control/roles
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-1&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

[
    {
        &amp;#34;version&amp;#34;: 3,
        &amp;#34;uid&amp;#34;: &amp;#34;XvHQJq57z&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;fixed:reports:reader&amp;#34;,
        &amp;#34;displayName&amp;#34;: &amp;#34;Report reader&amp;#34;,
        &amp;#34;description&amp;#34;: &amp;#34;Read all reports and shared report settings.&amp;#34;,
        &amp;#34;group&amp;#34;: &amp;#34;Reports&amp;#34;,
        &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
        &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
        &amp;#34;global&amp;#34;: false
    },
    {
        &amp;#34;version&amp;#34;: 5,
        &amp;#34;uid&amp;#34;: &amp;#34;vi9mlLjGz&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;fixed:datasources.permissions:writer&amp;#34;,
        &amp;#34;description: &amp;#34;Create, read or delete data source permissions.&amp;#34;,
        &amp;#34;global&amp;#34;: true,
        &amp;#34;updated&amp;#34;: &amp;#34;2021-05-13T22:41:49&amp;#43;02:00&amp;#34;,
        &amp;#34;created&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;
    }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-1&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Global and organization local roles are returned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;get-a-role&#34;&gt;Get a role&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/roles/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get a role for the given UID.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles:read&lt;/td&gt;
              &lt;td&gt;roles:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-2&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/access-control/roles/PYnDO3rMk
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-2&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;version&amp;#34;: 4,
    &amp;#34;uid&amp;#34;: &amp;#34;6dNwJq57z&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;fixed:reports:writer&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;Report writer&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;Create, read, update, or delete all reports and shared report settings.&amp;#34;,
    &amp;#34;group&amp;#34;: &amp;#34;Reports&amp;#34;,
    &amp;#34;permissions&amp;#34;: [
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports:delete&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;reports:*&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports:read&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;reports:*&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports:send&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;reports:*&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports.admin:create&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports.admin:write&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;reports:*&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports.settings:read&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;reports.settings:write&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;
        }
    ],
    &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
    &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
    &amp;#34;global&amp;#34;: false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-2&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role is returned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;create-a-new-custom-role&#34;&gt;Create a new custom role&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new custom role and maps given permissions to that role. Note that roles with the same prefix as &lt;a href=&#34;../../enterprise/access-control/roles/&#34;&gt;Fixed Roles&lt;/a&gt; can&amp;rsquo;t be created.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only create custom roles with the same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to create a custom role which allows to do that. This is done to prevent escalation of privileges.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles:write&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-3&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/access-control/roles
Accept: application/json
Content-Type: application/json

{
    &amp;#34;version&amp;#34;: 1,
    &amp;#34;uid&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;custom:delete:roles&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;custom delete roles&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;My custom role which gives users permissions to delete roles&amp;#34;,
    &amp;#34;group&amp;#34;:&amp;#34;My Group&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;My Custom Role&amp;#34;,
    &amp;#34;global&amp;#34;: false,
    &amp;#34;permissions&amp;#34;: [
        {
            &amp;#34;action&amp;#34;: &amp;#34;roles:delete&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;permissions:delegate&amp;#34;
        }
    ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;json-body-schema&#34;&gt;JSON body schema&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Date Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;uid&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;UID of the role. If not present, the UID will be automatically created for you and returned in response. Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#custom-roles&#34;&gt;Custom roles&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the role is global or not. If set to &lt;code&gt;false&lt;/code&gt;, the default org ID of the authenticated user will be used from the request. Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#role-scopes&#34;&gt;Role scopes&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;version&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Version of the role. If not present, version 0 will be assigned to the role and returned in the response. Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#custom-roles&#34;&gt;Custom roles&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;name&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Name of the role. Refer to &lt;a href=&#34;../../enterprise/access-control/roles/#custom-roles&#34;&gt;Custom roles&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;description&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Description of the role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;displayName&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Display name of the role, visible in the UI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;group&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;The group name the role belongs to.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;permissions&lt;/td&gt;
              &lt;td&gt;Permission&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;If not present, the role will be created without any permissions.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Permission&lt;/strong&gt;&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Data Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;action&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Refer to &lt;a href=&#34;../../enterprise/access-control/permissions/&#34;&gt;Permissions&lt;/a&gt; for full list of available actions.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;scope&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;If not present, no scope will be mapped to the permission. Refer to &lt;a href=&#34;../../enterprise/access-control/permissions/#scope-definitions&#34;&gt;Permissions&lt;/a&gt; for full list of available scopes.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-3&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;version&amp;#34;: 2,
    &amp;#34;uid&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;custom:delete:create:roles&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;custom delete create roles&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;My custom role which gives users permissions to delete and create roles&amp;#34;,
    &amp;#34;group&amp;#34;:&amp;#34;My Group&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;My Custom Role&amp;#34;,
    &amp;#34;global&amp;#34;: false,
    &amp;#34;permissions&amp;#34;: [
        {
            &amp;#34;action&amp;#34;: &amp;#34;roles:delete&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;permissions:delegate&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-05-13T23:19:46&amp;#43;02:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-05-13T23:19:46&amp;#43;02:00&amp;#34;
        }
    ],
    &amp;#34;updated&amp;#34;: &amp;#34;2021-05-13T23:20:51.416518&amp;#43;02:00&amp;#34;,
    &amp;#34;created&amp;#34;: &amp;#34;2021-05-13T23:19:46&amp;#43;02:00&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-3&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role is updated.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;update-a-custom-role&#34;&gt;Update a custom role&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /api/access-control/roles/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Update the role with the given UID, and it&amp;rsquo;s permissions with the given UID. The operation is idempotent and all permissions of the role will be replaced with what is in the request. You would need to increment the version of the role with each update, otherwise the request will fail.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only update custom roles with the same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to update a custom role which allows to do that. This is done to prevent escalation of privileges.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles:write&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-4&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/access-control/roles/jZrmlLCGka
Accept: application/json
Content-Type: application/json

{
    &amp;#34;version&amp;#34;: 3,
    &amp;#34;name&amp;#34;: &amp;#34;custom:delete:write:roles&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;custom delete write roles&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;My custom role which gives users permissions to delete and write roles&amp;#34;,
    &amp;#34;group&amp;#34;:&amp;#34;My Group&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;My Custom Role&amp;#34;,
    &amp;#34;global&amp;#34;: false,
    &amp;#34;permissions&amp;#34;: [
        {
            &amp;#34;action&amp;#34;: &amp;#34;roles:delete&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;permissions:delegate&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;roles:write&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;permissions:delegate&amp;#34;
        }
    ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;json-body-schema-1&#34;&gt;JSON body schema&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Data Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;version&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Version of the role. Must be incremented for update to work.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;name&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Name of the role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;description&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Description of the role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;displayName&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Display name of the role, visible in the UI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;group&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;The group name the role belongs to.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;permissions&lt;/td&gt;
              &lt;td&gt;List of Permissions&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;The full list of permissions the role should have after the update.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Permission&lt;/strong&gt;&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Data Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;action&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Refer to &lt;a href=&#34;../../enterprise/access-control/permissions/&#34;&gt;Permissions&lt;/a&gt; for full list of available actions.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;scope&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;If not present, no scope will be mapped to the permission. Refer to &lt;a href=&#34;../../enterprise/access-control/permissions/#scope-definitions&#34;&gt;Permissions&lt;/a&gt; for full list of available scopes.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-4&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;version&amp;#34;:3,
    &amp;#34;uid&amp;#34;:&amp;#34;jZrmlLCGka&amp;#34;,
    &amp;#34;name&amp;#34;:&amp;#34;custom:delete:write:roles&amp;#34;,
    &amp;#34;displayName&amp;#34;:&amp;#34;custom delete write roles&amp;#34;,
    &amp;#34;description&amp;#34;:&amp;#34;My custom role which gives users permissions to delete and write roles&amp;#34;,
    &amp;#34;group&amp;#34;:&amp;#34;My Group&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;My Custom Role&amp;#34;,
    &amp;#34;permissions&amp;#34;:[
        {
            &amp;#34;action&amp;#34;:&amp;#34;roles:delete&amp;#34;,
            &amp;#34;scope&amp;#34;:&amp;#34;permissions:delegate&amp;#34;,
            &amp;#34;updated&amp;#34;:&amp;#34;2021-08-06T18:27:40&amp;#43;02:00&amp;#34;,
            &amp;#34;created&amp;#34;:&amp;#34;2021-08-06T18:27:40&amp;#43;02:00&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;:&amp;#34;roles:write&amp;#34;,
            &amp;#34;scope&amp;#34;:&amp;#34;permissions:delegate&amp;#34;,
            &amp;#34;updated&amp;#34;:&amp;#34;2021-08-06T18:27:41&amp;#43;02:00&amp;#34;,
            &amp;#34;created&amp;#34;:&amp;#34;2021-08-06T18:27:41&amp;#43;02:00&amp;#34;
        }
    ],
    &amp;#34;updated&amp;#34;:&amp;#34;2021-08-06T18:27:41&amp;#43;02:00&amp;#34;,
    &amp;#34;created&amp;#34;:&amp;#34;2021-08-06T18:27:40&amp;#43;02:00&amp;#34;,
    &amp;#34;global&amp;#34;:false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-4&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role is updated.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Role was not found to update.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;delete-a-custom-role&#34;&gt;Delete a custom role&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/access-control/roles/:uid?force=false&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Delete a role with the given UID, and it&amp;rsquo;s permissions. If the role is assigned to a built-in role, the deletion operation will fail, unless &lt;code&gt;force&lt;/code&gt; query param is set to &lt;code&gt;true&lt;/code&gt;, and in that case all assignments will also be deleted.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-5&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only delete a custom role with the same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to delete a custom role which allows to do that.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles:delete&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-5&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/access-control/roles/jZrmlLCGka?force=true&amp;amp;global=false
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;query-parameters&#34;&gt;Query parameters&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Param&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;force&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;When set to &lt;code&gt;true&lt;/code&gt;, the role will be deleted with all it&amp;rsquo;s assignments.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the role is global or not. If set to false, the default org ID of the authenticated user will be used from the request. Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#built-in-role-assignments&#34;&gt;Role scopes&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-5&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;message&amp;#34;: &amp;#34;Role deleted&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-5&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role is deleted.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;create-and-remove-user-role-assignments&#34;&gt;Create and remove user role assignments&lt;/h2&gt;
&lt;h3 id=&#34;list-roles-assigned-to-a-user&#34;&gt;List roles assigned to a user&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/users/:userId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the roles that have been directly assigned to a given user. The list does not include built-in roles (Viewer, Editor, Admin or Grafana Admin), and it does not include roles that have been inherited from a team.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-6&#34;&gt;Required permissions&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:list&lt;/td&gt;
              &lt;td&gt;users:id:&lt;code&gt;&amp;lt;user ID&amp;gt;&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-6&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/access-control/users/1/roles
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-6&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

[
    {
        &amp;#34;version&amp;#34;: 4,
        &amp;#34;uid&amp;#34;: &amp;#34;6dNwJq57z&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;fixed:reports:writer&amp;#34;,
        &amp;#34;displayName&amp;#34;: &amp;#34;Report writer&amp;#34;,
        &amp;#34;description&amp;#34;: &amp;#34;Create, read, update, or delete all reports and shared report settings.&amp;#34;,
        &amp;#34;group&amp;#34;: &amp;#34;Reports&amp;#34;,
        &amp;#34;updated&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
        &amp;#34;created&amp;#34;: &amp;#34;2021-11-19T10:48:00&amp;#43;01:00&amp;#34;,
        &amp;#34;global&amp;#34;: false
    }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-6&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Set of assigned roles is returned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;list-permissions-assigned-to-a-user&#34;&gt;List permissions assigned to a user&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/users/:userId/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the permissions that a given user has.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-7&#34;&gt;Required permissions&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.permissions:list&lt;/td&gt;
              &lt;td&gt;users:id:&lt;code&gt;&amp;lt;user ID&amp;gt;&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-7&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/access-control/users/1/permissions
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-7&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

[
    {
        &amp;#34;action&amp;#34;: &amp;#34;ldap.status:read&amp;#34;,
        &amp;#34;scope&amp;#34;: &amp;#34;&amp;#34;
    },
    {
        &amp;#34;action&amp;#34;: &amp;#34;ldap.user:read&amp;#34;,
        &amp;#34;scope&amp;#34;: &amp;#34;&amp;#34;
    }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-7&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Set of assigned permissions is returned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;add-a-user-role-assignment&#34;&gt;Add a user role assignment&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/users/:userId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Assign a role to a specific user.&lt;/p&gt;
&lt;p&gt;For bulk updates consider
&lt;a href=&#34;#set-user-role-assignments&#34;&gt;Set user role assignments&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-8&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only assign roles which have same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to assign a role which will allow to do that. This is done to prevent escalation of privileges.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:add&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-8&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/access-control/users/1/roles
Accept: application/json
Content-Type: application/json

{
    &amp;#34;global&amp;#34;: false,
    &amp;#34;roleUid&amp;#34;: &amp;#34;XvHQJq57z&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;json-body-schema-2&#34;&gt;JSON body schema&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Data Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roleUid&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;UID of the role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the assignment is global or not. If set to &lt;code&gt;false&lt;/code&gt;, the default org ID of the authenticated user will be used from the request to create organization local assignment.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-8&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;message&amp;#34;: &amp;#34;Role added to the user.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-8&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role is assigned to a user.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Role not found.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;remove-a-user-role-assignment&#34;&gt;Remove a user role assignment&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/access-control/users/:userId/roles/:roleUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Revoke a role from a user.&lt;/p&gt;
&lt;p&gt;For bulk updates consider
&lt;a href=&#34;#set-user-role-assignments&#34;&gt;Set user role assignments&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-9&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only unassign roles which have same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to unassign a role which will allow to do that. This is done to prevent escalation of privileges.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:remove&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;query-parameters-1&#34;&gt;Query parameters&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Param&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the assignment is global or not. If set to &lt;code&gt;false&lt;/code&gt;, the default org ID of the authenticated user will be used from the request to remove assignment.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-9&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/access-control/users/1/roles/AFUXBHKnk
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-9&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;message&amp;#34;: &amp;#34;Role removed from user.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-9&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role is unassigned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;set-user-role-assignments&#34;&gt;Set user role assignments&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /api/access-control/users/:userId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Update the user&amp;rsquo;s role assignments to match the provided set of UIDs.
This will remove any assigned roles that aren&amp;rsquo;t in the request and add
roles that are in the set but are not already assigned to the user.&lt;/p&gt;
&lt;p&gt;If you want to add or remove a single role, consider using
&lt;a href=&#34;#add-a-user-role-assignment&#34;&gt;Add a user role assignment&lt;/a&gt; or
&lt;a href=&#34;#remove-a-user-role-assignment&#34;&gt;Remove a user role assignment&lt;/a&gt;
instead.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-10&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only assign or unassign roles which have same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to assign or unassign a role which will allow to do that. This is done to prevent escalation of privileges.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:add&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:remove&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-10&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/access-control/users/1/roles
Accept: application/json
Content-Type: application/json

{
    &amp;#34;global&amp;#34;: false,
    &amp;#34;roleUids&amp;#34;: [
        &amp;#34;ZiHQJq5nk&amp;#34;,
        &amp;#34;GzNQ1357k&amp;#34;
    ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;json-body-schema-3&#34;&gt;JSON body schema&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Date Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the assignment is global or not. If set to &lt;code&gt;false&lt;/code&gt;, the default org ID of the authenticated user will be used from the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;roleUids&lt;/td&gt;
              &lt;td&gt;list&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;List of role UIDs.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-10&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;message&amp;#34;: &amp;#34;User roles have been updated.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-10&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Roles have been assigned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Role not found.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;create-and-remove-built-in-role-assignments&#34;&gt;Create and remove built-in role assignments&lt;/h2&gt;
&lt;p&gt;API set allows to create or remove &lt;a href=&#34;../../enterprise/access-control/roles/#built-in-role-assignments&#34;&gt;built-in role assignments&lt;/a&gt; and list current assignments.&lt;/p&gt;
&lt;h3 id=&#34;get-all-built-in-role-assignments&#34;&gt;Get all built-in role assignments&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/builtin-roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all built-in role assignments.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-11&#34;&gt;Required permissions&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles.builtin:list&lt;/td&gt;
              &lt;td&gt;roles:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-11&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/access-control/builtin-roles
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-11&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;Admin&amp;#34;: [
        {
            &amp;#34;version&amp;#34;: 1,
            &amp;#34;uid&amp;#34;: &amp;#34;qQui_LCMk&amp;#34;,
            &amp;#34;name&amp;#34;: &amp;#34;fixed:users:writer&amp;#34;,
            &amp;#34;name&amp;#34;: &amp;#34;User writer&amp;#34;,
            &amp;#34;description&amp;#34;: &amp;#34;Read and update all attributes and settings for all users in Grafana: update user information, read user information, create or enable or disable a user, make a user a Grafana administrator, sign out a user, update a user’s authentication token, or update quotas for all users&amp;#34;,
            &amp;#34;global&amp;#34;: true,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;
        },
        {
            &amp;#34;version&amp;#34;: 1,
            &amp;#34;uid&amp;#34;: &amp;#34;PeXmlYjMk&amp;#34;,
            &amp;#34;name&amp;#34;: &amp;#34;fixed:users:reader&amp;#34;,
            &amp;#34;displayName&amp;#34;: &amp;#34;User reader&amp;#34;,
            &amp;#34;description&amp;#34;: &amp;#34;Allows every read action for user organizations and in addition allows to administer user organizations&amp;#34;,
            &amp;#34;global&amp;#34;: true,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;
        }
    ],
    &amp;#34;Grafana Admin&amp;#34;: [
        {
            &amp;#34;version&amp;#34;: 1,
            &amp;#34;uid&amp;#34;: &amp;#34;qQui_LCMk&amp;#34;,
            &amp;#34;name&amp;#34;: &amp;#34;fixed:users:writer&amp;#34;,
            &amp;#34;displayName&amp;#34;: &amp;#34;User writer&amp;#34;,
            &amp;#34;description&amp;#34;: &amp;#34;Read and update all attributes and settings for all users in Grafana: update user information, read user information, create or enable or disable a user, make a user a Grafana administrator, sign out a user, update a user’s authentication token, or update quotas for all users&amp;#34;,
            &amp;#34;global&amp;#34;: true,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;,
            &amp;#34;created&amp;#34;: &amp;#34;2021-05-13T16:24:26&amp;#43;02:00&amp;#34;
        }
    ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-11&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Built-in role assignments are returned.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;create-a-built-in-role-assignment&#34;&gt;Create a built-in role assignment&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/builtin-roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new built-in role assignment.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-12&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only create built-in role assignments with the roles which have same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to create a built-in role assignment which will allow to do that. This is done to prevent escalation of privileges.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles.builtin:add&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-12&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/access-control/builtin-roles
Accept: application/json
Content-Type: application/json

{
    &amp;#34;roleUid&amp;#34;: &amp;#34;LPMGN99Mk&amp;#34;,
    &amp;#34;builtinRole&amp;#34;: &amp;#34;Grafana Admin&amp;#34;,
    &amp;#34;global&amp;#34;: false
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;json-body-schema-4&#34;&gt;JSON body schema&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field Name&lt;/th&gt;
              &lt;th&gt;Date Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roleUid&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;UID of the role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;builtinRole&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
              &lt;td&gt;Can be one of &lt;code&gt;Viewer&lt;/code&gt;, &lt;code&gt;Editor&lt;/code&gt;, &lt;code&gt;Admin&lt;/code&gt; or &lt;code&gt;Grafana Admin&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the assignment is global or not. If set to &lt;code&gt;false&lt;/code&gt;, the default org ID of the authenticated user will be used from the request to create organization local assignment. Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#built-in-role-assignments&#34;&gt;Built-in role assignments&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-12&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;message&amp;#34;: &amp;#34;Built-in role grant added&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-12&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role was assigned to built-in role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Role not found&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;remove-a-built-in-role-assignment&#34;&gt;Remove a built-in role assignment&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/access-control/builtin-roles/:builtinRole/roles/:roleUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes a built-in role assignment (for one of &lt;em&gt;Viewer&lt;/em&gt;, &lt;em&gt;Editor&lt;/em&gt;, &lt;em&gt;Admin&lt;/em&gt;, or &lt;em&gt;Grafana Admin&lt;/em&gt;) to the role with the provided UID.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-13&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permission:delegate&lt;/code&gt; scope ensures that users can only remove built-in role assignments with the roles which have same, or a subset of permissions which the user has.
For example, if a user does not have required permissions for creating users, they won&amp;rsquo;t be able to remove a built-in role assignment which allows to do that.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;roles.builtin:remove&lt;/td&gt;
              &lt;td&gt;permissions:delegate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-13&#34;&gt;Example request&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/access-control/builtin-roles/Grafana%20Admin/roles/LPMGN99Mk?global=false
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;query-parameters-2&#34;&gt;Query parameters&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Param&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;global&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag indicating if the assignment is global or not. If set to &lt;code&gt;false&lt;/code&gt;, the default org ID of the authenticated user will be used from the request to remove assignment. Refer to the &lt;a href=&#34;../../enterprise/access-control/roles/#built-in-role-assignments&#34;&gt;Built-in role assignments&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-13&#34;&gt;Example response&lt;/h4&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8

{
    &amp;#34;message&amp;#34;: &amp;#34;Built-in role grant removed&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-13&#34;&gt;Status codes&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Role was unassigned from built-in role.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;Access denied&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Role not found.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to body and/or server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="fine-grained-access-control-api">Fine-grained access control API&lt;/h1>
&lt;blockquote>
&lt;p>Fine-grained access control API is only available in Grafana Enterprise. Read more about &lt;a href="../../enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;p>The API can be used to create, update, get and list roles, and create or remove built-in role assignments.
To use the API, you would need to &lt;a href="../../enterprise/access-control/#enable-fine-grained-access-control">enable fine-grained access control&lt;/a>.&lt;/p></description></item><item><title>Folder HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/folder/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/folder/</guid><content><![CDATA[&lt;h1 id=&#34;folder-api&#34;&gt;Folder API&lt;/h1&gt;
&lt;h2 id=&#34;identifier-id-vs-unique-identifier-uid&#34;&gt;Identifier (id) vs unique identifier (uid)&lt;/h2&gt;
&lt;p&gt;The identifier (id) of a folder is an auto-incrementing numeric value and is only unique per Grafana install.&lt;/p&gt;
&lt;p&gt;The unique identifier (uid) of a folder can be used for uniquely identify folders between multiple Grafana installs. It&amp;rsquo;s automatically generated if not provided when creating a folder. The uid allows having consistent URLs for accessing folders and when syncing folders between multiple Grafana installs. This means that changing the title of a folder will not break any bookmarked links to that folder.&lt;/p&gt;
&lt;p&gt;The uid can have a maximum length of 40 characters.&lt;/p&gt;
&lt;h2 id=&#34;a-note-about-the-general-folder&#34;&gt;A note about the General folder&lt;/h2&gt;
&lt;p&gt;The General folder (id=0) is special and is not part of the Folder API which means
that you cannot use this API for retrieving information about the General folder.&lt;/p&gt;
&lt;h2 id=&#34;get-all-folders&#34;&gt;Get all folders&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/folders&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns all folders that the authenticated user has permission to view. You can control the maximum number of folders returned through the &lt;code&gt;limit&lt;/code&gt; query parameter, the default is 1000. You can also pass the &lt;code&gt;page&lt;/code&gt; query parameter for fetching folders from a page other than the first one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/folders?limit=10 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;:1,
    &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Department ABC&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;:2,
    &amp;#34;uid&amp;#34;: &amp;#34;k3S1cklGk&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Department RND&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-folder-by-uid&#34;&gt;Get folder by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/folders/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will return the folder given the folder uid.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/folders/nErXDvCkzzh HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;Department ABC&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;/dashboards/f/nErXDvCkzz/department-abc&amp;#34;,
  &amp;#34;hasAcl&amp;#34;: false,
  &amp;#34;canSave&amp;#34;: true,
  &amp;#34;canEdit&amp;#34;: true,
  &amp;#34;canAdmin&amp;#34;: true,
  &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;created&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;updatedBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Folder not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-folder&#34;&gt;Create folder&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/folders&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new folder.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/folders HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;Department ABC&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;uid&lt;/strong&gt; – Optional &lt;a href=&#34;/http_api/folder/#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;title&lt;/strong&gt; – The title of the folder.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;Department ABC&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;/dashboards/f/nErXDvCkzz/department-abc&amp;#34;,
  &amp;#34;hasAcl&amp;#34;: false,
  &amp;#34;canSave&amp;#34;: true,
  &amp;#34;canEdit&amp;#34;: true,
  &amp;#34;canAdmin&amp;#34;: true,
  &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;created&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;updatedBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Created&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (invalid json, missing or invalid fields, etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;409&lt;/strong&gt; - Folder already exists&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-folder&#34;&gt;Update folder&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/folders/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing folder identified by uid.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/folders/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;title&amp;#34;:&amp;#34;Department DEF&amp;#34;,
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;uid&lt;/strong&gt; – Provide another &lt;a href=&#34;/http_api/folder/#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt; than stored to change the unique identifier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;title&lt;/strong&gt; – The title of the folder.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;version&lt;/strong&gt; – Provide the current version to be able to update the folder. Not needed if &lt;code&gt;overwrite=true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;overwrite&lt;/strong&gt; – Set to true if you want to overwrite existing folder with newer version.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;Department DEF&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;/dashboards/f/nErXDvCkzz/department-def&amp;#34;,
  &amp;#34;hasAcl&amp;#34;: false,
  &amp;#34;canSave&amp;#34;: true,
  &amp;#34;canEdit&amp;#34;: true,
  &amp;#34;canAdmin&amp;#34;: true,
  &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;created&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;updatedBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (invalid json, missing or invalid fields, etc)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Folder not found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;412&lt;/strong&gt; – Precondition failed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;strong&gt;412&lt;/strong&gt; status code is used for explaining that you cannot update the folder and why.
There can be different reasons for this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The folder has been changed by someone else, &lt;code&gt;status=version-mismatch&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The response body will have the following properties:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97

{
  &amp;#34;message&amp;#34;: &amp;#34;The folder has been changed by someone else&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;version-mismatch&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-folder&#34;&gt;Delete folder&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/folders/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes an existing folder identified by UID along with all dashboards (and their alerts) stored in the folder. This operation cannot be reverted.&lt;/p&gt;
&lt;p&gt;If &lt;a href=&#34;../../alerting/unified-alerting/&#34;&gt;Grafana 8 Alerts&lt;/a&gt; are enabled, you can set an optional query parameter &lt;code&gt;forceDeleteRules=false&lt;/code&gt; so that requests will fail with 400 (Bad Request) error if the folder contains any Grafana 8 Alerts. However, if this parameter is set to &lt;code&gt;true&lt;/code&gt; then it will delete any Grafana 8 Alerts under this folder.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/folders/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;:&amp;#34;Folder deleted&amp;#34;,
  &amp;#34;id&amp;#34;: 2
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Deleted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Bad Request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Folder not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-folder-by-id&#34;&gt;Get folder by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/folders/id/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will return the folder identified by id.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/folders/id/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;Department ABC&amp;#34;,
  &amp;#34;url&amp;#34;: &amp;#34;/dashboards/f/nErXDvCkzz/department-abc&amp;#34;,
  &amp;#34;hasAcl&amp;#34;: false,
  &amp;#34;canSave&amp;#34;: true,
  &amp;#34;canEdit&amp;#34;: true,
  &amp;#34;canAdmin&amp;#34;: true,
  &amp;#34;createdBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;created&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;updatedBy&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2018-01-31T17:43:12&amp;#43;01:00&amp;#34;,
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Folder not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="folder-api">Folder API&lt;/h1>
&lt;h2 id="identifier-id-vs-unique-identifier-uid">Identifier (id) vs unique identifier (uid)&lt;/h2>
&lt;p>The identifier (id) of a folder is an auto-incrementing numeric value and is only unique per Grafana install.&lt;/p></description></item><item><title>Folder Permissions HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/folder_permissions/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/folder_permissions/</guid><content><![CDATA[&lt;h1 id=&#34;folder-permissions-api&#34;&gt;Folder Permissions API&lt;/h1&gt;
&lt;p&gt;This API can be used to update/get the permissions for a folder.&lt;/p&gt;
&lt;p&gt;Permissions with &lt;code&gt;folderId=-1&lt;/code&gt; are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.&lt;/p&gt;
&lt;p&gt;The permission levels for the permission field:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1 = View&lt;/li&gt;
&lt;li&gt;2 = Edit&lt;/li&gt;
&lt;li&gt;4 = Admin&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-permissions-for-a-folder&#34;&gt;Get permissions for a folder&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/folders/:uid/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing permissions for the folder with the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/folders/nErXDvCkzz/permissions HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;folderId&amp;#34;: -1,
    &amp;#34;created&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;updated&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;userId&amp;#34;: 0,
    &amp;#34;userLogin&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;userEmail&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;teamId&amp;#34;: 0,
    &amp;#34;team&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
    &amp;#34;permission&amp;#34;: 1,
    &amp;#34;permissionName&amp;#34;: &amp;#34;View&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;slug&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;isFolder&amp;#34;: false,
    &amp;#34;url&amp;#34;: &amp;#34;&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 2,
    &amp;#34;dashboardId&amp;#34;: -1,
    &amp;#34;created&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;updated&amp;#34;: &amp;#34;2017-06-20T02:00:00&amp;#43;02:00&amp;#34;,
    &amp;#34;userId&amp;#34;: 0,
    &amp;#34;userLogin&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;userEmail&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;teamId&amp;#34;: 0,
    &amp;#34;team&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Editor&amp;#34;,
    &amp;#34;permission&amp;#34;: 2,
    &amp;#34;permissionName&amp;#34;: &amp;#34;Edit&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;slug&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;isFolder&amp;#34;: false,
    &amp;#34;url&amp;#34;: &amp;#34;&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Folder not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-permissions-for-a-folder&#34;&gt;Update permissions for a folder&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/folders/:uid/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates permissions for a folder. This operation will remove existing permissions if they&amp;rsquo;re not included in the request.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/folders/nErXDvCkzz/permissions
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
      &amp;#34;permission&amp;#34;: 1
    },
    {
      &amp;#34;role&amp;#34;: &amp;#34;Editor&amp;#34;,
      &amp;#34;permission&amp;#34;: 2
    },
    {
      &amp;#34;teamId&amp;#34;: 1,
      &amp;#34;permission&amp;#34;: 1
    },
    {
      &amp;#34;userId&amp;#34;: 11,
      &amp;#34;permission&amp;#34;: 4
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;items&lt;/strong&gt; - The permission items to add/update. Items that are omitted from the list will be removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;:&amp;#34;Folder permissions updated&amp;#34;,&amp;#34;id&amp;#34;:1,&amp;#34;title&amp;#34;:&amp;#34;Department ABC&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Dashboard not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="folder-permissions-api">Folder Permissions API&lt;/h1>
&lt;p>This API can be used to update/get the permissions for a folder.&lt;/p>
&lt;p>Permissions with &lt;code>folderId=-1&lt;/code> are the default permissions for users with the Viewer and Editor roles. Permissions can be set for a user, a team or a role (Viewer or Editor). Permissions cannot be set for Admins - they always have access to everything.&lt;/p></description></item><item><title>Folder/Dashboard Search HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/folder_dashboard_search/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/folder_dashboard_search/</guid><content><![CDATA[&lt;h1 id=&#34;folderdashboard-search-api&#34;&gt;Folder/Dashboard Search API&lt;/h1&gt;
&lt;h2 id=&#34;search-folders-and-dashboards&#34;&gt;Search folders and dashboards&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/search/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Query parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;query&lt;/strong&gt; – Search Query&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tag&lt;/strong&gt; – List of tags to search for&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;type&lt;/strong&gt; – Type to search for, &lt;code&gt;dash-folder&lt;/code&gt; or &lt;code&gt;dash-db&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dashboardIds&lt;/strong&gt; – List of dashboard id&amp;rsquo;s to search for&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;folderIds&lt;/strong&gt; – List of folder id&amp;rsquo;s to search in for dashboards&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;starred&lt;/strong&gt; – Flag indicating if only starred Dashboards should be returned&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; – Limit the number of returned results (max is 5000; default is 1000)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;page&lt;/strong&gt; – Use this parameter to access hits beyond limit. Numbering starts at 1. limit param acts as page size. Only available in Grafana v6.2&#43;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example request for retrieving folders and dashboards of the general folder&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/search?folderIds=0&amp;amp;query=&amp;amp;starred=false HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response for retrieving folders and dashboards of the general folder&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 163,
    &amp;#34;uid&amp;#34;: &amp;#34;000000163&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Folder&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;/dashboards/f/000000163/folder&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;dash-folder&amp;#34;,
    &amp;#34;tags&amp;#34;: [],
    &amp;#34;isStarred&amp;#34;: false,
    &amp;#34;uri&amp;#34;:&amp;#34;db/folder&amp;#34; // deprecated in Grafana v5.0
  },
  {
    &amp;#34;id&amp;#34;:1,
    &amp;#34;uid&amp;#34;: &amp;#34;cIBgcSjkk&amp;#34;,
    &amp;#34;title&amp;#34;:&amp;#34;Production Overview&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;/d/cIBgcSjkk/production-overview&amp;#34;,
    &amp;#34;type&amp;#34;:&amp;#34;dash-db&amp;#34;,
    &amp;#34;tags&amp;#34;:[prod],
    &amp;#34;isStarred&amp;#34;:true,
    &amp;#34;uri&amp;#34;:&amp;#34;db/production-overview&amp;#34; // deprecated in Grafana v5.0
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example request searching for dashboards&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/search?query=Production%20Overview&amp;amp;starred=true&amp;amp;tag=prod HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response searching for dashboards&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;:1,
    &amp;#34;uid&amp;#34;: &amp;#34;cIBgcSjkk&amp;#34;,
    &amp;#34;title&amp;#34;:&amp;#34;Production Overview&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;/d/cIBgcSjkk/production-overview&amp;#34;,
    &amp;#34;type&amp;#34;:&amp;#34;dash-db&amp;#34;,
    &amp;#34;tags&amp;#34;:[prod],
    &amp;#34;isStarred&amp;#34;:true,
    &amp;#34;folderId&amp;#34;: 2,
    &amp;#34;folderUid&amp;#34;: &amp;#34;000000163&amp;#34;,
    &amp;#34;folderTitle&amp;#34;: &amp;#34;Folder&amp;#34;,
    &amp;#34;folderUrl&amp;#34;: &amp;#34;/dashboards/f/000000163/folder&amp;#34;,
    &amp;#34;uri&amp;#34;:&amp;#34;db/production-overview&amp;#34; // deprecated in Grafana v5.0
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="folderdashboard-search-api">Folder/Dashboard Search API&lt;/h1>
&lt;h2 id="search-folders-and-dashboards">Search folders and dashboards&lt;/h2>
&lt;p>&lt;code>GET /api/search/&lt;/code>&lt;/p>
&lt;p>Query parameters:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>query&lt;/strong> – Search Query&lt;/li>
&lt;li>&lt;strong>tag&lt;/strong> – List of tags to search for&lt;/li>
&lt;li>&lt;strong>type&lt;/strong> – Type to search for, &lt;code>dash-folder&lt;/code> or &lt;code>dash-db&lt;/code>&lt;/li>
&lt;li>&lt;strong>dashboardIds&lt;/strong> – List of dashboard id&amp;rsquo;s to search for&lt;/li>
&lt;li>&lt;strong>folderIds&lt;/strong> – List of folder id&amp;rsquo;s to search in for dashboards&lt;/li>
&lt;li>&lt;strong>starred&lt;/strong> – Flag indicating if only starred Dashboards should be returned&lt;/li>
&lt;li>&lt;strong>limit&lt;/strong> – Limit the number of returned results (max is 5000; default is 1000)&lt;/li>
&lt;li>&lt;strong>page&lt;/strong> – Use this parameter to access hits beyond limit. Numbering starts at 1. limit param acts as page size. Only available in Grafana v6.2+.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Example request for retrieving folders and dashboards of the general folder&lt;/strong>:&lt;/p></description></item><item><title>HTTP Preferences API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/preferences/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/preferences/</guid><content><![CDATA[&lt;h1 id=&#34;user-and-org-preferences-api&#34;&gt;User and Org Preferences API&lt;/h1&gt;
&lt;p&gt;Keys:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;theme&lt;/strong&gt; - One of: &lt;code&gt;light&lt;/code&gt;, &lt;code&gt;dark&lt;/code&gt;, or an empty string for the default theme&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;homeDashboardId&lt;/strong&gt; - The numerical &lt;code&gt;:id&lt;/code&gt; of a favorited dashboard, default: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;timezone&lt;/strong&gt; - One of: &lt;code&gt;utc&lt;/code&gt;, &lt;code&gt;browser&lt;/code&gt;, or an empty string for the default&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Omitting a key will cause the current value to be replaced with the
system default value.&lt;/p&gt;
&lt;h2 id=&#34;get-current-user-prefs&#34;&gt;Get Current User Prefs&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/user/preferences&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/user/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;theme&amp;#34;:&amp;#34;&amp;#34;,&amp;#34;homeDashboardId&amp;#34;:0,&amp;#34;timezone&amp;#34;:&amp;#34;&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-current-user-prefs&#34;&gt;Update Current User Prefs&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/user/preferences&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/user/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;theme&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;homeDashboardId&amp;#34;:0,
  &amp;#34;timezone&amp;#34;:&amp;#34;utc&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: text/plain; charset=utf-8

{&amp;#34;message&amp;#34;:&amp;#34;Preferences updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-current-org-prefs&#34;&gt;Get Current Org Prefs&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/org/preferences&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/org/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;theme&amp;#34;:&amp;#34;&amp;#34;,&amp;#34;homeDashboardId&amp;#34;:0,&amp;#34;timezone&amp;#34;:&amp;#34;&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-current-org-prefs&#34;&gt;Update Current Org Prefs&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/org/preferences&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/org/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;theme&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;homeDashboardId&amp;#34;:0,
  &amp;#34;timezone&amp;#34;:&amp;#34;utc&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: text/plain; charset=utf-8

{&amp;#34;message&amp;#34;:&amp;#34;Preferences updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="user-and-org-preferences-api">User and Org Preferences API&lt;/h1>
&lt;p>Keys:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>theme&lt;/strong> - One of: &lt;code>light&lt;/code>, &lt;code>dark&lt;/code>, or an empty string for the default theme&lt;/li>
&lt;li>&lt;strong>homeDashboardId&lt;/strong> - The numerical &lt;code>:id&lt;/code> of a favorited dashboard, default: &lt;code>0&lt;/code>&lt;/li>
&lt;li>&lt;strong>timezone&lt;/strong> - One of: &lt;code>utc&lt;/code>, &lt;code>browser&lt;/code>, or an empty string for the default&lt;/li>
&lt;/ul>
&lt;p>Omitting a key will cause the current value to be replaced with the
system default value.&lt;/p></description></item><item><title>HTTP Snapshot API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/snapshot/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/snapshot/</guid><content><![CDATA[&lt;h1 id=&#34;snapshot-api&#34;&gt;Snapshot API&lt;/h1&gt;
&lt;h2 id=&#34;create-new-snapshot&#34;&gt;Create new snapshot&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/snapshots&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;    POST /api/snapshots HTTP/1.1
    Accept: application/json
    Content-Type: application/json
    Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

    {
      &amp;#34;dashboard&amp;#34;: {
        &amp;#34;editable&amp;#34;:false,
        &amp;#34;hideControls&amp;#34;:true,
        &amp;#34;nav&amp;#34;:[
        {
          &amp;#34;enable&amp;#34;:false,
        &amp;#34;type&amp;#34;:&amp;#34;timepicker&amp;#34;
        }
        ],
        &amp;#34;rows&amp;#34;: [
          {

          }
        ],
        &amp;#34;style&amp;#34;:&amp;#34;dark&amp;#34;,
        &amp;#34;tags&amp;#34;:[],
        &amp;#34;templating&amp;#34;:{
          &amp;#34;list&amp;#34;:[
          ]
        },
        &amp;#34;time&amp;#34;:{
        },
        &amp;#34;timezone&amp;#34;:&amp;#34;browser&amp;#34;,
        &amp;#34;title&amp;#34;:&amp;#34;Home&amp;#34;,
        &amp;#34;version&amp;#34;:5
        },
      &amp;#34;expires&amp;#34;: 3600
    }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;dashboard&lt;/strong&gt; – Required. The complete dashboard model.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;name&lt;/strong&gt; – Optional. snapshot name&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;expires&lt;/strong&gt; - Optional. When the snapshot should expire in seconds. 3600 is 1 hour, 86400 is 1 day. Default is never to expire.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;external&lt;/strong&gt; - Optional. Save the snapshot on an external server rather than locally. Default is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;key&lt;/strong&gt; - Optional. Define the unique key. Required if &lt;strong&gt;external&lt;/strong&gt; is &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deleteKey&lt;/strong&gt; - Optional. Unique key used to delete the snapshot. It is different from the &lt;strong&gt;key&lt;/strong&gt; so that only the creator can delete the snapshot. Required if &lt;strong&gt;external&lt;/strong&gt; is &lt;code&gt;true&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; When creating a snapshot using the API, you have to provide the full dashboard payload including the snapshot data. This endpoint is designed for the Grafana UI.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;    HTTP/1.1 200
    Content-Type: application/json
    {
      &amp;#34;deleteKey&amp;#34;:&amp;#34;XXXXXXX&amp;#34;,
      &amp;#34;deleteUrl&amp;#34;:&amp;#34;myurl/api/snapshots-delete/XXXXXXX&amp;#34;,
      &amp;#34;key&amp;#34;:&amp;#34;YYYYYYY&amp;#34;,
      &amp;#34;url&amp;#34;:&amp;#34;myurl/dashboard/snapshot/YYYYYYY&amp;#34;,
      &amp;#34;id&amp;#34;: 1
    }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Keys:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;deleteKey&lt;/strong&gt; – Key generated to delete the snapshot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;key&lt;/strong&gt; – Key generated to share the dashboard&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-list-of-snapshots&#34;&gt;Get list of Snapshots&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboard/snapshots&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Query parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;query&lt;/strong&gt; – Search Query&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; – Limit the number of returned results&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/dashboard/snapshots HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;:8,
    &amp;#34;name&amp;#34;:&amp;#34;Home&amp;#34;,
    &amp;#34;key&amp;#34;:&amp;#34;YYYYYYY&amp;#34;,
    &amp;#34;orgId&amp;#34;:1,
    &amp;#34;userId&amp;#34;:1,
    &amp;#34;external&amp;#34;:false,
    &amp;#34;externalUrl&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;expires&amp;#34;:&amp;#34;2200-13-32T25:23:23&amp;#43;02:00&amp;#34;,
    &amp;#34;created&amp;#34;:&amp;#34;2200-13-32T28:24:23&amp;#43;02:00&amp;#34;,
    &amp;#34;updated&amp;#34;:&amp;#34;2200-13-32T28:24:23&amp;#43;02:00&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-snapshot-by-key&#34;&gt;Get Snapshot by Key&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/snapshots/:key&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/snapshots/YYYYYYY HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;meta&amp;#34;:{
    &amp;#34;isSnapshot&amp;#34;:true,
    &amp;#34;type&amp;#34;:&amp;#34;snapshot&amp;#34;,
    &amp;#34;canSave&amp;#34;:false,
    &amp;#34;canEdit&amp;#34;:false,
    &amp;#34;canStar&amp;#34;:false,
    &amp;#34;slug&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;expires&amp;#34;:&amp;#34;2200-13-32T25:23:23&amp;#43;02:00&amp;#34;,
    &amp;#34;created&amp;#34;:&amp;#34;2200-13-32T28:24:23&amp;#43;02:00&amp;#34;
  },
  &amp;#34;dashboard&amp;#34;: {
    &amp;#34;editable&amp;#34;:false,
    &amp;#34;hideControls&amp;#34;:true,
    &amp;#34;nav&amp;#34;: [
      {
        &amp;#34;enable&amp;#34;:false,
        &amp;#34;type&amp;#34;:&amp;#34;timepicker&amp;#34;
      }
    ],
    &amp;#34;rows&amp;#34;: [
      {

      }
    ],
    &amp;#34;style&amp;#34;:&amp;#34;dark&amp;#34;,
    &amp;#34;tags&amp;#34;:[],
    &amp;#34;templating&amp;#34;:{
      &amp;#34;list&amp;#34;:[
      ]
    },
    &amp;#34;time&amp;#34;:{
    },
    &amp;#34;timezone&amp;#34;:&amp;#34;browser&amp;#34;,
    &amp;#34;title&amp;#34;:&amp;#34;Home&amp;#34;,
    &amp;#34;version&amp;#34;:5
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-snapshot-by-key&#34;&gt;Delete Snapshot by Key&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/snapshots/:key&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/snapshots/YYYYYYY HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Snapshot deleted. It might take an hour before it&amp;#39;s cleared from any CDN caches.&amp;#34;, &amp;#34;id&amp;#34;: 1}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-snapshot-by-deletekey&#34;&gt;Delete Snapshot by deleteKey&lt;/h2&gt;
&lt;p&gt;This API call can be used without authentication by using the secret delete key for the snapshot.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GET /api/snapshots-delete/:deleteKey&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/snapshots-delete/XXXXXXX HTTP/1.1
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Snapshot deleted. It might take an hour before it&amp;#39;s cleared from any CDN caches.&amp;#34;, &amp;#34;id&amp;#34;: 1}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="snapshot-api">Snapshot API&lt;/h1>
&lt;h2 id="create-new-snapshot">Create new snapshot&lt;/h2>
&lt;p>&lt;code>POST /api/snapshots&lt;/code>&lt;/p>
&lt;p>&lt;strong>Example Request&lt;/strong>:&lt;/p>
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">http&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-http"> POST /api/snapshots HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
&amp;#34;dashboard&amp;#34;: {
&amp;#34;editable&amp;#34;:false,
&amp;#34;hideControls&amp;#34;:true,
&amp;#34;nav&amp;#34;:[
{
&amp;#34;enable&amp;#34;:false,
&amp;#34;type&amp;#34;:&amp;#34;timepicker&amp;#34;
}
],
&amp;#34;rows&amp;#34;: [
{
}
],
&amp;#34;style&amp;#34;:&amp;#34;dark&amp;#34;,
&amp;#34;tags&amp;#34;:[],
&amp;#34;templating&amp;#34;:{
&amp;#34;list&amp;#34;:[
]
},
&amp;#34;time&amp;#34;:{
},
&amp;#34;timezone&amp;#34;:&amp;#34;browser&amp;#34;,
&amp;#34;title&amp;#34;:&amp;#34;Home&amp;#34;,
&amp;#34;version&amp;#34;:5
},
&amp;#34;expires&amp;#34;: 3600
}&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>JSON Body schema:&lt;/p></description></item><item><title>Library Element HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/library_element/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/library_element/</guid><content><![CDATA[&lt;h1 id=&#34;library-element-api&#34;&gt;Library Element API&lt;/h1&gt;
&lt;h2 id=&#34;identifier-id-vs-unique-identifier-uid&#34;&gt;Identifier (id) vs unique identifier (uid)&lt;/h2&gt;
&lt;p&gt;The identifier (ID) of a library element is an auto-incrementing numeric value that is unique per Grafana install.&lt;/p&gt;
&lt;p&gt;The unique identifier (UID) of a library element uniquely identifies library elements between multiple Grafana installs. It&amp;rsquo;s automatically generated unless you specify it during library element creation. The UID provides consistent URLs for accessing library elements and when syncing library elements between multiple Grafana installs.&lt;/p&gt;
&lt;p&gt;The maximum length of a UID is 40 characters.&lt;/p&gt;
&lt;h2 id=&#34;get-all-library-elements&#34;&gt;Get all library elements&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/library-elements&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns a list of all library elements the authenticated user has permission to view. Use the &lt;code&gt;perPage&lt;/code&gt; query parameter to control the maximum number of library elements returned; the default limit is 100. You can also use the &lt;code&gt;page&lt;/code&gt; query parameter to fetch library elements from any page other than the first one.&lt;/p&gt;
&lt;p&gt;Query parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;searchString&lt;/strong&gt; – Part of the name or description searched for.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kind&lt;/strong&gt; – Kind of element to search for. Use &lt;code&gt;1&lt;/code&gt; for library panels or &lt;code&gt;2&lt;/code&gt; for library variables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sortDirection&lt;/strong&gt; – Sort order of elements. Use &lt;code&gt;alpha-asc&lt;/code&gt; for ascending and &lt;code&gt;alpha-desc&lt;/code&gt; for descending sort order.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;typeFilter&lt;/strong&gt; – A comma separated list of types to filter the elements by.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;excludeUid&lt;/strong&gt; – Element UID to exclude from search results.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;folderFilter&lt;/strong&gt; – A comma separated list of folder ID(s) to filter the elements by.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;perPage&lt;/strong&gt; – The number of results per page; default is 100.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;page&lt;/strong&gt; – The page for a set of records, given that only &lt;code&gt;perPage&lt;/code&gt; records are returned at a time. Numbering starts at &lt;code&gt;1&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/library-elements?perPage=10 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;result&amp;#34;: {
     &amp;#34;totalCount&amp;#34;: 15,
     &amp;#34;page&amp;#34;: 1,
     &amp;#34;perPage&amp;#34;: 10
     &amp;#34;elements&amp;#34;: [
        {
            &amp;#34;id&amp;#34;: 25,
            &amp;#34;orgId&amp;#34;: 1,
            &amp;#34;folderId&amp;#34;: 0,
            &amp;#34;uid&amp;#34;: &amp;#34;V--OrYHnz&amp;#34;,
            &amp;#34;name&amp;#34;: &amp;#34;API docs Example&amp;#34;,
            &amp;#34;kind&amp;#34;: 1,
            &amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,
            &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;model&amp;#34;: {...},
            &amp;#34;version&amp;#34;: 1,
            &amp;#34;meta&amp;#34;: {
                &amp;#34;folderName&amp;#34;: &amp;#34;General&amp;#34;,
                &amp;#34;folderUid&amp;#34;: &amp;#34;&amp;#34;,
                &amp;#34;connectedDashboards&amp;#34;: 1,
                &amp;#34;created&amp;#34;: &amp;#34;2021-09-27T09:56:17&amp;#43;02:00&amp;#34;,
                &amp;#34;updated&amp;#34;: &amp;#34;2021-09-27T09:56:17&amp;#43;02:00&amp;#34;,
                &amp;#34;createdBy&amp;#34;: {
                    &amp;#34;id&amp;#34;: 1,
                    &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                    &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
                },
                &amp;#34;updatedBy&amp;#34;: {
                    &amp;#34;id&amp;#34;: 1,
                    &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                    &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
                }
            }
        },
        {...}
        {...}
     ],
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-library-element-by-uid&#34;&gt;Get library element by uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/library-elements/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns a library element with the given UID.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/library-elements/V--OrYHnz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;result&amp;#34;: {
      &amp;#34;id&amp;#34;: 25,
      &amp;#34;orgId&amp;#34;: 1,
      &amp;#34;folderId&amp;#34;: 0,
      &amp;#34;uid&amp;#34;: &amp;#34;V--OrYHnz&amp;#34;,
      &amp;#34;name&amp;#34;: &amp;#34;API docs Example&amp;#34;,
      &amp;#34;kind&amp;#34;: 1,
      &amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,
      &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;model&amp;#34;: {...},
      &amp;#34;version&amp;#34;: 1,
      &amp;#34;meta&amp;#34;: {
          &amp;#34;folderName&amp;#34;: &amp;#34;General&amp;#34;,
          &amp;#34;folderUid&amp;#34;: &amp;#34;&amp;#34;,
          &amp;#34;connectedDashboards&amp;#34;: 1,
          &amp;#34;created&amp;#34;: &amp;#34;2021-09-27T09:56:17&amp;#43;02:00&amp;#34;,
          &amp;#34;updated&amp;#34;: &amp;#34;2021-09-27T09:56:17&amp;#43;02:00&amp;#34;,
          &amp;#34;createdBy&amp;#34;: {
              &amp;#34;id&amp;#34;: 1,
              &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
              &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
          },
          &amp;#34;updatedBy&amp;#34;: {
              &amp;#34;id&amp;#34;: 1,
              &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
              &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
          }
      }
   }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Library element not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-library-element-by-name&#34;&gt;Get library element by name&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/library-elements/name/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns a library element with the given name&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/library-elements/name/API docs Example HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;result&amp;#34;: [
        {
            &amp;#34;id&amp;#34;: 25,
            &amp;#34;orgId&amp;#34;: 1,
            &amp;#34;folderId&amp;#34;: 0,
            &amp;#34;uid&amp;#34;: &amp;#34;V--OrYHnz&amp;#34;,
            &amp;#34;name&amp;#34;: &amp;#34;API docs Example&amp;#34;,
            &amp;#34;kind&amp;#34;: 1,
            &amp;#34;type&amp;#34;: &amp;#34;text&amp;#34;,
            &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;model&amp;#34;: {...},
            &amp;#34;version&amp;#34;: 1,
            &amp;#34;meta&amp;#34;: {
                &amp;#34;folderName&amp;#34;: &amp;#34;General&amp;#34;,
                &amp;#34;folderUid&amp;#34;: &amp;#34;&amp;#34;,
                &amp;#34;connectedDashboards&amp;#34;: 1,
                &amp;#34;created&amp;#34;: &amp;#34;2021-09-27T09:56:17&amp;#43;02:00&amp;#34;,
                &amp;#34;updated&amp;#34;: &amp;#34;2021-09-27T09:56:17&amp;#43;02:00&amp;#34;,
                &amp;#34;createdBy&amp;#34;: {
                    &amp;#34;id&amp;#34;: 1,
                    &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                    &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
                },
                &amp;#34;updatedBy&amp;#34;: {
                    &amp;#34;id&amp;#34;: 1,
                    &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                    &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
                }
            }
        }
    ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Library element not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-library-element-connections&#34;&gt;Get library element connections&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/library-elements/:uid/connections&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns a list of connections for a library element based on the UID specified.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/library-elements/V--OrYHnz/connections HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;result&amp;#34;: [
        {
            &amp;#34;id&amp;#34;: 148,
            &amp;#34;kind&amp;#34;: 1,
            &amp;#34;elementId&amp;#34;: 25,
            &amp;#34;connectionId&amp;#34;: 527,
            &amp;#34;created&amp;#34;: &amp;#34;2021-09-27T10:00:07&amp;#43;02:00&amp;#34;,
            &amp;#34;createdBy&amp;#34;: {
                &amp;#34;id&amp;#34;: 1,
                &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
            }
        }
    ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Library element not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-library-element&#34;&gt;Create library element&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/library-elements&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new library element.&lt;/p&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;folderId&lt;/strong&gt; – Optional, the ID of the folder where the library element is stored.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;name&lt;/strong&gt; – Optional, the name of the library element.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;model&lt;/strong&gt; – The JSON model for the library element.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kind&lt;/strong&gt; – Kind of element to create, Use &lt;code&gt;1&lt;/code&gt; for library panels or &lt;code&gt;2&lt;/code&gt; for library variables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;uid&lt;/strong&gt; – Optional, the &lt;a href=&#34;/http_api/library_element/#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/library-elements HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
  &amp;#34;folderId&amp;#34;: 0,
  &amp;#34;name&amp;#34;: &amp;#34;Example library panel&amp;#34;,
  &amp;#34;model&amp;#34;: {...},
  &amp;#34;kind&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;result&amp;#34;: {
        &amp;#34;id&amp;#34;: 28,
        &amp;#34;orgId&amp;#34;: 1,
        &amp;#34;folderId&amp;#34;: 0,
        &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;Example library panel&amp;#34;,
        &amp;#34;kind&amp;#34;: 1,
        &amp;#34;type&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;model&amp;#34;: {...},
        &amp;#34;version&amp;#34;: 1,
        &amp;#34;meta&amp;#34;: {
            &amp;#34;folderName&amp;#34;: &amp;#34;General&amp;#34;,
            &amp;#34;folderUid&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;connectedDashboards&amp;#34;: 0,
            &amp;#34;created&amp;#34;: &amp;#34;2021-09-30T09:14:22.378307&amp;#43;02:00&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-09-30T09:14:22.378307&amp;#43;02:00&amp;#34;,
            &amp;#34;createdBy&amp;#34;: {
                &amp;#34;id&amp;#34;: 1,
                &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
            },
            &amp;#34;updatedBy&amp;#34;: {
                &amp;#34;id&amp;#34;: 1,
                &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
            }
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Created&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (for example, name or UID already exists, invalid JSON, missing or invalid fields, and so on).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access denied&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-library-element&#34;&gt;Update library element&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/library-elements/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing library element identified by uid.&lt;/p&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;folderId&lt;/strong&gt; – ID of the folder where the library element is stored.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;name&lt;/strong&gt; – Name of the library element.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;model&lt;/strong&gt; – The JSON model for the library element.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kind&lt;/strong&gt; – Kind of element to create. Use &lt;code&gt;1&lt;/code&gt; for library panels or &lt;code&gt;2&lt;/code&gt; for library variables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;version&lt;/strong&gt; – Version of the library element you are updating.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;uid&lt;/strong&gt; – Optional, the &lt;a href=&#34;/http_api/library_element/#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PATCH /api/library-elements/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;: &amp;#34;Renamed library panel&amp;#34;,
  &amp;#34;kind&amp;#34;: 1,
  &amp;#34;version&amp;#34;: 1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;result&amp;#34;: {
        &amp;#34;id&amp;#34;: 28,
        &amp;#34;orgId&amp;#34;: 1,
        &amp;#34;folderId&amp;#34;: 0,
        &amp;#34;uid&amp;#34;: &amp;#34;nErXDvCkzz&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;Renamed library panel&amp;#34;,
        &amp;#34;kind&amp;#34;: 1,
        &amp;#34;type&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;model&amp;#34;: {
            &amp;#34;description&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;type&amp;#34;: &amp;#34;&amp;#34;
        },
        &amp;#34;version&amp;#34;: 2,
        &amp;#34;meta&amp;#34;: {
            &amp;#34;folderName&amp;#34;: &amp;#34;General&amp;#34;,
            &amp;#34;folderUid&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;connectedDashboards&amp;#34;: 0,
            &amp;#34;created&amp;#34;: &amp;#34;2021-09-30T09:14:22&amp;#43;02:00&amp;#34;,
            &amp;#34;updated&amp;#34;: &amp;#34;2021-09-30T09:25:57.697214&amp;#43;02:00&amp;#34;,
            &amp;#34;createdBy&amp;#34;: {
                &amp;#34;id&amp;#34;: 1,
                &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
            },
            &amp;#34;updatedBy&amp;#34;: {
                &amp;#34;id&amp;#34;: 1,
                &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
                &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
            }
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (for example, name or UID already exists, invalid JSON, missing or invalid fields, and so on).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Library element not found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;412&lt;/strong&gt; – Version mismatch&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-library-element&#34;&gt;Delete library element&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/library-elements/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes an existing library element as specified by the UID. This operation cannot be reverted.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You cannot delete a library element that is connected. This operation cannot be reverted.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/library-elements/nErXDvCkzz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
    &amp;#34;message&amp;#34;: &amp;#34;Library element deleted&amp;#34;,
    &amp;#34;id&amp;#34;: 28
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Deleted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Bad request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Library element not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="library-element-api">Library Element API&lt;/h1>
&lt;h2 id="identifier-id-vs-unique-identifier-uid">Identifier (id) vs unique identifier (uid)&lt;/h2>
&lt;p>The identifier (ID) of a library element is an auto-incrementing numeric value that is unique per Grafana install.&lt;/p></description></item><item><title>Licensing HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/licensing/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/licensing/</guid><content><![CDATA[&lt;h1 id=&#34;enterprise-license-api&#34;&gt;Enterprise License API&lt;/h1&gt;
&lt;p&gt;Licensing is only available in Grafana Enterprise. Read more about &lt;a href=&#34;../../enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;
&lt;h2 id=&#34;check-license-availability&#34;&gt;Check license availability&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;GET /api/licensing/check&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Checks if a valid license is available.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#enterprise-license-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;licensing:read&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/licensing/check
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 4

true&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - OK&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;manually-force-license-refresh&#34;&gt;Manually force license refresh&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;POST /api/licensing/token/renew&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Manually ask license issuer for a new token.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#enterprise-license-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;licensing:update&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-1&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/licensing/token/renew
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 357

{
  &amp;#34;jti&amp;#34;:&amp;#34;2&amp;#34;,
  &amp;#34;iss&amp;#34;:&amp;#34;https://grafana.com&amp;#34;,
  &amp;#34;sub&amp;#34;:&amp;#34;https://play.grafana.org/&amp;#34;
  &amp;#34;lid&amp;#34;:&amp;#34;1&amp;#34;,
  &amp;#34;included_admins&amp;#34;:5,
  &amp;#34;included_viewers&amp;#34;:10,
  &amp;#34;lic_exp_warn_days&amp;#34;:30,
  &amp;#34;tok_exp_warn_days&amp;#34;:2,
  &amp;#34;update_days&amp;#34;:1,
  &amp;#34;prod&amp;#34;:[&amp;#34;grafana-enterprise&amp;#34;],
  &amp;#34;company&amp;#34;:&amp;#34;Grafana Labs&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The response is a JSON blob available for debugging purposes. The
available fields may change at any time without any prior notice.&lt;/p&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - OK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;remove-license-from-database&#34;&gt;Remove license from database&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/licensing/token&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Removes the license stored in the Grafana database.&lt;/p&gt;
&lt;h3 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h3&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#enterprise-license-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;licensing:delete&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;examples-2&#34;&gt;Examples&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{&amp;#34;instance&amp;#34;: &amp;#34;http://play.grafana.org/&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;instance&lt;/strong&gt; – Root URL for the instance for which the license should be deleted. Required.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 202 Accepted
Content-Type: application/json
Content-Length: 2

{}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;202&lt;/strong&gt; - Accepted, license removed or did not exist.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Access denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;422&lt;/strong&gt; - Unprocessable entity, incorrect instance name provided.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="enterprise-license-api">Enterprise License API&lt;/h1>
&lt;p>Licensing is only available in Grafana Enterprise. Read more about &lt;a href="../../enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>
&lt;p>If you are running Grafana Enterprise and have &lt;a href="../../enterprise/access-control/">Fine-grained access control&lt;/a> enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p></description></item><item><title>Organization HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/org/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/org/</guid><content><![CDATA[&lt;h1 id=&#34;organization-api&#34;&gt;Organization API&lt;/h1&gt;
&lt;p&gt;The Organization HTTP API is divided in two resources, &lt;code&gt;/api/org&lt;/code&gt; (current organization)
and &lt;code&gt;/api/orgs&lt;/code&gt; (admin organizations). One big difference between these are that
the admin of all organizations API only works with basic authentication, see &lt;a href=&#34;#admin-organizations-api&#34;&gt;Admin Organizations API&lt;/a&gt; for more information.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;current-organization-api&#34;&gt;Current Organization API&lt;/h2&gt;
&lt;h3 id=&#34;get-current-organization&#34;&gt;Get current Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/org/&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:read&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/org/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;get-all-users-within-the-current-organization&#34;&gt;Get all users within the current organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/org/users&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns all org users within the current organization.
Accessible to users with org admin role.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:read&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/org/users HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;userId&amp;#34;: 1,
    &amp;#34;email&amp;#34;: &amp;#34;admin@localhost&amp;#34;,
    &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;,
    &amp;#34;login&amp;#34;: &amp;#34;admin&amp;#34;,
    &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;,
    &amp;#34;lastSeenAt&amp;#34;: &amp;#34;2019-08-09T11:02:49&amp;#43;02:00&amp;#34;,
    &amp;#34;lastSeenAtAge&amp;#34;: &amp;#34;&amp;lt; 1m&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;get-all-users-within-the-current-organization-lookup&#34;&gt;Get all users within the current organization (lookup)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/org/users/lookup&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns all org users within the current organization, but with less detailed information.
Accessible to users with org admin role, admin in any folder or admin of any team.
Mainly used by Grafana UI for providing list of users when adding team members and
when editing folder/dashboard permissions.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:read&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/org/users/lookup HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;userId&amp;#34;: 1,
    &amp;#34;login&amp;#34;: &amp;#34;admin&amp;#34;,
    &amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/46d229b033af06a191ff2267bca9ae56&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;updates-the-given-user&#34;&gt;Updates the given user&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/org/users/:userId&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users.role:update&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PATCH /api/org/users/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Organization user updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;delete-user-in-current-organization&#34;&gt;Delete user in current organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/org/users/:userId&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:remove&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/org/users/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;User removed from organization&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;update-current-organization&#34;&gt;Update current Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /api/org&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-5&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:write&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/org HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Organization updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;add-a-new-user-to-the-current-organization&#34;&gt;Add a new user to the current organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/org/users&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Adds a global user to the current organization.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-6&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:add&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/org/users HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;role&amp;#34;: &amp;#34;Admin&amp;#34;,
  &amp;#34;loginOrEmail&amp;#34;: &amp;#34;admin&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;User added to organization&amp;#34;,&amp;#34;userId&amp;#34;:1}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;admin-organizations-api&#34;&gt;Admin Organizations API&lt;/h2&gt;
&lt;p&gt;The Admin Organizations HTTP API does not currently work with an API Token. API Tokens are currently
only linked to an organization and an organization role. They cannot be given the permission of server
admin, only users can be given that permission. So in order to use these API calls you will have to
use Basic Auth and the Grafana user must have the Grafana Admin permission (The default admin user
is called &lt;code&gt;admin&lt;/code&gt; and has permission to use this API).&lt;/p&gt;
&lt;h3 id=&#34;get-organization-by-id&#34;&gt;Get Organization by Id&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/orgs/:orgId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-7&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:read&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/orgs/1 HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;,
  &amp;#34;address&amp;#34;:{
    &amp;#34;address1&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;address2&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;city&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;zipCode&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;state&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;country&amp;#34;:&amp;#34;&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;get-organization-by-name&#34;&gt;Get Organization by Name&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/orgs/name/:orgName&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-8&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
              &lt;th&gt;Note&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:read&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
              &lt;td&gt;Needs to be assigned globally.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/orgs/name/Main%20Org%2E HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;,
  &amp;#34;address&amp;#34;:{
    &amp;#34;address1&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;address2&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;city&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;zipCode&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;state&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;country&amp;#34;:&amp;#34;&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;create-organization&#34;&gt;Create Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/orgs&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-9&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
              &lt;th&gt;Note&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:create&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
              &lt;td&gt;Needs to be assigned globally.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/orgs HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;name&amp;#34;:&amp;#34;New Org.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note: The api will work in the following two ways&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Need to set GF_USERS_ALLOW_ORG_CREATE=true&lt;/li&gt;
&lt;li&gt;Set the config value users.allow_org_create to true in ini file&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;orgId&amp;#34;:&amp;#34;1&amp;#34;,
  &amp;#34;message&amp;#34;:&amp;#34;Organization created&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;search-all-organizations&#34;&gt;Search all Organizations&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/orgs?perpage=10&amp;amp;page=1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-10&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
              &lt;th&gt;Note&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:read&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
              &lt;td&gt;Needs to be assigned globally.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/orgs HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note: The api will only work when you pass the admin name and password
to the request HTTP URL, like http://admin:admin@localhost:3000/api/orgs&lt;/p&gt;
&lt;p&gt;Default value for the &lt;code&gt;perpage&lt;/code&gt; parameter is &lt;code&gt;1000&lt;/code&gt; and for the &lt;code&gt;page&lt;/code&gt; parameter is &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;:1,
    &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;update-organization&#34;&gt;Update Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /api/orgs/:orgId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Update Organization, fields &lt;em&gt;Address 1&lt;/em&gt;, &lt;em&gt;Address 2&lt;/em&gt;, &lt;em&gt;City&lt;/em&gt; are not implemented yet.
Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-11&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:write&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/orgs/1 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;name&amp;#34;:&amp;#34;Main Org 2.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Organization updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;delete-organization&#34;&gt;Delete Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/orgs/:orgId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-12&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;orgs:delete&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/orgs/1 HTTP/1.1
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Organization deleted&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;get-users-in-organization&#34;&gt;Get Users in Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/orgs/:orgId/users&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-13&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:read&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/orgs/1/users HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note: The api will only work when you pass the admin name and password
to the request HTTP URL, like http://admin:admin@localhost:3000/api/orgs/1/users&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
[
  {
    &amp;#34;orgId&amp;#34;:1,
    &amp;#34;userId&amp;#34;:1,
    &amp;#34;email&amp;#34;:&amp;#34;admin@mygraf.com&amp;#34;,
    &amp;#34;login&amp;#34;:&amp;#34;admin&amp;#34;,
    &amp;#34;role&amp;#34;:&amp;#34;Admin&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;add-user-in-organization&#34;&gt;Add User in Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/orgs/:orgId/users&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-14&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:add&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/orgs/1/users HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;loginOrEmail&amp;#34;:&amp;#34;user&amp;#34;,
  &amp;#34;role&amp;#34;:&amp;#34;Viewer&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;User added to organization&amp;#34;, &amp;#34;userId&amp;#34;: 1}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;update-users-in-organization&#34;&gt;Update Users in Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/orgs/:orgId/users/:userId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-15&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users.role:update&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PATCH /api/orgs/1/users/2 HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;role&amp;#34;:&amp;#34;Admin&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Organization user updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;delete-user-in-organization&#34;&gt;Delete User in Organization&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/orgs/:orgId/users/:userId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only works with Basic Authentication (username and password), see &lt;a href=&#34;#admin-organizations-api&#34;&gt;introduction&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-16&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#organization-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;org.users:remove&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/orgs/1/users/2 HTTP/1.1
Accept: application/json
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;User removed from organization&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="organization-api">Organization API&lt;/h1>
&lt;p>The Organization HTTP API is divided in two resources, &lt;code>/api/org&lt;/code> (current organization)
and &lt;code>/api/orgs&lt;/code> (admin organizations). One big difference between these are that
the admin of all organizations API only works with basic authentication, see &lt;a href="#admin-organizations-api">Admin Organizations API&lt;/a> for more information.&lt;/p></description></item><item><title>Other HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/other/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/other/</guid><content><![CDATA[&lt;h1 id=&#34;frontend-settings-api&#34;&gt;Frontend Settings API&lt;/h1&gt;
&lt;h2 id=&#34;get-settings&#34;&gt;Get Settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/frontend/settings&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/frontend/settings HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;allowOrgCreate&amp;#34;:true,
  &amp;#34;appSubUrl&amp;#34;:&amp;#34;&amp;#34;,
  &amp;#34;buildInfo&amp;#34;:{
    &amp;#34;buildstamp&amp;#34;:xxxxxx,
    &amp;#34;commit&amp;#34;:&amp;#34;vyyyy&amp;#34;,
    &amp;#34;version&amp;#34;:&amp;#34;zzzzz&amp;#34;
  },
  &amp;#34;datasources&amp;#34;:{
    &amp;#34;datasourcename&amp;#34;:{
      &amp;#34;index&amp;#34;:&amp;#34;grafana-dash&amp;#34;,
      &amp;#34;meta&amp;#34;:{
        &amp;#34;annotations&amp;#34;:true,
        &amp;#34;module&amp;#34;:&amp;#34;plugins/datasource/grafana/datasource&amp;#34;,
        &amp;#34;name&amp;#34;:&amp;#34;Grafana&amp;#34;,
        &amp;#34;partials&amp;#34;:{
          &amp;#34;annotations&amp;#34;:&amp;#34;app/plugins/datasource/grafana/partials/annotations.editor.html&amp;#34;,
          &amp;#34;config&amp;#34;:&amp;#34;app/plugins/datasource/grafana/partials/config.html&amp;#34;
        },
        &amp;#34;pluginType&amp;#34;:&amp;#34;datasource&amp;#34;,
        &amp;#34;serviceName&amp;#34;:&amp;#34;Grafana&amp;#34;,
        &amp;#34;type&amp;#34;:&amp;#34;grafanasearch&amp;#34;
      }
    }
  },
  &amp;#34;defaultDatasource&amp;#34;: &amp;#34;Grafana&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h1 id=&#34;login-api&#34;&gt;Login API&lt;/h1&gt;
&lt;h2 id=&#34;renew-session-based-on-remember-cookie&#34;&gt;Renew session based on remember cookie&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/login/ping&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/login/ping HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;: &amp;#34;Logged in&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h1 id=&#34;health-api&#34;&gt;Health API&lt;/h1&gt;
&lt;h2 id=&#34;returns-health-information-about-grafana&#34;&gt;Returns health information about Grafana&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/health&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/health
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK

{
  &amp;#34;commit&amp;#34;: &amp;#34;087143285&amp;#34;,
  &amp;#34;database&amp;#34;: &amp;#34;ok&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;5.1.3&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="frontend-settings-api">Frontend Settings API&lt;/h1>
&lt;h2 id="get-settings">Get Settings&lt;/h2>
&lt;p>&lt;code>GET /api/frontend/settings&lt;/code>&lt;/p>
&lt;p>&lt;strong>Example Request&lt;/strong>:&lt;/p>
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">http&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-http">GET /api/frontend/settings HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>&lt;strong>Example Response&lt;/strong>:&lt;/p></description></item><item><title>Playlist HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/playlist/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/playlist/</guid><content><![CDATA[&lt;h1 id=&#34;playlist-api&#34;&gt;Playlist API&lt;/h1&gt;
&lt;h2 id=&#34;search-playlist&#34;&gt;Search Playlist&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/playlists&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get all existing playlist for the current organization using pagination&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/playlists HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Querystring Parameters:&lt;/p&gt;
&lt;p&gt;These parameters are used as querystring parameters.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;query&lt;/strong&gt; - Limit response to playlist having a name like this value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; - Limit response to &lt;em&gt;X&lt;/em&gt; number of playlist.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;my playlist&amp;#34;,
    &amp;#34;interval&amp;#34;: &amp;#34;5m&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-one-playlist&#34;&gt;Get one playlist&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/playlists/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/playlists/1 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
{
  &amp;#34;id&amp;#34; : 1,
  &amp;#34;name&amp;#34;: &amp;#34;my playlist&amp;#34;,
  &amp;#34;interval&amp;#34;: &amp;#34;5m&amp;#34;,
  &amp;#34;orgId&amp;#34;: &amp;#34;my org&amp;#34;,
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;id&amp;#34;: 1,
      &amp;#34;playlistId&amp;#34;: 1,
      &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_id&amp;#34;,
      &amp;#34;value&amp;#34;: &amp;#34;3&amp;#34;,
      &amp;#34;order&amp;#34;: 1,
      &amp;#34;title&amp;#34;:&amp;#34;my third dashboard&amp;#34;
    },
    {
      &amp;#34;id&amp;#34;: 2,
      &amp;#34;playlistId&amp;#34;: 1,
      &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
      &amp;#34;value&amp;#34;: &amp;#34;myTag&amp;#34;,
      &amp;#34;order&amp;#34;: 2,
      &amp;#34;title&amp;#34;:&amp;#34;my other dashboard&amp;#34;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-playlist-items&#34;&gt;Get Playlist items&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/playlists/:id/items&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/playlists/1/items HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;playlistId&amp;#34;: 1,
    &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_id&amp;#34;,
    &amp;#34;value&amp;#34;: &amp;#34;3&amp;#34;,
    &amp;#34;order&amp;#34;: 1,
    &amp;#34;title&amp;#34;:&amp;#34;my third dashboard&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 2,
    &amp;#34;playlistId&amp;#34;: 1,
    &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
    &amp;#34;value&amp;#34;: &amp;#34;myTag&amp;#34;,
    &amp;#34;order&amp;#34;: 2,
    &amp;#34;title&amp;#34;:&amp;#34;my other dashboard&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-playlist-dashboards&#34;&gt;Get Playlist dashboards&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/playlists/:id/dashboards&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/playlists/1/dashboards HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
[
  {
    &amp;#34;id&amp;#34;: 3,
    &amp;#34;title&amp;#34;: &amp;#34;my third dashboard&amp;#34;,
    &amp;#34;order&amp;#34;: 1,
  },
  {
    &amp;#34;id&amp;#34;: 5,
    &amp;#34;title&amp;#34;:&amp;#34;my other dashboard&amp;#34;
    &amp;#34;order&amp;#34;: 2,

  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;create-a-playlist&#34;&gt;Create a playlist&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/playlists/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/playlists/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
  {
    &amp;#34;name&amp;#34;: &amp;#34;my playlist&amp;#34;,
    &amp;#34;interval&amp;#34;: &amp;#34;5m&amp;#34;,
    &amp;#34;items&amp;#34;: [
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_id&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;3&amp;#34;,
        &amp;#34;order&amp;#34;: 1,
        &amp;#34;title&amp;#34;:&amp;#34;my third dashboard&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;myTag&amp;#34;,
        &amp;#34;order&amp;#34;: 2,
        &amp;#34;title&amp;#34;:&amp;#34;my other dashboard&amp;#34;
      }
    ]
  }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;my playlist&amp;#34;,
    &amp;#34;interval&amp;#34;: &amp;#34;5m&amp;#34;
  }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-a-playlist&#34;&gt;Update a playlist&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/playlists/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/playlists/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
  {
    &amp;#34;name&amp;#34;: &amp;#34;my playlist&amp;#34;,
    &amp;#34;interval&amp;#34;: &amp;#34;5m&amp;#34;,
    &amp;#34;items&amp;#34;: [
      {
        &amp;#34;playlistId&amp;#34;: 1,
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_id&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;3&amp;#34;,
        &amp;#34;order&amp;#34;: 1,
        &amp;#34;title&amp;#34;:&amp;#34;my third dashboard&amp;#34;
      },
      {
        &amp;#34;playlistId&amp;#34;: 1,
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;myTag&amp;#34;,
        &amp;#34;order&amp;#34;: 2,
        &amp;#34;title&amp;#34;:&amp;#34;my other dashboard&amp;#34;
      }
    ]
  }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
{
  &amp;#34;id&amp;#34; : 1,
  &amp;#34;name&amp;#34;: &amp;#34;my playlist&amp;#34;,
  &amp;#34;interval&amp;#34;: &amp;#34;5m&amp;#34;,
  &amp;#34;orgId&amp;#34;: &amp;#34;my org&amp;#34;,
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;id&amp;#34;: 1,
      &amp;#34;playlistId&amp;#34;: 1,
      &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_id&amp;#34;,
      &amp;#34;value&amp;#34;: &amp;#34;3&amp;#34;,
      &amp;#34;order&amp;#34;: 1,
      &amp;#34;title&amp;#34;:&amp;#34;my third dashboard&amp;#34;
    },
    {
      &amp;#34;id&amp;#34;: 2,
      &amp;#34;playlistId&amp;#34;: 1,
      &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
      &amp;#34;value&amp;#34;: &amp;#34;myTag&amp;#34;,
      &amp;#34;order&amp;#34;: 2,
      &amp;#34;title&amp;#34;:&amp;#34;my other dashboard&amp;#34;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-a-playlist&#34;&gt;Delete a playlist&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/playlists/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/playlists/1 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
{}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="playlist-api">Playlist API&lt;/h1>
&lt;h2 id="search-playlist">Search Playlist&lt;/h2>
&lt;p>&lt;code>GET /api/playlists&lt;/code>&lt;/p>
&lt;p>Get all existing playlist for the current organization using pagination&lt;/p>
&lt;p>&lt;strong>Example Request&lt;/strong>:&lt;/p>
&lt;div class="code-snippet ">&lt;div class="lang-toolbar">
&lt;span class="lang-toolbar__item lang-toolbar__item-active">http&lt;/span>
&lt;span class="code-clipboard">
&lt;button x-data="app_code_snippet()" x-init="init()" @click="copy()">
&lt;img class="code-clipboard__icon" src="/media/images/icons/icon-copy-small-2.svg" alt="Copy code to clipboard" width="14" height="13">
&lt;span>Copy&lt;/span>
&lt;/button>
&lt;/span>
&lt;div class="lang-toolbar__border">&lt;/div>
&lt;/div>&lt;div class="code-snippet ">
&lt;pre data-expanded="false">&lt;code class="language-http">GET /api/playlists HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code>&lt;/pre>
&lt;/div>
&lt;/div>
&lt;p>Querystring Parameters:&lt;/p></description></item><item><title>Query History HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/query_history/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/query_history/</guid><content><![CDATA[&lt;h1 id=&#34;query-history-api&#34;&gt;Query history API&lt;/h1&gt;
&lt;p&gt;This API can be used to add queries to Query history. It requires that the user is logged in and that Query history feature is enabled in config file.&lt;/p&gt;
&lt;h2 id=&#34;add-query-to-query-history&#34;&gt;Add query to Query history&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/query-history&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Adds query to query history.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/query-history HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
  &amp;#34;dataSourceUid&amp;#34;: &amp;#34;PE1C5CBDA0504A6A3&amp;#34;,
  &amp;#34;queries&amp;#34;: [
    {
        &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
        &amp;#34;key&amp;#34;: &amp;#34;Q-87fed8e3-62ba-4eb2-8d2a-4129979bb4de-0&amp;#34;,
        &amp;#34;scenarioId&amp;#34;: &amp;#34;csv_content&amp;#34;,
        &amp;#34;datasource&amp;#34;: {
            &amp;#34;type&amp;#34;: &amp;#34;testdata&amp;#34;,
            &amp;#34;uid&amp;#34;: &amp;#34;PD8C576611E62080A&amp;#34;
        }
    }
]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;datasourceUid&lt;/strong&gt; – Data source uid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries&lt;/strong&gt; – JSON of query or queries.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
{
  &amp;#34;message&amp;#34;: &amp;#34;Query successfully added to query history&amp;#34;,
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – OK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Errors (invalid JSON, missing or invalid fields)&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="query-history-api">Query history API&lt;/h1>
&lt;p>This API can be used to add queries to Query history. It requires that the user is logged in and that Query history feature is enabled in config file.&lt;/p></description></item><item><title>Reporting API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/reporting/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/reporting/</guid><content><![CDATA[&lt;h1 id=&#34;reporting-api&#34;&gt;Reporting API&lt;/h1&gt;
&lt;p&gt;This API allows you to interact programmatically with the &lt;a href=&#34;../../enterprise/reporting/&#34;&gt;Reporting&lt;/a&gt; feature.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Reporting is only available in Grafana Enterprise. Read more about &lt;a href=&#34;../../enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;If you have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access Control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;send-a-report&#34;&gt;Send a report&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Only available in Grafana Enterprise v7.0&#43;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;This API endpoint is experimental and may be deprecated in a future release. On deprecation, a migration strategy will be provided and the endpoint will remain functional until the next major release of Grafana.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;POST /api/reports/email&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Generate and send a report. This API waits for the report to be generated before returning. We recommend that you set the client&amp;rsquo;s timeout to at least 60 seconds.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#reporting-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;reports:send&lt;/td&gt;
              &lt;td&gt;n/a&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-request&#34;&gt;Example request&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/reports/email HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;id&amp;#34;:&amp;#34;3&amp;#34;,
  &amp;#34;useEmailsFromReport&amp;#34;: true
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;json-body-schema&#34;&gt;JSON Body Schema&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Field name&lt;/th&gt;
              &lt;th&gt;Data type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;id&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;ID of the report to send. It is the same as in the URL when editing a report, not to be confused with the ID of the dashboard. Required.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;emails&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Comma-separated list of emails to which to send the report to. Overrides the emails from the report. Required if &lt;strong&gt;useEmailsFromReport&lt;/strong&gt; is not present.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;useEmailsFromReport&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Send the report to the emails specified in the report. Required if &lt;strong&gt;emails&lt;/strong&gt; is not present.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-response&#34;&gt;Example response&lt;/h3&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 29

{&amp;#34;message&amp;#34;:&amp;#34;Report was sent&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes&#34;&gt;Status Codes&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Code&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;200&lt;/td&gt;
              &lt;td&gt;Report was sent.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;401&lt;/td&gt;
              &lt;td&gt;Authentication failed, refer to &lt;a href=&#34;../auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;403&lt;/td&gt;
              &lt;td&gt;User is authenticated but is not authorized to generate the report.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;404&lt;/td&gt;
              &lt;td&gt;Report not found.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error or server misconfiguration. Refer to server logs for more details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="reporting-api">Reporting API&lt;/h1>
&lt;p>This API allows you to interact programmatically with the &lt;a href="../../enterprise/reporting/">Reporting&lt;/a> feature.&lt;/p>
&lt;blockquote>
&lt;p>Reporting is only available in Grafana Enterprise. Read more about &lt;a href="../../enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>If you have &lt;a href="../../enterprise/access-control/">Fine-grained access Control&lt;/a> enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p></description></item><item><title>Short URL HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/short_url/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/short_url/</guid><content><![CDATA[&lt;h1 id=&#34;short-url-api&#34;&gt;Short URL API&lt;/h1&gt;
&lt;p&gt;Use this API to create shortened URLs. A short URL represents a longer URL containing complex query parameters in a smaller and simpler format.&lt;/p&gt;
&lt;h2 id=&#34;create-short-url&#34;&gt;Create short URL&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/short-urls&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a short URL.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example request:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/short-urls HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;path&amp;#34;: &amp;#34;d/TxKARsmGz/new-dashboard?orgId=1&amp;amp;from=1599389322894&amp;amp;to=1599410922894&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;path&lt;/strong&gt; – The path to shorten, relative to the Grafana &lt;a href=&#34;../../administration/configuration/#root_url&#34;&gt;root_url&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example response:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;uid&amp;#34;: AT76wBvGk,
  &amp;#34;url&amp;#34;: http://localhost:3000/goto/AT76wBvGk?orgId=1
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Created&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (invalid JSON, missing or invalid fields)&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="short-url-api">Short URL API&lt;/h1>
&lt;p>Use this API to create shortened URLs. A short URL represents a longer URL containing complex query parameters in a smaller and simpler format.&lt;/p></description></item><item><title>Team HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/team/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/team/</guid><content><![CDATA[&lt;h1 id=&#34;team-api&#34;&gt;Team API&lt;/h1&gt;
&lt;p&gt;This API can be used to manage Teams and Team Memberships.&lt;/p&gt;
&lt;p&gt;Access to these API endpoints is restricted as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;All authenticated users are able to view details of teams they are a member of.&lt;/li&gt;
&lt;li&gt;Organization Admins are able to manage all teams and team members.&lt;/li&gt;
&lt;li&gt;If you enable &lt;code&gt;editors_can_admin&lt;/code&gt; configuration flag, then Organization Editors can create teams and manage teams where they are Admin.
&lt;ul&gt;
&lt;li&gt;If you enable &lt;code&gt;editors_can_admin&lt;/code&gt; configuration flag, Editors can find out whether a team that they are not members of exists by trying to create a team with the same name.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, access to endpoints will be controlled by Fine-grained access control permissions.
Refer to specific endpoints to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;team-search-with-paging&#34;&gt;Team Search With Paging&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/search?perpage=50&amp;amp;page=1&amp;amp;query=myteam&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;or&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/search?name=myteam&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:read&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/teams/search?perpage=10&amp;amp;page=1&amp;amp;query=mytestteam HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;totalCount&amp;#34;: 1,
  &amp;#34;teams&amp;#34;: [
    {
      &amp;#34;id&amp;#34;: 1,
      &amp;#34;orgId&amp;#34;: 1,
      &amp;#34;name&amp;#34;: &amp;#34;MyTestTeam&amp;#34;,
      &amp;#34;email&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;avatarUrl&amp;#34;: &amp;#34;\/avatar\/3f49c15916554246daa714b9bd0ee398&amp;#34;,
      &amp;#34;memberCount&amp;#34;: 1
    }
  ],
  &amp;#34;page&amp;#34;: 1,
  &amp;#34;perPage&amp;#34;: 1000
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;using-the-query-parameter&#34;&gt;Using the query parameter&lt;/h3&gt;
&lt;p&gt;Default value for the &lt;code&gt;perpage&lt;/code&gt; parameter is &lt;code&gt;1000&lt;/code&gt; and for the &lt;code&gt;page&lt;/code&gt; parameter is &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;totalCount&lt;/code&gt; field in the response can be used for pagination of the teams list E.g. if &lt;code&gt;totalCount&lt;/code&gt; is equal to 100 teams and the &lt;code&gt;perpage&lt;/code&gt; parameter is set to 10 then there are 10 pages of teams.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;query&lt;/code&gt; parameter is optional and it will return results where the query value is contained in the &lt;code&gt;name&lt;/code&gt; field. Query values with spaces need to be URL encoded e.g. &lt;code&gt;query=my%20team&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;using-the-name-parameter&#34;&gt;Using the name parameter&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;name&lt;/code&gt; parameter returns a single team if the parameter matches the &lt;code&gt;name&lt;/code&gt; field.&lt;/p&gt;
&lt;h4 id=&#34;status-codes&#34;&gt;Status Codes:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found (if searching by name)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-team-by-id&#34;&gt;Get Team By Id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/:id&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:read&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/teams/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;name&amp;#34;: &amp;#34;MyTestTeam&amp;#34;,
  &amp;#34;email&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;created&amp;#34;: &amp;#34;2017-12-15T10:40:45&amp;#43;01:00&amp;#34;,
  &amp;#34;updated&amp;#34;: &amp;#34;2017-12-15T10:40:45&amp;#43;01:00&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;add-team&#34;&gt;Add Team&lt;/h2&gt;
&lt;p&gt;The Team &lt;code&gt;name&lt;/code&gt; needs to be unique. &lt;code&gt;name&lt;/code&gt; is required and &lt;code&gt;email&lt;/code&gt;,&lt;code&gt;orgId&lt;/code&gt; is optional.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/teams&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:create&lt;/td&gt;
              &lt;td&gt;N/A&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/teams HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;name&amp;#34;: &amp;#34;MyTestTeam&amp;#34;,
  &amp;#34;email&amp;#34;: &amp;#34;email@test.com&amp;#34;,
  &amp;#34;orgId&amp;#34;: 2
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Team created&amp;#34;,&amp;#34;teamId&amp;#34;:2}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;409&lt;/strong&gt; - Team name is taken&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-team&#34;&gt;Update Team&lt;/h2&gt;
&lt;p&gt;There are two fields that can be updated for a team: &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;email&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PUT /api/teams/:id&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:write&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/teams/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;name&amp;#34;: &amp;#34;MyTestTeam&amp;#34;,
  &amp;#34;email&amp;#34;: &amp;#34;email@test.com&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Team updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;409&lt;/strong&gt; - Team name is taken&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-team-by-id&#34;&gt;Delete Team By Id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/teams/:id&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:delete&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/teams/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Team deleted&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Failed to delete Team. ID not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-team-members&#34;&gt;Get Team Members&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/:teamId/members&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-5&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.permissions:read&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;teamId&amp;#34;: 1,
    &amp;#34;userId&amp;#34;: 3,
    &amp;#34;email&amp;#34;: &amp;#34;user1@email.com&amp;#34;,
    &amp;#34;login&amp;#34;: &amp;#34;user1&amp;#34;,
    &amp;#34;avatarUrl&amp;#34;: &amp;#34;\/avatar\/1b3c32f6386b0185c40d359cdc733a79&amp;#34;
  },
  {
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;teamId&amp;#34;: 1,
    &amp;#34;userId&amp;#34;: 2,
    &amp;#34;email&amp;#34;: &amp;#34;user2@email.com&amp;#34;,
    &amp;#34;login&amp;#34;: &amp;#34;user2&amp;#34;,
    &amp;#34;avatarUrl&amp;#34;: &amp;#34;\/avatar\/cad3c68da76e45d10269e8ef02f8e73e&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;add-team-member&#34;&gt;Add Team Member&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/teams/:teamId/members&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-6&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.permissions:write&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;userId&amp;#34;: 2
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Member added to Team&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; - User is already added to this team&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;remove-member-from-team&#34;&gt;Remove Member From Team&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/teams/:teamId/members/:userId&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-7&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.permissions:write&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/teams/2/members/3 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Team Member removed&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Status Codes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; - Ok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Permission denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Team not found/Team member not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-team-preferences&#34;&gt;Get Team Preferences&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/:teamId/preferences&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-8&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:read&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/teams/2/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;theme&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;homeDashboardId&amp;#34;: 0,
  &amp;#34;timezone&amp;#34;: &amp;#34;&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-team-preferences&#34;&gt;Update Team Preferences&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/teams/:teamId/preferences&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-9&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#team-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;teams:write&lt;/td&gt;
              &lt;td&gt;teams:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/teams/2/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;theme&amp;#34;: &amp;#34;dark&amp;#34;,
  &amp;#34;homeDashboardId&amp;#34;: 39,
  &amp;#34;timezone&amp;#34;: &amp;#34;utc&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;JSON Body Schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;theme&lt;/strong&gt; - One of: &lt;code&gt;light&lt;/code&gt;, &lt;code&gt;dark&lt;/code&gt;, or an empty string for the default theme&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;homeDashboardId&lt;/strong&gt; - The numerical &lt;code&gt;:id&lt;/code&gt; of a dashboard, default: &lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;timezone&lt;/strong&gt; - One of: &lt;code&gt;utc&lt;/code&gt;, &lt;code&gt;browser&lt;/code&gt;, or an empty string for the default&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Omitting a key will cause the current value to be replaced with the system default value.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: text/plain; charset=utf-8

{
  &amp;#34;message&amp;#34;:&amp;#34;Preferences updated&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="team-api">Team API&lt;/h1>
&lt;p>This API can be used to manage Teams and Team Memberships.&lt;/p>
&lt;p>Access to these API endpoints is restricted as follows:&lt;/p>
&lt;ul>
&lt;li>All authenticated users are able to view details of teams they are a member of.&lt;/li>
&lt;li>Organization Admins are able to manage all teams and team members.&lt;/li>
&lt;li>If you enable &lt;code>editors_can_admin&lt;/code> configuration flag, then Organization Editors can create teams and manage teams where they are Admin.
&lt;ul>
&lt;li>If you enable &lt;code>editors_can_admin&lt;/code> configuration flag, Editors can find out whether a team that they are not members of exists by trying to create a team with the same name.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise and have &lt;a href="../../enterprise/access-control/">Fine-grained access control&lt;/a> enabled, access to endpoints will be controlled by Fine-grained access control permissions.
Refer to specific endpoints to understand what permissions are required.&lt;/p></description></item><item><title>User HTTP API</title><link>https://grafana.com/docs/grafana/v8.4/http_api/user/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/http_api/user/</guid><content><![CDATA[&lt;h1 id=&#34;user-api&#34;&gt;User API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise and have &lt;a href=&#34;../../enterprise/access-control/&#34;&gt;Fine-grained access control&lt;/a&gt; enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;search-users&#34;&gt;Search Users&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/users?perpage=10&amp;amp;page=1&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:read&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Default value for the &lt;code&gt;perpage&lt;/code&gt; parameter is &lt;code&gt;1000&lt;/code&gt; and for the &lt;code&gt;page&lt;/code&gt; parameter is &lt;code&gt;1&lt;/code&gt;. Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;Admin&amp;#34;,
    &amp;#34;login&amp;#34;: &amp;#34;admin&amp;#34;,
    &amp;#34;email&amp;#34;: &amp;#34;admin@mygraf.com&amp;#34;,
    &amp;#34;isAdmin&amp;#34;: true,
    &amp;#34;isDisabled&amp;#34;: false,
    &amp;#34;lastSeenAt&amp;#34;: &amp;#34;2020-04-10T20:29:27&amp;#43;03:00&amp;#34;,
    &amp;#34;lastSeenAtAge&amp;#39;: &amp;#34;2m&amp;#34;,
    &amp;#34;authLabels&amp;#34;: [&amp;#34;OAuth&amp;#34;]
  },
  {
    &amp;#34;id&amp;#34;: 2,
    &amp;#34;name&amp;#34;: &amp;#34;User&amp;#34;,
    &amp;#34;login&amp;#34;: &amp;#34;user&amp;#34;,
    &amp;#34;email&amp;#34;: &amp;#34;user@mygraf.com&amp;#34;,
    &amp;#34;isAdmin&amp;#34;: false,
    &amp;#34;isDisabled&amp;#34;: false,
    &amp;#34;lastSeenAt&amp;#34;: &amp;#34;2020-01-24T12:38:47&amp;#43;02:00&amp;#34;,
    &amp;#34;lastSeenAtAge&amp;#34;: &amp;#34;2M&amp;#34;,
    &amp;#34;authLabels&amp;#34;: []
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;search-users-with-paging&#34;&gt;Search Users with Paging&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/users/search?perpage=10&amp;amp;page=1&amp;amp;query=mygraf&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-1&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:read&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users/search?perpage=10&amp;amp;page=1&amp;amp;query=mygraf HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Default value for the &lt;code&gt;perpage&lt;/code&gt; parameter is &lt;code&gt;1000&lt;/code&gt; and for the &lt;code&gt;page&lt;/code&gt; parameter is &lt;code&gt;1&lt;/code&gt;. The &lt;code&gt;totalCount&lt;/code&gt; field in the response can be used for pagination of the user list E.g. if &lt;code&gt;totalCount&lt;/code&gt; is equal to 100 users and the &lt;code&gt;perpage&lt;/code&gt; parameter is set to 10 then there are 10 pages of users. The &lt;code&gt;query&lt;/code&gt; parameter is optional and it will return results where the query value is contained in one of the &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;login&lt;/code&gt; or &lt;code&gt;email&lt;/code&gt; fields. Query values with spaces need to be URL encoded e.g. &lt;code&gt;query=Jane%20Doe&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json
{
  &amp;#34;totalCount&amp;#34;: 2,
  &amp;#34;users&amp;#34;: [
    {
      &amp;#34;id&amp;#34;: 1,
      &amp;#34;name&amp;#34;: &amp;#34;Admin&amp;#34;,
      &amp;#34;login&amp;#34;: &amp;#34;admin&amp;#34;,
      &amp;#34;email&amp;#34;: &amp;#34;admin@mygraf.com&amp;#34;,
      &amp;#34;isAdmin&amp;#34;: true,
      &amp;#34;isDisabled&amp;#34;: false,
      &amp;#34;lastSeenAt&amp;#34;: &amp;#34;2020-04-10T20:29:27&amp;#43;03:00&amp;#34;,
      &amp;#34;lastSeenAtAge&amp;#39;: &amp;#34;2m&amp;#34;,
      &amp;#34;authLabels&amp;#34;: [&amp;#34;OAuth&amp;#34;]
    },
    {
      &amp;#34;id&amp;#34;: 2,
      &amp;#34;name&amp;#34;: &amp;#34;User&amp;#34;,
      &amp;#34;login&amp;#34;: &amp;#34;user&amp;#34;,
      &amp;#34;email&amp;#34;: &amp;#34;user@mygraf.com&amp;#34;,
      &amp;#34;isAdmin&amp;#34;: false,
      &amp;#34;isDisabled&amp;#34;: false,
      &amp;#34;lastSeenAt&amp;#34;: &amp;#34;2020-01-24T12:38:47&amp;#43;02:00&amp;#34;,
      &amp;#34;lastSeenAtAge&amp;#34;: &amp;#34;2M&amp;#34;,
      &amp;#34;authLabels&amp;#34;: []
    }
  ],
  &amp;#34;page&amp;#34;: 1,
  &amp;#34;perPage&amp;#34;: 10
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-single-user-by-id&#34;&gt;Get single user by Id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/users/:id&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-2&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:read&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: &amp;#34;1&amp;#34;,
  &amp;#34;email&amp;#34;: &amp;#34;user@mygraf.com&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;login&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;theme&amp;#34;: &amp;#34;light&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;isGrafanaAdmin&amp;#34;: true,
  &amp;#34;isDisabled&amp;#34;: true,
  &amp;#34;isExternal&amp;#34;: false,
  &amp;#34;authLabels&amp;#34;: [],
  &amp;#34;updatedAt&amp;#34;: &amp;#34;2019-09-09T11:31:26&amp;#43;01:00&amp;#34;,
  &amp;#34;createdAt&amp;#34;: &amp;#34;2019-09-09T11:31:26&amp;#43;01:00&amp;#34;,
  &amp;#34;avatarUrl&amp;#34;: &amp;#34;&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-single-user-by-usernamelogin-or-email&#34;&gt;Get single user by Username(login) or Email&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/users/lookup?loginOrEmail=user@mygraf.com&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-3&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:read&lt;/td&gt;
              &lt;td&gt;global:users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request using the email as option&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users/lookup?loginOrEmail=user@mygraf.com HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Request using the username as option&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users/lookup?loginOrEmail=admin HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;email&amp;#34;: &amp;#34;user@mygraf.com&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;login&amp;#34;: &amp;#34;admin&amp;#34;,
  &amp;#34;theme&amp;#34;: &amp;#34;light&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;isGrafanaAdmin&amp;#34;: true,
  &amp;#34;isDisabled&amp;#34;: false,
  &amp;#34;isExternal&amp;#34;: false,
  &amp;#34;authLabels&amp;#34;: null,
  &amp;#34;updatedAt&amp;#34;: &amp;#34;2019-09-25T14:44:37&amp;#43;01:00&amp;#34;,
  &amp;#34;createdAt&amp;#34;: &amp;#34;2019-09-25T14:44:37&amp;#43;01:00&amp;#34;,
  &amp;#34;avatarUrl&amp;#34;:&amp;#34;&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;user-update&#34;&gt;User Update&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/users/:id&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:write&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/users/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;email&amp;#34;:&amp;#34;user@mygraf.com&amp;#34;,
  &amp;#34;name&amp;#34;:&amp;#34;User2&amp;#34;,
  &amp;#34;login&amp;#34;:&amp;#34;user&amp;#34;,
  &amp;#34;theme&amp;#34;:&amp;#34;light&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;User updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-organizations-for-user&#34;&gt;Get Organizations for user&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/users/:id/orgs&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-5&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users:read&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users/1/orgs HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;orgId&amp;#34;:1,
    &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;,
    &amp;#34;role&amp;#34;:&amp;#34;Admin&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-teams-for-user&#34;&gt;Get Teams for user&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/users/:id/teams&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-6&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#user-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Action&lt;/th&gt;
              &lt;th&gt;Scope&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;users.teams:read&lt;/td&gt;
              &lt;td&gt;users:*&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/users/1/teams HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;:1,
    &amp;#34;orgId&amp;#34;:1,
    &amp;#34;name&amp;#34;:&amp;#34;team1&amp;#34;,
    &amp;#34;email&amp;#34;:&amp;#34;&amp;#34;,
    &amp;#34;avatarUrl&amp;#34;:&amp;#34;/avatar/3fcfe295eae3bcb67a49349377428a66&amp;#34;,
    &amp;#34;memberCount&amp;#34;:1
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;user&#34;&gt;User&lt;/h2&gt;
&lt;h2 id=&#34;actual-user&#34;&gt;Actual User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/user&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/user HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Requires basic authentication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;id&amp;#34;:1,
  &amp;#34;email&amp;#34;:&amp;#34;admin@mygraf.com&amp;#34;,
  &amp;#34;name&amp;#34;:&amp;#34;Admin&amp;#34;,
  &amp;#34;login&amp;#34;:&amp;#34;admin&amp;#34;,
  &amp;#34;theme&amp;#34;:&amp;#34;light&amp;#34;,
  &amp;#34;orgId&amp;#34;:1,
  &amp;#34;isGrafanaAdmin&amp;#34;:true,
  &amp;#34;isDisabled&amp;#34;:false
  &amp;#34;isExternal&amp;#34;: false,
  &amp;#34;authLabels&amp;#34;: [],
  &amp;#34;updatedAt&amp;#34;: &amp;#34;2019-09-09T11:31:26&amp;#43;01:00&amp;#34;,
  &amp;#34;createdAt&amp;#34;: &amp;#34;2019-09-09T11:31:26&amp;#43;01:00&amp;#34;,
  &amp;#34;avatarUrl&amp;#34;: &amp;#34;&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;change-password&#34;&gt;Change Password&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/user/password&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Changes the password for the user. Requires basic authentication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;PUT /api/user/password HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;oldPassword&amp;#34;: &amp;#34;old_password&amp;#34;,
  &amp;#34;newPassword&amp;#34;: &amp;#34;new_password&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;User password changed&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Change Password with a Script&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you need to change a password with a script, here is an example of changing the Admin password using curl with basic auth:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;curl -X PUT -H &amp;#34;Content-Type: application/json&amp;#34; -d &amp;#39;{
  &amp;#34;oldPassword&amp;#34;: &amp;#34;oldpass&amp;#34;,
  &amp;#34;newPassword&amp;#34;: &amp;#34;newpass&amp;#34;,
  &amp;#34;confirmNew&amp;#34;: &amp;#34;newpass&amp;#34;
}&amp;#39; http://admin:oldpass@&amp;lt;your_grafana_host&amp;gt;:3000/api/user/password&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;switch-user-context-for-a-specified-user&#34;&gt;Switch user context for a specified user&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/users/:userId/using/:organizationId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Switch user context to the given organization. Requires basic authentication and that the authenticated user is a Grafana Admin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/users/7/using/2 HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Active organization changed&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;switch-user-context-for-signed-in-user&#34;&gt;Switch user context for signed in user&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/user/using/:organizationId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Switch user context to the given organization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/user/using/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Active organization changed&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;organizations-of-the-actual-user&#34;&gt;Organizations of the actual User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/user/orgs&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Return a list of all organizations of the current user. Requires basic authentication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/user/orgs HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;orgId&amp;#34;:1,
    &amp;#34;name&amp;#34;:&amp;#34;Main Org.&amp;#34;,
    &amp;#34;role&amp;#34;:&amp;#34;Admin&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;teams-that-the-actual-user-is-member-of&#34;&gt;Teams that the actual User is member of&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/user/teams&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Return a list of all teams that the current user is member of.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/user/teams HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;orgId&amp;#34;: 1,
    &amp;#34;name&amp;#34;: &amp;#34;MyTestTeam&amp;#34;,
    &amp;#34;email&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;avatarUrl&amp;#34;: &amp;#34;\/avatar\/3f49c15916554246daa714b9bd0ee398&amp;#34;,
    &amp;#34;memberCount&amp;#34;: 1
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;star-a-dashboard&#34;&gt;Star a dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/user/stars/dashboard/:dashboardId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Stars the given Dashboard for the actual user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/user/stars/dashboard/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Dashboard starred!&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;unstar-a-dashboard&#34;&gt;Unstar a dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/user/stars/dashboard/:dashboardId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes the starring of the given Dashboard for the actual user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;DELETE /api/user/stars/dashboard/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;Dashboard unstarred&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;auth-tokens-of-the-actual-user&#34;&gt;Auth tokens of the actual User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/user/auth-tokens&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Return a list of all auth tokens (devices) that the actual user currently have logged in from.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;GET /api/user/auth-tokens HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

[
  {
    &amp;#34;id&amp;#34;: 361,
    &amp;#34;isActive&amp;#34;: true,
    &amp;#34;clientIp&amp;#34;: &amp;#34;127.0.0.1&amp;#34;,
    &amp;#34;browser&amp;#34;: &amp;#34;Chrome&amp;#34;,
    &amp;#34;browserVersion&amp;#34;: &amp;#34;72.0&amp;#34;,
    &amp;#34;os&amp;#34;: &amp;#34;Linux&amp;#34;,
    &amp;#34;osVersion&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;device&amp;#34;: &amp;#34;Other&amp;#34;,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2019-03-05T21:22:54&amp;#43;01:00&amp;#34;,
    &amp;#34;seenAt&amp;#34;: &amp;#34;2019-03-06T19:41:06&amp;#43;01:00&amp;#34;
  },
  {
    &amp;#34;id&amp;#34;: 364,
    &amp;#34;isActive&amp;#34;: false,
    &amp;#34;clientIp&amp;#34;: &amp;#34;127.0.0.1&amp;#34;,
    &amp;#34;browser&amp;#34;: &amp;#34;Mobile Safari&amp;#34;,
    &amp;#34;browserVersion&amp;#34;: &amp;#34;11.0&amp;#34;,
    &amp;#34;os&amp;#34;: &amp;#34;iOS&amp;#34;,
    &amp;#34;osVersion&amp;#34;: &amp;#34;11.0&amp;#34;,
    &amp;#34;device&amp;#34;: &amp;#34;iPhone&amp;#34;,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2019-03-06T19:41:19&amp;#43;01:00&amp;#34;,
    &amp;#34;seenAt&amp;#34;: &amp;#34;2019-03-06T19:41:21&amp;#43;01:00&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;revoke-an-auth-token-of-the-actual-user&#34;&gt;Revoke an auth token of the actual User&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/user/revoke-auth-token&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Revokes the given auth token (device) for the actual user. User of issued auth token (device) will no longer be logged in
and will be required to authenticate again upon next activity.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Request&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;POST /api/user/revoke-auth-token HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;authTokenId&amp;#34;: 364
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Example Response&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-http&#34;&gt;HTTP/1.1 200
Content-Type: application/json

{
  &amp;#34;message&amp;#34;: &amp;#34;User auth token revoked&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="user-api">User API&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise and have &lt;a href="../../enterprise/access-control/">Fine-grained access control&lt;/a> enabled, for some endpoints you would need to have relevant permissions.
Refer to specific resources to understand what permissions are required.&lt;/p></description></item></channel></rss>