<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/v12.4/developer-resources/api-reference/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/v12.4/developer-resources/api-reference/http-api/index.xml" rel="self" type="application/rss+xml"/><item><title>Authentication options for the HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/authentication/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/authentication/</guid><content><![CDATA[&lt;h1 id=&#34;authentication&#34;&gt;Authentication&lt;/h1&gt;
&lt;h2 id=&#34;authentication-options-for-the-http-api-for-grafana-oss&#34;&gt;Authentication options for the HTTP API for Grafana OSS&lt;/h2&gt;


&lt;div data-shared=&#34;developers/authentication.md&#34;&gt;
            &lt;p&gt;You can authenticate HTTP API requests using basic authentication or a service account token.&lt;/p&gt;
&lt;h3 id=&#34;basic-auth&#34;&gt;Basic auth&lt;/h3&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;h3 id=&#34;service-account-token&#34;&gt;Service account token&lt;/h3&gt;
&lt;p&gt;To create a service account token, click on &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, click &lt;strong&gt;Users and access&lt;/strong&gt;, then &lt;strong&gt;Service Accounts&lt;/strong&gt;.
For more information on how to use service account tokens, refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/service-accounts/&#34;&gt;Service Accounts&lt;/a&gt; documentation.&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;em&gt;&lt;code&gt;Bearer &amp;lt;YOUR_SERVICE_ACCOUNT_TOKEN&amp;gt;&lt;/code&gt;&lt;/em&gt;.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h2 id=&#34;authentication-options-for-the-http-api-in-grafana-cloud&#34;&gt;Authentication options for the HTTP API in Grafana Cloud&lt;/h2&gt;


&lt;div data-shared=&#34;/developer-resources/authentication.md&#34;&gt;
            &lt;p&gt;To use the HTTP API provided by a Grafana Cloud instance, authenticate requests with a service account token.&lt;/p&gt;
&lt;p&gt;To access or create your service account tokens, click on &lt;strong&gt;Administration&lt;/strong&gt; in the left-side menu, click &lt;strong&gt;Users and access&lt;/strong&gt;, then &lt;strong&gt;Service Accounts&lt;/strong&gt;. For details on creating service accounts, assigning permissions, and adding tokens, refer to &lt;a href=&#34;/docs/grafana-cloud/account-management/authentication-and-permissions/service-accounts/&#34;&gt;Service Accounts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Include the service account token in the &lt;code&gt;Authorization&lt;/code&gt; header for all requests to your Grafana instance:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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;Requests to the HTTP API are authenticated using the &lt;code&gt;Authorization&lt;/code&gt; header:&lt;/p&gt;

&lt;div class=&#34;code-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;Authorization: Bearer &amp;lt;SERVICE ACCOUNT TOKEN&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

        
]]></content><description>&lt;h1 id="authentication">Authentication&lt;/h1>
&lt;h2 id="authentication-options-for-the-http-api-for-grafana-oss">Authentication options for the HTTP API for Grafana OSS&lt;/h2>
&lt;div data-shared="developers/authentication.md">
&lt;p>You can authenticate HTTP API requests using basic authentication or a service account token.&lt;/p></description></item><item><title>HTTP API examples</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/examples/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/examples/</guid><content><![CDATA[&lt;h1 id=&#34;http-api-examples&#34;&gt;HTTP API examples&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/examples/create-api-tokens-for-org/&#34;&gt;API Tutorial: Create Service Account tokens and dashboards for an organization&lt;/a&gt;&lt;/li&gt;&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/examples/curl-examples/&#34;&gt;cURL examples&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
]]></content><description>&lt;h1 id="http-api-examples">HTTP API examples&lt;/h1>
&lt;ul>&lt;li>
&lt;a href="/docs/grafana/v12.4/developer-resources/api-reference/http-api/examples/create-api-tokens-for-org/">API Tutorial: Create Service Account tokens and dashboards for an organization&lt;/a>&lt;/li>&lt;li>
&lt;a href="/docs/grafana/v12.4/developer-resources/api-reference/http-api/examples/curl-examples/">cURL examples&lt;/a>&lt;/li>&lt;/ul></description></item><item><title>Admin HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/admin/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/admin/</guid><content><![CDATA[&lt;h1 id=&#34;admin-api&#34;&gt;Admin API&lt;/h1&gt;


&lt;div class=&#34;admonition admonition-caution&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Caution&lt;/p&gt;&lt;p&gt;You can&amp;rsquo;t authenticate to the Admin HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators&#34;&gt;Grafana server administrator permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use these API endpoints you have to use Basic authentication and the Grafana user must have the Grafana server administrator permission.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;admin&lt;/code&gt; user that Grafana is provisioned with by default has permissions to use these API endpoints.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;certs_watch_interval&amp;#34;: &amp;#34;0s&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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Available in Grafana Enterprise v8.0&#43;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;/docs/grafana/v12.4/http_api/admin/#admin-api&#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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;/docs/grafana/v12.4/setup-grafana/configure-grafana/#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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.
Change password for a specific user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:write&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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:write&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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: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/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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:write&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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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/access-control/reload&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/provisioning/alerting/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;/docs/grafana/v12.4/http_api/admin/#admin-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:alerting&lt;/td&gt;
              &lt;td&gt;alerting&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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;Starting with Grafana 12.4.0, this endpoint is removed.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;This endpoint has been removed from the Admin API. Starting with Grafana 12.4.0, SSO settings automatically reload the LDAP settings from the database or from the .toml file.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/ldap/reload&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 410
Content-Type: application/json

{&amp;#34;message&amp;#34;:&amp;#34;This endpoint has been removed. LDAP configuration is now loaded from SSO settings.&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;rotate-data-encryption-keys&#34;&gt;Rotate data encryption keys&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/encryption/rotate-data-keys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-security/configure-database-encryption/#rotate-data-keys&#34;&gt;Rotates&lt;/a&gt; data encryption keys.&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/encryption/rotate-data-keys 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 204
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;re-encrypt-data-encryption-keys&#34;&gt;Re-encrypt data encryption keys&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/encryption/reencrypt-data-keys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-security/configure-database-encryption/#re-encrypt-data-keys&#34;&gt;Re-encrypts&lt;/a&gt; data encryption keys.&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/encryption/reencrypt-data-keys 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 204
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;re-encrypt-secrets&#34;&gt;Re-encrypt secrets&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/encryption/reencrypt-secrets&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-security/configure-database-encryption/#re-encrypt-secrets&#34;&gt;Re-encrypts&lt;/a&gt; secrets.&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/encryption/reencrypt-secrets 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 204
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;roll-back-secrets&#34;&gt;Roll back secrets&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/admin/encryption/rollback-secrets&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-security/configure-database-encryption/#roll-back-secrets&#34;&gt;Rolls back&lt;/a&gt; secrets.&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/encryption/rollback-secrets 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 204
Content-Type: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="admin-api">Admin API&lt;/h1>
&lt;div class="admonition admonition-caution">&lt;blockquote>&lt;p class="title text-uppercase">Caution&lt;/p>&lt;p>You can&amp;rsquo;t authenticate to the Admin HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted
&lt;a href="/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators">Grafana server administrator permissions&lt;/a>.&lt;/p></description></item><item><title>Alerting Provisioning HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/alerting_provisioning/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/alerting_provisioning/</guid><content><![CDATA[&lt;h1 id=&#34;alerting-provisioning-http-api&#34;&gt;Alerting provisioning HTTP API&lt;/h1&gt;


&lt;div data-shared=&#34;alerts/alerting_provisioning.md&#34;&gt;
            &lt;p&gt;The Alerting Provisioning HTTP API can be used to create, modify, and delete resources relevant to Grafana-managed alerts. This API is the one used by our &lt;a href=&#34;https://registry.terraform.io/providers/grafana/grafana/latest/docs&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Terraform provider&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information on the differences between Grafana-managed and data source-managed alerts, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/fundamentals/alert-rules/&#34;&gt;Introduction to alert rules&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, you need to add specific permissions for some endpoints. For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;grafana-managed-endpoints&#34;&gt;Grafana-managed endpoints&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;In the Alerting provisioning HTTP API, the endpoints use a JSON format that differs from the format returned by the &lt;code&gt;export&lt;/code&gt; endpoints.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;export&lt;/code&gt; endpoints allow you to export alerting resources in a JSON format suitable for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;provisioning via files&lt;/a&gt;. However, this format cannot be used to update resources via the HTTP API.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;alert-rules&#34;&gt;Alert rules&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;Method&lt;/th&gt;
              &lt;th&gt;URI&lt;/th&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Summary&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;DELETE&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules/:uid&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-alert-rule&#34;&gt;route delete alert rule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Delete a specific alert rule by UID.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules/:uid&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule&#34;&gt;route get alert rule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get a specific alert rule by UID.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;POST&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-alert-rule&#34;&gt;route post alert rule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Create a new alert rule.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;PUT&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules/:uid&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule&#34;&gt;route put alert rule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Update an existing alert rule.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules/:uid/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-export&#34;&gt;route get alert rule export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export an alert rule in provisioning file format.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/folder/:folderUid/rule-groups/:group&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group&#34;&gt;route get alert rule group&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get a rule group.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;PUT&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/folder/:folderUid/rule-groups/:group&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-group&#34;&gt;route put alert rule group&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Create or update a rule group.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/folder/:folderUid/rule-groups/:group/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-export&#34;&gt;route get alert rule group export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export an alert rule group in provisioning file format.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules&#34;&gt;route get alert rules&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get all the alert rules.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/alert-rules/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-export&#34;&gt;route get alert rules export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export all alert rules in provisioning file format.&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 for new 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;POST /api/v1/provisioning/alert-rules
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;title&amp;#34;: &amp;#34;TEST-API_1&amp;#34;,
  &amp;#34;ruleGroup&amp;#34;: &amp;#34;API&amp;#34;,
  &amp;#34;folderUID&amp;#34;: &amp;#34;SET_FOLDER_UID&amp;#34;,
  &amp;#34;noDataState&amp;#34;: &amp;#34;OK&amp;#34;,
  &amp;#34;execErrState&amp;#34;: &amp;#34;OK&amp;#34;,
  &amp;#34;for&amp;#34;: &amp;#34;5m&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;condition&amp;#34;: &amp;#34;B&amp;#34;,
  &amp;#34;annotations&amp;#34;: {
    &amp;#34;summary&amp;#34;: &amp;#34;test_api_1&amp;#34;
  },
  &amp;#34;labels&amp;#34;: {
    &amp;#34;API&amp;#34;: &amp;#34;test1&amp;#34;
  },
  &amp;#34;data&amp;#34;: [
    {
      &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
      &amp;#34;queryType&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;relativeTimeRange&amp;#34;: {
        &amp;#34;from&amp;#34;: 600,
        &amp;#34;to&amp;#34;: 0
      },
      &amp;#34;datasourceUid&amp;#34;: &amp;#34;XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX&amp;#34;,
      &amp;#34;model&amp;#34;: {
        &amp;#34;expr&amp;#34;: &amp;#34;up&amp;#34;,
        &amp;#34;hide&amp;#34;: false,
        &amp;#34;intervalMs&amp;#34;: 1000,
        &amp;#34;maxDataPoints&amp;#34;: 43200,
        &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;
      }
    },
    {
      &amp;#34;refId&amp;#34;: &amp;#34;B&amp;#34;,
      &amp;#34;queryType&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;relativeTimeRange&amp;#34;: {
        &amp;#34;from&amp;#34;: 0,
        &amp;#34;to&amp;#34;: 0
      },
      &amp;#34;datasourceUid&amp;#34;: &amp;#34;-100&amp;#34;,
      &amp;#34;model&amp;#34;: {
        &amp;#34;conditions&amp;#34;: [
          {
            &amp;#34;evaluator&amp;#34;: {
              &amp;#34;params&amp;#34;: [6],
              &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;reducer&amp;#34;: {
              &amp;#34;params&amp;#34;: [],
              &amp;#34;type&amp;#34;: &amp;#34;last&amp;#34;
            },
            &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;
          }
        ],
        &amp;#34;datasource&amp;#34;: {
          &amp;#34;type&amp;#34;: &amp;#34;__expr__&amp;#34;,
          &amp;#34;uid&amp;#34;: &amp;#34;-100&amp;#34;
        },
        &amp;#34;hide&amp;#34;: false,
        &amp;#34;intervalMs&amp;#34;: 1000,
        &amp;#34;maxDataPoints&amp;#34;: 43200,
        &amp;#34;refId&amp;#34;: &amp;#34;B&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;classic_conditions&amp;#34;
      }
    }
  ]
}&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 201 Created
Content-Type: application/json

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;uid&amp;#34;: &amp;#34;XXXXXXXXX&amp;#34;,
  &amp;#34;orgID&amp;#34;: 1,
  &amp;#34;folderUID&amp;#34;: &amp;#34;SET_FOLDER_UID&amp;#34;,
  &amp;#34;ruleGroup&amp;#34;: &amp;#34;API3&amp;#34;,
  &amp;#34;title&amp;#34;: &amp;#34;TEST-API_1&amp;#34;,
  &amp;#34;condition&amp;#34;: &amp;#34;B&amp;#34;,
  &amp;#34;data&amp;#34;: [
    {
      &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
      &amp;#34;queryType&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;relativeTimeRange&amp;#34;: {
        &amp;#34;from&amp;#34;: 600,
        &amp;#34;to&amp;#34;: 0
      },
      &amp;#34;datasourceUid&amp;#34;: &amp;#34;XXXXXXXXX-XXXXXXXXX-XXXXXXXXXX&amp;#34;,
      &amp;#34;model&amp;#34;: {
        &amp;#34;expr&amp;#34;: &amp;#34;up&amp;#34;,
        &amp;#34;hide&amp;#34;: false,
        &amp;#34;intervalMs&amp;#34;: 1000,
        &amp;#34;maxDataPoints&amp;#34;: 43200,
        &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;
      }
    },
    {
      &amp;#34;refId&amp;#34;: &amp;#34;B&amp;#34;,
      &amp;#34;queryType&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;relativeTimeRange&amp;#34;: {
        &amp;#34;from&amp;#34;: 0,
        &amp;#34;to&amp;#34;: 0
      },
      &amp;#34;datasourceUid&amp;#34;: &amp;#34;-100&amp;#34;,
      &amp;#34;model&amp;#34;: {
        &amp;#34;conditions&amp;#34;: [
          {
            &amp;#34;evaluator&amp;#34;: {
              &amp;#34;params&amp;#34;: [
                6
              ],
              &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;reducer&amp;#34;: {
              &amp;#34;params&amp;#34;: [],
              &amp;#34;type&amp;#34;: &amp;#34;last&amp;#34;
            },
            &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;
          }
        ],
        &amp;#34;datasource&amp;#34;: {
          &amp;#34;type&amp;#34;: &amp;#34;__expr__&amp;#34;,
          &amp;#34;uid&amp;#34;: &amp;#34;-100&amp;#34;
        },
        &amp;#34;hide&amp;#34;: false,
        &amp;#34;intervalMs&amp;#34;: 1000,
        &amp;#34;maxDataPoints&amp;#34;: 43200,
        &amp;#34;refId&amp;#34;: &amp;#34;B&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;classic_conditions&amp;#34;
      }
    }
  ],
  &amp;#34;updated&amp;#34;: &amp;#34;2024-08-02T13:19:32.609640048Z&amp;#34;,
  &amp;#34;noDataState&amp;#34;: &amp;#34;OK&amp;#34;,
  &amp;#34;execErrState&amp;#34;: &amp;#34;OK&amp;#34;,
  &amp;#34;for&amp;#34;: &amp;#34;5m&amp;#34;,
  &amp;#34;annotations&amp;#34;: {
    &amp;#34;summary&amp;#34;: &amp;#34;test_api_1&amp;#34;
  },
  &amp;#34;labels&amp;#34;: {
    &amp;#34;API&amp;#34;: &amp;#34;test1&amp;#34;
  },
  &amp;#34;provenance&amp;#34;: &amp;#34;api&amp;#34;,
  &amp;#34;isPaused&amp;#34;: false,
  &amp;#34;notification_settings&amp;#34;: null,
  &amp;#34;record&amp;#34;: null
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;contact-points&#34;&gt;Contact points&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;Method&lt;/th&gt;
              &lt;th&gt;URI&lt;/th&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Summary&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;DELETE&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/contact-points/:uid&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-contactpoints&#34;&gt;route delete contactpoints&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Delete a contact point.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/contact-points&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints&#34;&gt;route get contactpoints&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get all the contact points.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;POST&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/contact-points&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-contactpoints&#34;&gt;route post contactpoints&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Create a contact point.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;PUT&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/contact-points/:uid&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-contactpoint&#34;&gt;route put contactpoint&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Update an existing contact point.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/contact-points/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-export&#34;&gt;route get contactpoints export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export all contact points in provisioning file format.&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 for all the contact points:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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/v1/provisioning/contact-points
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

[
  {
    &amp;#34;uid&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;name&amp;#34;: &amp;#34;email receiver&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;email&amp;#34;,
    &amp;#34;settings&amp;#34;: {
      &amp;#34;addresses&amp;#34;: &amp;#34;&amp;lt;example@email.com&amp;gt;&amp;#34;
    },
    &amp;#34;disableResolveMessage&amp;#34;: false
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;notification-policies&#34;&gt;Notification policies&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;Method&lt;/th&gt;
              &lt;th&gt;URI&lt;/th&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Summary&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;DELETE&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/policies&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-reset-policy-tree&#34;&gt;route reset policy tree&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Clears the notification policy tree.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/policies&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree&#34;&gt;route get policy tree&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get the notification policy tree.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;PUT&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/policies&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-policy-tree&#34;&gt;route put policy tree&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Sets the notification policy tree.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/policies/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-export&#34;&gt;route get policy tree export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export the notification policy tree in provisioning file format.&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 for exporting the notification policy tree in YAML format:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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/v1/provisioning/policies/export?format=yaml
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: text/yaml

apiVersion: 1
policies:
    - orgId: 1
      receiver: My Contact Email Point
      group_by:
        - grafana_folder
        - alertname
      routes:
        - receiver: My Contact Email Point
          object_matchers:
            - - monitor
              - =
              - testdata
          mute_time_intervals:
            - weekends&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;notification-template-groups&#34;&gt;Notification template groups&lt;/h3&gt;
&lt;p&gt;Template groups enable you to define multiple notification templates (&lt;code&gt;{{ define &amp;quot;&amp;quot; }}&lt;/code&gt;) within a single group. They can be managed from the Grafana Alerting UI.&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;Method&lt;/th&gt;
              &lt;th&gt;URI&lt;/th&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Summary&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;DELETE&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/templates/:name&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-template&#34;&gt;route delete template&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Delete a notification template group.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/templates/:name&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-template&#34;&gt;route get template&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get a notification template group.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/templates&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-templates&#34;&gt;route get template&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get all notification template groups.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;PUT&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/templates/:name&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template&#34;&gt;route put template&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Create or update a notification template group.&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 for all notification template groups:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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/v1/provisioning/templates
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

[
  {
    &amp;#34;name&amp;#34;: &amp;#34;custom_email.message&amp;#34;,
    &amp;#34;template&amp;#34;: &amp;#34;{{ define \&amp;#34;custom_email.message\&amp;#34; }}\n  Custom alert!\n{{ end }}&amp;#34;,
    &amp;#34;provenance&amp;#34;: &amp;#34;file&amp;#34;
  },
  {
    &amp;#34;name&amp;#34;: &amp;#34;custom_email.subject&amp;#34;,
    &amp;#34;template&amp;#34;: &amp;#34;{{ define \&amp;#34;custom_email.subject\&amp;#34; }}\n{{ len .Alerts.Firing }} firing alert(s), {{ len .Alerts.Resolved }} resolved alert(s)\n{{ end }}&amp;#34;,
    &amp;#34;provenance&amp;#34;: &amp;#34;file&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;mute-timings&#34;&gt;Mute timings&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;Method&lt;/th&gt;
              &lt;th&gt;URI&lt;/th&gt;
              &lt;th&gt;Name&lt;/th&gt;
              &lt;th&gt;Summary&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;DELETE&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings/:name&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-mute-timing&#34;&gt;route delete mute timing&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Delete a mute timing.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings/:name&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing&#34;&gt;route get mute timing&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get a mute timing.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings&#34;&gt;route get mute timings&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Get all the mute timings.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;POST&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-mute-timing&#34;&gt;route post mute timing&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Create a new mute timing.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;PUT&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings/:name&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing&#34;&gt;route put mute timing&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Replace an existing mute timing.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export&#34;&gt;route get mute timings export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export all mute timings in provisioning file format.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GET&lt;/td&gt;
              &lt;td&gt;/api/v1/provisioning/mute-timings/:name/export&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-export&#34;&gt;route get mute timing export&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Export a mute timing in provisioning file format.&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 for all mute timings:&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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/v1/provisioning/mute-timings
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

[
  {
    &amp;#34;name&amp;#34;: &amp;#34;weekends&amp;#34;,
    &amp;#34;time_intervals&amp;#34;: [
      {
        &amp;#34;weekdays&amp;#34;: [
          &amp;#34;saturday&amp;#34;,
          &amp;#34;sunday&amp;#34;
        ]
      }
    ],
    &amp;#34;version&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;provenance&amp;#34;: &amp;#34;file&amp;#34;
  }
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;edit-resources-in-the-grafana-ui&#34;&gt;Edit resources in the Grafana UI&lt;/h3&gt;
&lt;p&gt;By default, you cannot edit API-provisioned alerting resources in Grafana.&lt;/p&gt;
&lt;p&gt;To enable editing these resources in the Grafana UI, add the &lt;strong&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/strong&gt; header to the following API requests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#route-put-alert-rule-group&#34;&gt;&lt;code&gt;PUT /api/v1/provisioning/folder/{FolderUID}/rule-groups/{Group}&lt;/code&gt;&lt;/a&gt;: This action also sets the provenance for the rule group and all its alert rules.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#route-post-alert-rule&#34;&gt;&lt;code&gt;POST /api/v1/provisioning/alert-rules&lt;/code&gt;&lt;/a&gt;: The provenance of the new alert rule must match the provenance value configured for its rule group.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;##route-post-contactpoints&#34;&gt;&lt;code&gt;POST /api/v1/provisioning/contact-points&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#route-post-mute-timing&#34;&gt;&lt;code&gt;POST /api/v1/provisioning/mute-timings&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#route-put-template&#34;&gt;&lt;code&gt;PUT /api/v1/provisioning/templates/{name}&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#route-put-policy-tree&#34;&gt;&lt;code&gt;PUT /api/v1/provisioning/policies&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To reset the notification policy tree to the default and unlock it for editing in the Grafana UI, use:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#route-reset-policy-tree&#34;&gt;&lt;code&gt;DELETE /api/v1/provisioning/policies&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;data-source-managed-resources&#34;&gt;Data source-managed resources&lt;/h2&gt;
&lt;p&gt;The Alerting Provisioning HTTP API can only be used to manage Grafana-managed alert resources. To manage resources related to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/alerting-rules/create-data-source-managed-rule/&#34;&gt;data source-managed alerts&lt;/a&gt;, consider the following tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/mimir/v12.4/manage/tools/mimirtool/&#34;&gt;mimirtool&lt;/a&gt;: to interact with the Mimir alertmanager and ruler configuration.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/grafana/cortex-tools#cortextool&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;cortex-tools&lt;/a&gt;: to interact with the Cortex alertmanager and ruler configuration.&lt;/li&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/loki/latest/alert/#lokitool&#34;&gt;lokitool&lt;/a&gt;: to configure the Loki Ruler.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Alternatively, the &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;Grafana Alerting API&lt;/a&gt; can be used to access data from data source-managed alerts. This API is primarily intended for internal usage, with the exception of the &lt;code&gt;/api/v1/provisioning/&lt;/code&gt; endpoints. It&amp;rsquo;s important to note that internal APIs may undergo changes without prior notice and are not officially supported for user consumption.&lt;/p&gt;
&lt;p&gt;For Prometheus, &lt;code&gt;amtool&lt;/code&gt; can also be used to interact with the &lt;a href=&#34;https://petstore.swagger.io/?url=https://raw.githubusercontent.com/prometheus/alertmanager/main/api/v2/openapi.yaml#/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;AlertManager API&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;paths&#34;&gt;Paths&lt;/h2&gt;
&lt;h3 id=&#34;delete-a-specific-alert-rule-by-uid-routedeletealertrule&#34;&gt;&lt;span id=&#34;route-delete-alert-rule&#34;&gt;&lt;/span&gt; Delete a specific alert rule by UID. (&lt;em&gt;RouteDeleteAlertRule&lt;/em&gt;)&lt;/h3&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;DELETE /api/v1/provisioning/alert-rules/:uid&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;UID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Alert rule UID&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-alert-rule-204&#34;&gt;204&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;No Content&lt;/td&gt;
              &lt;td&gt;The alert rule was deleted successfully.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-alert-rule-204-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;204---the-alert-rule-was-deleted-successfully&#34;&gt;&lt;span id=&#34;route-delete-alert-rule-204&#34;&gt;&lt;/span&gt; 204 - The alert rule was deleted successfully.&lt;/h5&gt;
&lt;p&gt;Status: No Content&lt;/p&gt;
&lt;h6 id=&#34;schema&#34;&gt;&lt;span id=&#34;route-delete-alert-rule-204-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;delete-a-contact-point-routedeletecontactpoints&#34;&gt;&lt;span id=&#34;route-delete-contactpoints&#34;&gt;&lt;/span&gt; Delete a contact point. (&lt;em&gt;RouteDeleteContactpoints&lt;/em&gt;)&lt;/h3&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;DELETE /api/v1/provisioning/contact-points/:uid&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-1&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;UID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;UID is the contact point unique identifier&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-1&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-contactpoints-204&#34;&gt;204&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;No Content&lt;/td&gt;
              &lt;td&gt;The contact point was deleted successfully.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-contactpoints-204-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-1&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;204---the-contact-point-was-deleted-successfully&#34;&gt;&lt;span id=&#34;route-delete-contactpoints-204&#34;&gt;&lt;/span&gt; 204 - The contact point was deleted successfully.&lt;/h5&gt;
&lt;p&gt;Status: No Content&lt;/p&gt;
&lt;h6 id=&#34;schema-1&#34;&gt;&lt;span id=&#34;route-delete-contactpoints-204-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;delete-a-mute-timing-routedeletemutetiming&#34;&gt;&lt;span id=&#34;route-delete-mute-timing&#34;&gt;&lt;/span&gt; Delete a mute timing. (&lt;em&gt;RouteDeleteMuteTiming&lt;/em&gt;)&lt;/h3&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;DELETE /api/v1/provisioning/mute-timings/:name&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-2&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Mute timing name&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Current version of the resource. Used for optimistic concurrency validation. Keep empty to bypass validation.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-2&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-mute-timing-204&#34;&gt;204&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;No Content&lt;/td&gt;
              &lt;td&gt;The mute timing was deleted successfully.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-mute-timing-204-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-mute-timing-409&#34;&gt;409&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Conflict&lt;/td&gt;
              &lt;td&gt;GenericPublicError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-mute-timing-409-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-2&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;204---the-mute-timing-was-deleted-successfully&#34;&gt;&lt;span id=&#34;route-delete-mute-timing-204&#34;&gt;&lt;/span&gt; 204 - The mute timing was deleted successfully.&lt;/h5&gt;
&lt;p&gt;Status: No Content&lt;/p&gt;
&lt;h6 id=&#34;schema-2&#34;&gt;&lt;span id=&#34;route-delete-mute-timing-204-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h5 id=&#34;409---conflict&#34;&gt;&lt;span id=&#34;route-delete-mute-timing-409&#34;&gt;&lt;/span&gt; 409 - Conflict&lt;/h5&gt;
&lt;p&gt;Status: Conflict&lt;/p&gt;
&lt;h6 id=&#34;schema-3&#34;&gt;&lt;span id=&#34;route-delete-mute-timing-409-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#generic-public-error&#34;&gt;GenericPublicError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;delete-a-notification-template-group-routedeletetemplate&#34;&gt;&lt;span id=&#34;route-delete-template&#34;&gt;&lt;/span&gt; Delete a notification template group. (&lt;em&gt;RouteDeleteTemplate&lt;/em&gt;)&lt;/h3&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;DELETE /api/v1/provisioning/templates/:name&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-3&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Name of the template group&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Current version of the resource. Used for optimistic concurrency validation. Keep empty to bypass validation.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-3&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-template-204&#34;&gt;204&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;No Content&lt;/td&gt;
              &lt;td&gt;The template was deleted successfully.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-template-204-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-template-409&#34;&gt;409&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Conflict&lt;/td&gt;
              &lt;td&gt;GenericPublicError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-delete-template-409-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-3&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;204---the-template-was-deleted-successfully&#34;&gt;&lt;span id=&#34;route-delete-template-204&#34;&gt;&lt;/span&gt; 204 - The template was deleted successfully.&lt;/h5&gt;
&lt;p&gt;Status: No Content&lt;/p&gt;
&lt;h6 id=&#34;schema-4&#34;&gt;&lt;span id=&#34;route-delete-template-204-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h5 id=&#34;409---conflict-1&#34;&gt;&lt;span id=&#34;route-delete-template-409&#34;&gt;&lt;/span&gt; 409 - Conflict&lt;/h5&gt;
&lt;p&gt;Status: Conflict&lt;/p&gt;
&lt;h6 id=&#34;schema-5&#34;&gt;&lt;span id=&#34;route-delete-template-409-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#generic-public-error&#34;&gt;GenericPublicError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;get-a-specific-alert-rule-by-uid-routegetalertrule&#34;&gt;&lt;span id=&#34;route-get-alert-rule&#34;&gt;&lt;/span&gt; Get a specific alert rule by UID. (&lt;em&gt;RouteGetAlertRule&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/alert-rules/:uid&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-4&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;UID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Alert rule UID&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-4&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;ProvisionedAlertRule&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;Not found.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-4&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---provisionedalertrule&#34;&gt;&lt;span id=&#34;route-get-alert-rule-200&#34;&gt;&lt;/span&gt; 200 - ProvisionedAlertRule&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-6&#34;&gt;&lt;span id=&#34;route-get-alert-rule-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found&#34;&gt;&lt;span id=&#34;route-get-alert-rule-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-7&#34;&gt;&lt;span id=&#34;route-get-alert-rule-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;export-an-alert-rule-in-provisioning-file-format-routegetalertruleexport&#34;&gt;&lt;span id=&#34;route-get-alert-rule-export&#34;&gt;&lt;/span&gt; Export an alert rule in provisioning file format. (&lt;em&gt;RouteGetAlertRuleExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/alert-rules/:uid/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-5&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;UID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Alert rule UID&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-5&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertingFileExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-export-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;Not found.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-export-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-5&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertingfileexport&#34;&gt;&lt;span id=&#34;route-get-alert-rule-export-200&#34;&gt;&lt;/span&gt; 200 - AlertingFileExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-8&#34;&gt;&lt;span id=&#34;route-get-alert-rule-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found-1&#34;&gt;&lt;span id=&#34;route-get-alert-rule-export-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-9&#34;&gt;&lt;span id=&#34;route-get-alert-rule-export-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;get-a-rule-group-routegetalertrulegroup&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group&#34;&gt;&lt;/span&gt; Get a rule group. (&lt;em&gt;RouteGetAlertRuleGroup&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-6&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;FolderUID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Group&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-6&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertRuleGroup&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;Not found.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-6&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertrulegroup&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-200&#34;&gt;&lt;/span&gt; 200 - AlertRuleGroup&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-10&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alert-rule-group&#34;&gt;AlertRuleGroup&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found-2&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-11&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;export-an-alert-rule-group-in-provisioning-file-format-routegetalertrulegroupexport&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-export&#34;&gt;&lt;/span&gt; Export an alert rule group in provisioning file format. (&lt;em&gt;RouteGetAlertRuleGroupExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/folder/:folderUid/rule-groups/:group/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-7&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;FolderUID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Group&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-7&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertingFileExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-export-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;Not found.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rule-group-export-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-7&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertingfileexport-1&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-export-200&#34;&gt;&lt;/span&gt; 200 - AlertingFileExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-12&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found-3&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-export-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-13&#34;&gt;&lt;span id=&#34;route-get-alert-rule-group-export-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;get-all-the-alert-rules-routegetalertrules&#34;&gt;&lt;span id=&#34;route-get-alert-rules&#34;&gt;&lt;/span&gt; Get all the alert rules. (&lt;em&gt;RouteGetAlertRules&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/alert-rules&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-8&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;ProvisionedAlertRules&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-8&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---provisionedalertrules&#34;&gt;&lt;span id=&#34;route-get-alert-rules-200&#34;&gt;&lt;/span&gt; 200 - ProvisionedAlertRules&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-14&#34;&gt;&lt;span id=&#34;route-get-alert-rules-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#provisioned-alert-rules&#34;&gt;ProvisionedAlertRules&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;export-all-alert-rules-in-provisioning-file-format-routegetalertrulesexport&#34;&gt;&lt;span id=&#34;route-get-alert-rules-export&#34;&gt;&lt;/span&gt; Export all alert rules in provisioning file format. (&lt;em&gt;RouteGetAlertRulesExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/alert-rules/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-8&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-9&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertingFileExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-export-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;Not found.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-alert-rules-export-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-9&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertingfileexport-2&#34;&gt;&lt;span id=&#34;route-get-alert-rules-export-200&#34;&gt;&lt;/span&gt; 200 - AlertingFileExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-15&#34;&gt;&lt;span id=&#34;route-get-alert-rules-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found-4&#34;&gt;&lt;span id=&#34;route-get-alert-rules-export-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-16&#34;&gt;&lt;span id=&#34;route-get-alert-rules-export-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;get-all-the-contact-points-routegetcontactpoints&#34;&gt;&lt;span id=&#34;route-get-contactpoints&#34;&gt;&lt;/span&gt; Get all the contact points. (&lt;em&gt;RouteGetContactpoints&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/contact-points&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-9&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Filter by name&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-10&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;ContactPoints&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-10&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---contactpoints&#34;&gt;&lt;span id=&#34;route-get-contactpoints-200&#34;&gt;&lt;/span&gt; 200 - ContactPoints&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-17&#34;&gt;&lt;span id=&#34;route-get-contactpoints-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#contact-points&#34;&gt;ContactPoints&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;export-all-contact-points-in-provisioning-file-format-routegetcontactpointsexport&#34;&gt;&lt;span id=&#34;route-get-contactpoints-export&#34;&gt;&lt;/span&gt; Export all contact points in provisioning file format. (&lt;em&gt;RouteGetContactpointsExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/contact-points/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-10&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;decrypt&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether any contained secure settings should be decrypted or left redacted. Redacted settings will contain RedactedValue instead. Currently, only org admin can view decrypted secure settings.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Filter by name&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-11&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertingFileExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-export-403&#34;&gt;403&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Forbidden&lt;/td&gt;
              &lt;td&gt;PermissionDenied&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-contactpoints-export-403-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-11&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertingfileexport-3&#34;&gt;&lt;span id=&#34;route-get-contactpoints-export-200&#34;&gt;&lt;/span&gt; 200 - AlertingFileExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-18&#34;&gt;&lt;span id=&#34;route-get-contactpoints-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;403---permissiondenied&#34;&gt;&lt;span id=&#34;route-get-contactpoints-export-403&#34;&gt;&lt;/span&gt; 403 - PermissionDenied&lt;/h5&gt;
&lt;p&gt;Status: Forbidden&lt;/p&gt;
&lt;h6 id=&#34;schema-19&#34;&gt;&lt;span id=&#34;route-get-contactpoints-export-403-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#permission-denied&#34;&gt;PermissionDenied&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;get-a-mute-timing-routegetmutetiming&#34;&gt;&lt;span id=&#34;route-get-mute-timing&#34;&gt;&lt;/span&gt; Get a mute timing. (&lt;em&gt;RouteGetMuteTiming&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/mute-timings/:name&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-11&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Mute timing name&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-12&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;MuteTimeInterval&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;Not found.&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-12&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---mutetimeinterval&#34;&gt;&lt;span id=&#34;route-get-mute-timing-200&#34;&gt;&lt;/span&gt; 200 - MuteTimeInterval&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-20&#34;&gt;&lt;span id=&#34;route-get-mute-timing-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#mute-time-interval&#34;&gt;MuteTimeInterval&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found-5&#34;&gt;&lt;span id=&#34;route-get-mute-timing-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-21&#34;&gt;&lt;span id=&#34;route-get-mute-timing-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;get-all-the-mute-timings-routegetmutetimings&#34;&gt;&lt;span id=&#34;route-get-mute-timings&#34;&gt;&lt;/span&gt; Get all the mute timings. (&lt;em&gt;RouteGetMuteTimings&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/mute-timings&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-13&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;MuteTimings&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-13&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---mutetimings&#34;&gt;&lt;span id=&#34;route-get-mute-timings-200&#34;&gt;&lt;/span&gt; 200 - MuteTimings&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-22&#34;&gt;&lt;span id=&#34;route-get-mute-timings-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#mute-timings&#34;&gt;MuteTimings&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;export-all-mute-timings-in-provisioning-file-format-routegetmutetimingsexport&#34;&gt;&lt;span id=&#34;route-get-mute-timings-export&#34;&gt;&lt;/span&gt; Export all mute timings in provisioning file format. (&lt;em&gt;RouteGetMuteTimingsExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/mute-timings/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-12&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-14&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;MuteTimingsExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export-403&#34;&gt;403&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Forbidden&lt;/td&gt;
              &lt;td&gt;PermissionDenied&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export-403-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-14&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---mutetimingsexport&#34;&gt;&lt;span id=&#34;route-get-mute-timings-export-200&#34;&gt;&lt;/span&gt; 200 - MuteTimingsExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-23&#34;&gt;&lt;span id=&#34;route-get-mute-timings-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;403---permissiondenied-1&#34;&gt;&lt;span id=&#34;route-get-mute-timings-export-403&#34;&gt;&lt;/span&gt; 403 - PermissionDenied&lt;/h5&gt;
&lt;p&gt;Status: Forbidden&lt;/p&gt;
&lt;h6 id=&#34;schema-24&#34;&gt;&lt;span id=&#34;route-get-mute-timings-export-403-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#permission-denied&#34;&gt;PermissionDenied&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;export-a-mute-timing-in-provisioning-file-format-routegetmutetimingexport&#34;&gt;&lt;span id=&#34;route-get-mute-timing-export&#34;&gt;&lt;/span&gt; Export a mute timing in provisioning file format. (&lt;em&gt;RouteGetMuteTimingExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/mute-timings/:name/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-13&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Mute timing name.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-15&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;MuteTimingExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timing-export-403&#34;&gt;403&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Forbidden&lt;/td&gt;
              &lt;td&gt;PermissionDenied&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-mute-timings-export-403-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-15&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---mutetimingexport&#34;&gt;&lt;span id=&#34;route-get-mute-timing-export-200&#34;&gt;&lt;/span&gt; 200 - MuteTimingExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-25&#34;&gt;&lt;span id=&#34;route-get-mute-timing-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;403---permissiondenied-2&#34;&gt;&lt;span id=&#34;route-get-mute-timing-export-403&#34;&gt;&lt;/span&gt; 403 - PermissionDenied&lt;/h5&gt;
&lt;p&gt;Status: Forbidden&lt;/p&gt;
&lt;h6 id=&#34;schema-26&#34;&gt;&lt;span id=&#34;route-get-mute-timing-export-403-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#permission-denied&#34;&gt;PermissionDenied&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;get-the-notification-policy-tree-routegetpolicytree&#34;&gt;&lt;span id=&#34;route-get-policy-tree&#34;&gt;&lt;/span&gt; Get the notification policy tree. (&lt;em&gt;RouteGetPolicyTree&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/policies&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-16&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;Route&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-16&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---route&#34;&gt;&lt;span id=&#34;route-get-policy-tree-200&#34;&gt;&lt;/span&gt; 200 - Route&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-27&#34;&gt;&lt;span id=&#34;route-get-policy-tree-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#route&#34;&gt;Route&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;export-the-notification-policy-tree-in-provisioning-file-format-routegetpolicytreeexport&#34;&gt;&lt;span id=&#34;route-get-policy-tree-export&#34;&gt;&lt;/span&gt; Export the notification policy tree in provisioning file format. (&lt;em&gt;RouteGetPolicyTreeExport&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/policies/export&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;div data-shared=&#34;alerts/alerting-provisioning-export-produces.md&#34;&gt;
            &lt;h4 id=&#34;produces&#34;&gt;Produces&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;application/json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;application/terraform&#43;hcl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/yaml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text/hcl&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These outputs are for 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;file provisioning&lt;/a&gt; or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/set-up/provision-alerting-resources/file-provisioning/&#34;&gt;Terraform provisioning&lt;/a&gt;, and they-including the JSON output—cannot be used to update resources via the HTTP API.&lt;/p&gt;
&lt;/div&gt;

        
&lt;h4 id=&#34;parameters-14&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;download&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Whether to initiate a download of the file or not.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;query&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;yaml&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Format of the downloaded file, either &lt;code&gt;yaml&lt;/code&gt;, &lt;code&gt;json&lt;/code&gt; or &lt;code&gt;hcl&lt;/code&gt;. Accept header can also be used, but the query parameter will take precedence.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-17&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-export-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertingFileExport&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-export-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-export-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;NotFound&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-policy-tree-export-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-17&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertingfileexport-4&#34;&gt;&lt;span id=&#34;route-get-policy-tree-export-200&#34;&gt;&lt;/span&gt; 200 - AlertingFileExport&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-28&#34;&gt;&lt;span id=&#34;route-get-policy-tree-export-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alerting-file-export&#34;&gt;AlertingFileExport&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---notfound&#34;&gt;&lt;span id=&#34;route-get-policy-tree-export-404&#34;&gt;&lt;/span&gt; 404 - NotFound&lt;/h5&gt;
&lt;p&gt;Status: Not Found&lt;/p&gt;
&lt;h6 id=&#34;schema-29&#34;&gt;&lt;span id=&#34;route-get-policy-tree-export-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#not-found&#34;&gt;NotFound&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;get-a-notification-template-group-routegettemplate&#34;&gt;&lt;span id=&#34;route-get-template&#34;&gt;&lt;/span&gt; Get a notification template group. (&lt;em&gt;RouteGetTemplate&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/templates/:name&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-15&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Name of the template group&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;all-responses-18&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-template-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;NotificationTemplate&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-template-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-template-404&#34;&gt;404&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Not Found&lt;/td&gt;
              &lt;td&gt;GenericPublicError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-template-404-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-18&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---notificationtemplate&#34;&gt;&lt;span id=&#34;route-get-template-200&#34;&gt;&lt;/span&gt; 200 - NotificationTemplate&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-30&#34;&gt;&lt;span id=&#34;route-get-template-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#notification-template&#34;&gt;NotificationTemplate&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;404---not-found-6&#34;&gt;&lt;span id=&#34;route-get-template-404&#34;&gt;&lt;/span&gt; 404 - Not found.&lt;/h5&gt;
&lt;p&gt;&lt;a href=&#34;#generic-public-error&#34;&gt;GenericPublicError&lt;/a&gt;&lt;/p&gt;
&lt;h6 id=&#34;schema-31&#34;&gt;&lt;span id=&#34;route-get-template-404-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;h3 id=&#34;get-all-notification-template-groups-routegettemplates&#34;&gt;&lt;span id=&#34;route-get-templates&#34;&gt;&lt;/span&gt; Get all notification template groups. (&lt;em&gt;RouteGetTemplates&lt;/em&gt;)&lt;/h3&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;GET /api/v1/provisioning/templates&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-19&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-templates-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;NotificationTemplates&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-get-templates-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-19&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---notificationtemplates&#34;&gt;&lt;span id=&#34;route-get-templates-200&#34;&gt;&lt;/span&gt; 200 - NotificationTemplates&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-32&#34;&gt;&lt;span id=&#34;route-get-templates-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#notification-templates&#34;&gt;NotificationTemplates&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;create-a-new-alert-rule-routepostalertrule&#34;&gt;&lt;span id=&#34;route-post-alert-rule&#34;&gt;&lt;/span&gt; Create a new alert rule. (&lt;em&gt;RoutePostAlertRule&lt;/em&gt;)&lt;/h3&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;POST /api/v1/provisioning/alert-rules&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This action creates a new alert rule.&lt;/p&gt;
&lt;p&gt;The provenance (&lt;code&gt;X-Disable-Provenance&lt;/code&gt;) of the new rule must match the provenance configured for its rule group. Mixing provisioned and unprovisioned alert rules within the same rule group is not allowed.&lt;/p&gt;
&lt;h4 id=&#34;parameters-16&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.ProvisionedAlertRule&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-20&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-alert-rule-201&#34;&gt;201&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Created&lt;/td&gt;
              &lt;td&gt;ProvisionedAlertRule&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-alert-rule-201-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-alert-rule-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-alert-rule-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-20&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;201---provisionedalertrule&#34;&gt;&lt;span id=&#34;route-post-alert-rule-201&#34;&gt;&lt;/span&gt; 201 - ProvisionedAlertRule&lt;/h5&gt;
&lt;p&gt;Status: Created&lt;/p&gt;
&lt;h6 id=&#34;schema-33&#34;&gt;&lt;span id=&#34;route-post-alert-rule-201-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror&#34;&gt;&lt;span id=&#34;route-post-alert-rule-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-34&#34;&gt;&lt;span id=&#34;route-post-alert-rule-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;create-a-contact-point-routepostcontactpoints&#34;&gt;&lt;span id=&#34;route-post-contactpoints&#34;&gt;&lt;/span&gt; Create a contact point. (&lt;em&gt;RoutePostContactpoints&lt;/em&gt;)&lt;/h3&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;POST /api/v1/provisioning/contact-points&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;When creating a contact point, the &lt;code&gt;EmbeddedContactPoint.name&lt;/code&gt; property determines if the new contact point is added to an existing one. In the UI, contact points with the same name are grouped together under a single contact point.&lt;/p&gt;
&lt;h4 id=&#34;parameters-17&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#embedded-contact-point&#34;&gt;EmbeddedContactPoint&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.EmbeddedContactPoint&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-21&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-contactpoints-202&#34;&gt;202&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Accepted&lt;/td&gt;
              &lt;td&gt;EmbeddedContactPoint&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-contactpoints-202-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-contactpoints-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-contactpoints-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-21&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;202---embeddedcontactpoint&#34;&gt;&lt;span id=&#34;route-post-contactpoints-202&#34;&gt;&lt;/span&gt; 202 - EmbeddedContactPoint&lt;/h5&gt;
&lt;p&gt;Status: Accepted&lt;/p&gt;
&lt;h6 id=&#34;schema-35&#34;&gt;&lt;span id=&#34;route-post-contactpoints-202-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#embedded-contact-point&#34;&gt;EmbeddedContactPoint&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-1&#34;&gt;&lt;span id=&#34;route-post-contactpoints-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-36&#34;&gt;&lt;span id=&#34;route-post-contactpoints-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;create-a-new-mute-timing-routepostmutetiming&#34;&gt;&lt;span id=&#34;route-post-mute-timing&#34;&gt;&lt;/span&gt; Create a new mute timing. (&lt;em&gt;RoutePostMuteTiming&lt;/em&gt;)&lt;/h3&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;POST /api/v1/provisioning/mute-timings&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-18&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#mute-time-interval&#34;&gt;MuteTimeInterval&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.MuteTimeInterval&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-22&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-mute-timing-201&#34;&gt;201&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Created&lt;/td&gt;
              &lt;td&gt;MuteTimeInterval&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-mute-timing-201-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-mute-timing-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-post-mute-timing-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-22&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;201---mutetimeinterval&#34;&gt;&lt;span id=&#34;route-post-mute-timing-201&#34;&gt;&lt;/span&gt; 201 - MuteTimeInterval&lt;/h5&gt;
&lt;p&gt;Status: Created&lt;/p&gt;
&lt;h6 id=&#34;schema-37&#34;&gt;&lt;span id=&#34;route-post-mute-timing-201-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#mute-time-interval&#34;&gt;MuteTimeInterval&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-2&#34;&gt;&lt;span id=&#34;route-post-mute-timing-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-38&#34;&gt;&lt;span id=&#34;route-post-mute-timing-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;update-an-existing-alert-rule-routeputalertrule&#34;&gt;&lt;span id=&#34;route-put-alert-rule&#34;&gt;&lt;/span&gt; Update an existing alert rule. (&lt;em&gt;RoutePutAlertRule&lt;/em&gt;)&lt;/h3&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;PUT /api/v1/provisioning/alert-rules/:uid&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-19&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;UID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Alert rule UID&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.ProvisionedAlertRule&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-23&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;ProvisionedAlertRule&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-23&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---provisionedalertrule-1&#34;&gt;&lt;span id=&#34;route-put-alert-rule-200&#34;&gt;&lt;/span&gt; 200 - ProvisionedAlertRule&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-39&#34;&gt;&lt;span id=&#34;route-put-alert-rule-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-3&#34;&gt;&lt;span id=&#34;route-put-alert-rule-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-40&#34;&gt;&lt;span id=&#34;route-put-alert-rule-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;create-or-update-a-rule-group-routeputalertrulegroup&#34;&gt;&lt;span id=&#34;route-put-alert-rule-group&#34;&gt;&lt;/span&gt; Create or update a rule group. (&lt;em&gt;RoutePutAlertRuleGroup&lt;/em&gt;)&lt;/h3&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;PUT /api/v1/provisioning/folder/:folderUid/rule-groups/:group&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This action also changes the provenance setting (&lt;code&gt;X-Disable-Provenance&lt;/code&gt;) for all alert rules in the alert group.&lt;/p&gt;
&lt;h4 id=&#34;parameters-20&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;FolderUID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Group&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI. This also applies to all alert rules within the alert group.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#alert-rule-group&#34;&gt;AlertRuleGroup&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.AlertRuleGroup&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;This action is idempotent and rules included in this body will overwrite configured rules for the group&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-24&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-group-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;AlertRuleGroup&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-group-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-group-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-alert-rule-group-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-24&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---alertrulegroup-1&#34;&gt;&lt;span id=&#34;route-put-alert-rule-group-200&#34;&gt;&lt;/span&gt; 200 - AlertRuleGroup&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-41&#34;&gt;&lt;span id=&#34;route-put-alert-rule-group-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#alert-rule-group&#34;&gt;AlertRuleGroup&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-4&#34;&gt;&lt;span id=&#34;route-put-alert-rule-group-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-42&#34;&gt;&lt;span id=&#34;route-put-alert-rule-group-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;update-an-existing-contact-point-routeputcontactpoint&#34;&gt;&lt;span id=&#34;route-put-contactpoint&#34;&gt;&lt;/span&gt; Update an existing contact point. (&lt;em&gt;RoutePutContactpoint&lt;/em&gt;)&lt;/h3&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;PUT /api/v1/provisioning/contact-points/:uid&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-21&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;UID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;UID is the contact point unique identifier&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#embedded-contact-point&#34;&gt;EmbeddedContactPoint&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.EmbeddedContactPoint&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-25&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-contactpoint-202&#34;&gt;202&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Accepted&lt;/td&gt;
              &lt;td&gt;Ack&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-contactpoint-202-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-contactpoint-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-contactpoint-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-25&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;202---ack&#34;&gt;&lt;span id=&#34;route-put-contactpoint-202&#34;&gt;&lt;/span&gt; 202 - Ack&lt;/h5&gt;
&lt;p&gt;Status: Accepted&lt;/p&gt;
&lt;h6 id=&#34;schema-43&#34;&gt;&lt;span id=&#34;route-put-contactpoint-202-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#ack&#34;&gt;Ack&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-5&#34;&gt;&lt;span id=&#34;route-put-contactpoint-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-44&#34;&gt;&lt;span id=&#34;route-put-contactpoint-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;replace-an-existing-mute-timing-routeputmutetiming&#34;&gt;&lt;span id=&#34;route-put-mute-timing&#34;&gt;&lt;/span&gt; Replace an existing mute timing. (&lt;em&gt;RoutePutMuteTiming&lt;/em&gt;)&lt;/h3&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;PUT /api/v1/provisioning/mute-timings/:name&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-22&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Default&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;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;✓&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;Mute timing name&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#mute-time-interval&#34;&gt;MuteTimeInterval&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.MuteTimeInterval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-26&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing-200&#34;&gt;200&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;OK&lt;/td&gt;
              &lt;td&gt;MuteTimeInterval&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing-200-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing-409&#34;&gt;409&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Conflict&lt;/td&gt;
              &lt;td&gt;GenericPublicError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-mute-timing-409-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-26&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;200---mutetimeinterval-1&#34;&gt;&lt;span id=&#34;route-put-mute-timing-200&#34;&gt;&lt;/span&gt; 200 - MuteTimeInterval&lt;/h5&gt;
&lt;p&gt;Status: OK&lt;/p&gt;
&lt;h6 id=&#34;schema-45&#34;&gt;&lt;span id=&#34;route-put-mute-timing-200-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#mute-time-interval&#34;&gt;MuteTimeInterval&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-6&#34;&gt;&lt;span id=&#34;route-put-mute-timing-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-46&#34;&gt;&lt;span id=&#34;route-put-mute-timing-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;409---conflict-2&#34;&gt;&lt;span id=&#34;route-put-mute-timing-409&#34;&gt;&lt;/span&gt; 409 - Conflict&lt;/h5&gt;
&lt;p&gt;Status: Conflict&lt;/p&gt;
&lt;h6 id=&#34;schema-47&#34;&gt;&lt;span id=&#34;route-put-mute-timing-409-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#generic-public-error&#34;&gt;GenericPublicError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;sets-the-notification-policy-tree-routeputpolicytree&#34;&gt;&lt;span id=&#34;route-put-policy-tree&#34;&gt;&lt;/span&gt; Sets the notification policy tree. (&lt;em&gt;RoutePutPolicyTree&lt;/em&gt;)&lt;/h3&gt;


&lt;div data-shared=&#34;alerts/warning-provisioning-tree.md&#34;&gt;
            

&lt;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;Since the policy tree is a single resource, provisioning it will overwrite all policies in the notification policy tree. However, it does not affect internal policies created when alert rules directly select a contact point.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;/div&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;PUT /api/v1/provisioning/policies&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;parameters-23&#34;&gt;Parameters&lt;/h4&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&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;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route&#34;&gt;Route&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.Route&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;The new notification routing tree to use&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-27&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-policy-tree-202&#34;&gt;202&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Accepted&lt;/td&gt;
              &lt;td&gt;Ack&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-policy-tree-202-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-policy-tree-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;ValidationError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-policy-tree-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-27&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;202---ack-1&#34;&gt;&lt;span id=&#34;route-put-policy-tree-202&#34;&gt;&lt;/span&gt; 202 - Ack&lt;/h5&gt;
&lt;p&gt;Status: Accepted&lt;/p&gt;
&lt;h6 id=&#34;schema-48&#34;&gt;&lt;span id=&#34;route-put-policy-tree-202-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#ack&#34;&gt;Ack&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-7&#34;&gt;&lt;span id=&#34;route-put-policy-tree-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-49&#34;&gt;&lt;span id=&#34;route-put-policy-tree-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#validation-error&#34;&gt;ValidationError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;create-or-update-a-notification-template-group-routeputtemplate&#34;&gt;&lt;span id=&#34;route-put-template&#34;&gt;&lt;/span&gt; Create or update a notification template group. (&lt;em&gt;RoutePutTemplate&lt;/em&gt;)&lt;/h3&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;PUT /api/v1/provisioning/templates/:name&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
  &lt;h4 id=&#34;parameters&#34;&gt;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;Name&lt;/th&gt;
              &lt;th&gt;Source&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th&gt;Required&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;path&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;✓&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;Name of the template group&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;X-Disable-Provenance: true&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;header&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;Allows editing of provisioned resources in the Grafana UI&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Body&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;body&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#notification-template-content&#34;&gt;NotificationTemplateContent&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;models.NotificationTemplateContent&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-28&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template-202&#34;&gt;202&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Accepted&lt;/td&gt;
              &lt;td&gt;NotificationTemplate&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template-202-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template-400&#34;&gt;400&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Bad Request&lt;/td&gt;
              &lt;td&gt;GenericPublicError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template-400-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template-409&#34;&gt;409&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Conflict&lt;/td&gt;
              &lt;td&gt;GenericPublicError&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-put-template-409-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-28&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;202---notificationtemplate&#34;&gt;&lt;span id=&#34;route-put-template-202&#34;&gt;&lt;/span&gt; 202 - NotificationTemplate&lt;/h5&gt;
&lt;p&gt;Status: Accepted&lt;/p&gt;
&lt;h6 id=&#34;schema-50&#34;&gt;&lt;span id=&#34;route-put-template-202-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#notification-template&#34;&gt;NotificationTemplate&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;400---validationerror-8&#34;&gt;&lt;span id=&#34;route-put-template-400&#34;&gt;&lt;/span&gt; 400 - ValidationError&lt;/h5&gt;
&lt;p&gt;Status: Bad Request&lt;/p&gt;
&lt;h6 id=&#34;schema-51&#34;&gt;&lt;span id=&#34;route-put-template-400-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#generic-public-error&#34;&gt;GenericPublicError&lt;/a&gt;&lt;/p&gt;
&lt;h5 id=&#34;409---conflict-3&#34;&gt;&lt;span id=&#34;route-put-template-409&#34;&gt;&lt;/span&gt; 409 - Conflict&lt;/h5&gt;
&lt;p&gt;Status: Conflict&lt;/p&gt;
&lt;h6 id=&#34;schema-52&#34;&gt;&lt;span id=&#34;route-put-template-409-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#generic-public-error&#34;&gt;GenericPublicError&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;clears-the-notification-policy-tree-routeresetpolicytree&#34;&gt;&lt;span id=&#34;route-reset-policy-tree&#34;&gt;&lt;/span&gt; Clears the notification policy tree. (&lt;em&gt;RouteResetPolicyTree&lt;/em&gt;)&lt;/h3&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;DELETE /api/v1/provisioning/policies&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;all-responses-29&#34;&gt;All responses&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;Status&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Has headers&lt;/th&gt;
              &lt;th&gt;Schema&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#route-reset-policy-tree-202&#34;&gt;202&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Accepted&lt;/td&gt;
              &lt;td&gt;Ack&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-reset-policy-tree-202-schema&#34;&gt;schema&lt;/a&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;responses-29&#34;&gt;Responses&lt;/h4&gt;
&lt;h5 id=&#34;202---ack-2&#34;&gt;&lt;span id=&#34;route-reset-policy-tree-202&#34;&gt;&lt;/span&gt; 202 - Ack&lt;/h5&gt;
&lt;p&gt;Status: Accepted&lt;/p&gt;
&lt;h6 id=&#34;schema-53&#34;&gt;&lt;span id=&#34;route-reset-policy-tree-202-schema&#34;&gt;&lt;/span&gt; Schema&lt;/h6&gt;
&lt;p&gt;&lt;a href=&#34;#ack&#34;&gt;Ack&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;models&#34;&gt;Models&lt;/h2&gt;
&lt;h3 id=&#34;ack&#34;&gt;&lt;span id=&#34;ack&#34;&gt;&lt;/span&gt; Ack&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;alertquery&#34;&gt;&lt;span id=&#34;alert-query&#34;&gt;&lt;/span&gt; AlertQuery&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;datasourceUid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Grafana data source unique identifier; it should be &amp;lsquo;&lt;strong&gt;expr&lt;/strong&gt;&amp;rsquo; for a Server Side Expression operation.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;interface{}&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;JSON is the raw JSON query and includes the above properties as well as custom properties.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;queryType&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;QueryType is an optional identifier for the type of query. It can be used to distinguish different types of queries.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;refId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;RefID is the unique identifier of the query, set by the frontend call.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;relativeTimeRange&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#relative-time-range&#34;&gt;RelativeTimeRange&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;RelativeTimeRange&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;alertqueryexport&#34;&gt;&lt;span id=&#34;alert-query-export&#34;&gt;&lt;/span&gt; AlertQueryExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;datasourceUid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;interface{}&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;queryType&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;refId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;relativeTimeRange&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#relative-time-range&#34;&gt;RelativeTimeRange&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;RelativeTimeRange&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;alertruleexport&#34;&gt;&lt;span id=&#34;alert-rule-export&#34;&gt;&lt;/span&gt; AlertRuleExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;annotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;condition&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;dashboardUid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;data&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#alert-query-export&#34;&gt;AlertQueryExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*AlertQueryExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;execErrState&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;for&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#duration&#34;&gt;Duration&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Duration&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;isPaused&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;noDataState&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;panelId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;uid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;alertrulegroup&#34;&gt;&lt;span id=&#34;alert-rule-group&#34;&gt;&lt;/span&gt; AlertRuleGroup&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;folderUid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;interval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;rules&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*ProvisionedAlertRule&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;alertrulegroupexport&#34;&gt;&lt;span id=&#34;alert-rule-group-export&#34;&gt;&lt;/span&gt; AlertRuleGroupExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;folder&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;interval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#duration&#34;&gt;Duration&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Duration&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;orgId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;rules&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#alert-rule-export&#34;&gt;AlertRuleExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*AlertRuleExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;alertingfileexport&#34;&gt;&lt;span id=&#34;alerting-file-export&#34;&gt;&lt;/span&gt; AlertingFileExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;apiVersion&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;contactPoints&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#contact-point-export&#34;&gt;ContactPointExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*ContactPointExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;groups&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#alert-rule-group-export&#34;&gt;AlertRuleGroupExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*AlertRuleGroupExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;policies&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#notification-policy-export&#34;&gt;NotificationPolicyExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*NotificationPolicyExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;contactpointexport&#34;&gt;&lt;span id=&#34;contact-point-export&#34;&gt;&lt;/span&gt; ContactPointExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;orgId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;receivers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#receiver-export&#34;&gt;ReceiverExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*ReceiverExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;contactpoints&#34;&gt;&lt;span id=&#34;contact-points&#34;&gt;&lt;/span&gt; ContactPoints&lt;/h3&gt;
&lt;p&gt;[]&lt;a href=&#34;#embedded-contact-point&#34;&gt;EmbeddedContactPoint&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;duration&#34;&gt;&lt;span id=&#34;duration&#34;&gt;&lt;/span&gt; Duration&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Duration&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;embeddedcontactpoint&#34;&gt;&lt;span id=&#34;embedded-contact-point&#34;&gt;&lt;/span&gt; EmbeddedContactPoint&lt;/h3&gt;
&lt;p&gt;EmbeddedContactPoint is the contact point type used by Grafana-managed alerts.&lt;/p&gt;
&lt;p&gt;When creating a contact point, the &lt;code&gt;EmbeddedContactPoint.name&lt;/code&gt; property determines if the new contact point is added to an existing one. In the UI, contact points with the same name are grouped together under a single contact point.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;disableResolveMessage&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;false&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt; groups multiple contact points with the same name in the UI.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;webhook_1&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;provenance&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;settings&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#json&#34;&gt;JSON&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;JSON&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;type&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;webhook&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;uid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;UID is the unique identifier of the contact point. The UID can be set by the user.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;my_external_reference&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;json&#34;&gt;&lt;span id=&#34;json&#34;&gt;&lt;/span&gt; Json&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;matchregexps&#34;&gt;&lt;span id=&#34;match-regexps&#34;&gt;&lt;/span&gt; MatchRegexps&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#match-regexps&#34;&gt;MatchRegexps&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;matchtype&#34;&gt;&lt;span id=&#34;match-type&#34;&gt;&lt;/span&gt; MatchType&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;MatchType&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;matcher&#34;&gt;&lt;span id=&#34;matcher&#34;&gt;&lt;/span&gt; Matcher&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Type&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#match-type&#34;&gt;MatchType&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;MatchType&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Value&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;matchers&#34;&gt;&lt;span id=&#34;matchers&#34;&gt;&lt;/span&gt; Matchers&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Matchers is a slice of Matchers that is sortable, implements Stringer, and
provides a Matches method to match a LabelSet against all Matchers in the
slice. Note that some users of Matchers might require it to be sorted.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;[]&lt;a href=&#34;#matcher&#34;&gt;Matcher&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;mutetimeinterval&#34;&gt;&lt;span id=&#34;mute-time-interval&#34;&gt;&lt;/span&gt; MuteTimeInterval&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;time_intervals&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#time-interval&#34;&gt;TimeInterval&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*TimeInterval&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Version of resource&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;mutetimingexport&#34;&gt;&lt;span id=&#34;mute-timing-export&#34;&gt;&lt;/span&gt; MuteTimingExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;mutetimingsexport&#34;&gt;&lt;span id=&#34;mute-timings-export&#34;&gt;&lt;/span&gt; MuteTimingsExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;mutetimings&#34;&gt;&lt;span id=&#34;mute-timings&#34;&gt;&lt;/span&gt; MuteTimings&lt;/h3&gt;
&lt;p&gt;[]&lt;a href=&#34;#mute-time-interval&#34;&gt;MuteTimeInterval&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;notfound&#34;&gt;&lt;span id=&#34;not-found&#34;&gt;&lt;/span&gt; NotFound&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;notificationpolicyexport&#34;&gt;&lt;span id=&#34;notification-policy-export&#34;&gt;&lt;/span&gt; NotificationPolicyExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Policy&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-export&#34;&gt;RouteExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#route-export&#34;&gt;RouteExport&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;inline&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;orgId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;notificationtemplate&#34;&gt;&lt;span id=&#34;notification-template&#34;&gt;&lt;/span&gt; NotificationTemplate&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;name&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;provenance&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provenance&#34;&gt;Provenance&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provenance&#34;&gt;Provenance&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;template&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Version of resource&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;notificationtemplatecontent&#34;&gt;&lt;span id=&#34;notification-template-content&#34;&gt;&lt;/span&gt; NotificationTemplateContent&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;template&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Version of resource. Should be empty for new templates.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;notificationtemplates&#34;&gt;&lt;span id=&#34;notification-templates&#34;&gt;&lt;/span&gt; NotificationTemplates&lt;/h3&gt;
&lt;p&gt;[]&lt;a href=&#34;#notification-template&#34;&gt;NotificationTemplate&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;objectmatchers&#34;&gt;&lt;span id=&#34;object-matchers&#34;&gt;&lt;/span&gt; ObjectMatchers&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#matchers&#34;&gt;Matchers&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&#34;inlined-models&#34;&gt;Inlined models&lt;/h4&gt;
&lt;h3 id=&#34;permissiondenied&#34;&gt;&lt;span id=&#34;permission-denied&#34;&gt;&lt;/span&gt; PermissionDenied&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;provenance&#34;&gt;&lt;span id=&#34;provenance&#34;&gt;&lt;/span&gt; Provenance&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;Provenance&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;provisionedalertrule&#34;&gt;&lt;span id=&#34;provisioned-alert-rule&#34;&gt;&lt;/span&gt; ProvisionedAlertRule&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;annotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Optional key-value pairs. &lt;code&gt;__dashboardUid__&lt;/code&gt; and &lt;code&gt;__panelId__&lt;/code&gt; must be set together; one cannot be set without the other.&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;{&amp;quot;runbook_url&amp;quot;:&amp;quot;https://supercoolrunbook.com/page/13&amp;quot;}&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;condition&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;data&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#alert-query&#34;&gt;AlertQuery&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*AlertQuery&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[{&amp;quot;datasourceUid&amp;quot;:&amp;quot;__expr__&amp;quot;,&amp;quot;model&amp;quot;:{&amp;quot;conditions&amp;quot;:[{&amp;quot;evaluator&amp;quot;:{&amp;quot;params&amp;quot;:[0,0],&amp;quot;type&amp;quot;:&amp;quot;gt&amp;quot;},&amp;quot;operator&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;and&amp;quot;},&amp;quot;query&amp;quot;:{&amp;quot;params&amp;quot;:[]},&amp;quot;reducer&amp;quot;:{&amp;quot;params&amp;quot;:[],&amp;quot;type&amp;quot;:&amp;quot;avg&amp;quot;},&amp;quot;type&amp;quot;:&amp;quot;query&amp;quot;}],&amp;quot;datasource&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;__expr__&amp;quot;,&amp;quot;uid&amp;quot;:&amp;quot;__expr__&amp;quot;},&amp;quot;expression&amp;quot;:&amp;quot;1 == 1&amp;quot;,&amp;quot;hide&amp;quot;:false,&amp;quot;intervalMs&amp;quot;:1000,&amp;quot;maxDataPoints&amp;quot;:43200,&amp;quot;refId&amp;quot;:&amp;quot;A&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;math&amp;quot;},&amp;quot;queryType&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;refId&amp;quot;:&amp;quot;A&amp;quot;,&amp;quot;relativeTimeRange&amp;quot;:{&amp;quot;from&amp;quot;:0,&amp;quot;to&amp;quot;:0}}]&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;execErrState&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;folderUID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;project_x&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;for&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#duration&#34;&gt;Duration&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#duration&#34;&gt;Duration&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;id&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;isPaused&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;{&amp;quot;team&amp;quot;:&amp;quot;sre-team-1&amp;quot;}&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;noDataState&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;orgID&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;int64 (formatted integer)&lt;/td&gt;
              &lt;td&gt;`int64&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;provenance&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provenance&#34;&gt;Provenance&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provenance&#34;&gt;Provenance&lt;/a&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;ruleGroup&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;eval_group_1&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;Always firing&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;uid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;updated&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;date-time (formatted string)&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;strfmt.DateTime&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;provisionedalertrules&#34;&gt;&lt;span id=&#34;provisioned-alert-rules&#34;&gt;&lt;/span&gt; ProvisionedAlertRules&lt;/h3&gt;
&lt;p&gt;[]&lt;a href=&#34;#provisioned-alert-rule&#34;&gt;ProvisionedAlertRule&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;rawmessage&#34;&gt;&lt;span id=&#34;raw-message&#34;&gt;&lt;/span&gt; RawMessage&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;receiverexport&#34;&gt;&lt;span id=&#34;receiver-export&#34;&gt;&lt;/span&gt; ReceiverExport&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;disableResolveMessage&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;settings&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#raw-message&#34;&gt;RawMessage&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;RawMessage&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;type&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;uid&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;regexp&#34;&gt;&lt;span id=&#34;regexp&#34;&gt;&lt;/span&gt; Regexp&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;A Regexp is safe for concurrent use by multiple goroutines,
except for configuration methods, such as Longest.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;#interface&#34;&gt;interface{}&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;relativetimerange&#34;&gt;&lt;span id=&#34;relative-time-range&#34;&gt;&lt;/span&gt; RelativeTimeRange&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;RelativeTimeRange is the per query start and end time
for requests.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;from&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#duration&#34;&gt;Duration&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Duration&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;to&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#duration&#34;&gt;Duration&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Duration&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;route&#34;&gt;&lt;span id=&#34;route&#34;&gt;&lt;/span&gt; Route&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;A Route is a node that contains definitions of how to handle alerts. This is modified
from the upstream alertmanager in that it adds the ObjectMatchers property.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;continue&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;group_by&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;group_interval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;group_wait&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;match&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Deprecated. Remove before v1.0 release.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;match_re&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#match-regexps&#34;&gt;MatchRegexps&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;MatchRegexps&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;matchers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#matchers&#34;&gt;Matchers&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;Matchers&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;mute_time_intervals&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;object_matchers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#object-matchers&#34;&gt;ObjectMatchers&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;ObjectMatchers&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;provenance&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#provenance&#34;&gt;Provenance&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Provenance&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;receiver&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;repeat_interval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;routes&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#route&#34;&gt;Route&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*Route&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;routeexport&#34;&gt;&lt;span id=&#34;route-export&#34;&gt;&lt;/span&gt; RouteExport&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;RouteExport is the provisioned file export of definitions.Route. This is needed to hide fields that aren&amp;rsquo;t usable in
provisioning file format. An alternative would be to define a custom MarshalJSON and MarshalYAML that excludes them.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Properties&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;continue&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;group_by&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;group_interval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;group_wait&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;match&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Deprecated. Remove before v1.0 release.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;match_re&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#match-regexps&#34;&gt;MatchRegexps&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;MatchRegexps&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;matchers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#matchers&#34;&gt;Matchers&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;Matchers&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;mute_time_intervals&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]string&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;object_matchers&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;a href=&#34;#object-matchers&#34;&gt;ObjectMatchers&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;ObjectMatchers&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;receiver&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;repeat_interval&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;routes&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#route-export&#34;&gt;RouteExport&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*RouteExport&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;timeinterval&#34;&gt;&lt;span id=&#34;time-interval&#34;&gt;&lt;/span&gt; TimeInterval&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;TimeInterval describes intervals of time. ContainsTime will tell you if a golang time is contained
within the interval.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;days_of_month&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;location&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;months&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;times&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]&lt;a href=&#34;#time-range&#34;&gt;TimeRange&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;[]*TimeRange&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;weekdays&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;years&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;timerange&#34;&gt;&lt;span id=&#34;time-range&#34;&gt;&lt;/span&gt; TimeRange&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;For example, 4:00PM to End of the day would Begin at 1020 and End at 1440.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;end_time&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;end_time&amp;quot;: &amp;quot;24:00&amp;quot;&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;start_time&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;&amp;quot;start_time&amp;quot;: &amp;quot;18:00&amp;quot;&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;validationerror&#34;&gt;&lt;span id=&#34;validation-error&#34;&gt;&lt;/span&gt; ValidationError&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;msg&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;error message&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;h3 id=&#34;genericpublicerror&#34;&gt;&lt;span id=&#34;generic-public-error&#34;&gt;&lt;/span&gt; GenericPublicError&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Properties&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;responsive-table-wrapper&#34;&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;Name&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Go type&lt;/th&gt;
              &lt;th style=&#34;text-align: center&#34;&gt;Required&lt;/th&gt;
              &lt;th&gt;Default&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Example&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;statusCode&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;HTTP Status Code&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;messageId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;✓&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Unique code of the error&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;message&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Error message&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;extra&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;map of any&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;map[string]any&lt;/code&gt;&lt;/td&gt;
              &lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
              &lt;td&gt;Extra information about the error. Format is specific to the error code.&lt;/td&gt;
              &lt;td&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;

        
]]></content><description>&lt;h1 id="alerting-provisioning-http-api">Alerting provisioning HTTP API&lt;/h1>
&lt;div data-shared="alerts/alerting_provisioning.md">
&lt;p>The Alerting Provisioning HTTP API can be used to create, modify, and delete resources relevant to Grafana-managed alerts. This API is the one used by our &lt;a href="https://registry.terraform.io/providers/grafana/grafana/latest/docs" target="_blank" rel="noopener noreferrer">Grafana Terraform provider&lt;/a>.&lt;/p></description></item><item><title>Annotations HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/annotations/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/annotations/</guid><content><![CDATA[&lt;h1 id=&#34;annotations-api&#34;&gt;Annotations API&lt;/h1&gt;
&lt;p&gt;Annotations are saved in the Grafana database (sqlite, mysql or postgres). Annotations can be organization 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;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;annotations:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;annotations:type:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;: Deprecated. Use dashboardUID instead.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboardUID&lt;/code&gt;: string. Optional. Find annotations that are scoped to a specific dashboard, when dashboardUID presents, dashboardId would be ignored.&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 organization annotations. Organization 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;dashboardUID&amp;#34;: &amp;#34;uGlb_lG7z&amp;#34;,
        &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;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;dashboardUID&amp;#34;: &amp;#34;jcIIG-07z&amp;#34;,
        &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;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;dashboardUid&lt;/code&gt; and &lt;code&gt;panelId&lt;/code&gt; fields are optional.
If they are not specified then an organization 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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;annotations:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;annotations:type:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Required JSON Body Fields&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;text&lt;/code&gt;: description of the annotation.&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/annotations HTTP/1.1
Accept: application/json
Content-Type: application/json

{
  &amp;#34;dashboardUID&amp;#34;:&amp;#34;jcIIG-07z&amp;#34;,
  &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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-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;&lt;code&gt;annotations:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;annotations:type:organization&lt;/code&gt;&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/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 main 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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;annotations:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;annotations:type:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;annotations:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;annotations:type:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;annotations:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;annotations:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;annotations:type:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#annotations-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;&lt;code&gt;annotations:read&lt;/code&gt;&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/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-api">Annotations API&lt;/h1>
&lt;p>Annotations are saved in the Grafana database (sqlite, mysql or postgres). Annotations can be organization 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>Correlations HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/correlations/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/correlations/</guid><content><![CDATA[&lt;h1 id=&#34;correlations-api&#34;&gt;Correlations API&lt;/h1&gt;
&lt;p&gt;This API can be used to define correlations between data sources.&lt;/p&gt;
&lt;h2 id=&#34;create-correlations&#34;&gt;Create correlations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/uid/:sourceUID/correlations&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a correlation between two data sources - the source data source identified by &lt;code&gt;sourceUID&lt;/code&gt; in the path, and the target data source which is specified in the body.&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/uid/uyBf2637k/correlations HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
	&amp;#34;targetUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
	&amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
	&amp;#34;description&amp;#34;: &amp;#34;Logs to Traces&amp;#34;,
  &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
  &amp;#34;config&amp;#34;: {
    &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
    &amp;#34;target&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;targetUID&lt;/strong&gt; – Target data source uid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;label&lt;/strong&gt; – A label for the correlation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt; – A description for the correlation.&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;Correlation created&amp;#34;,
  &amp;#34;result&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;Logs to Traces&amp;#34;,
    &amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
    &amp;#34;sourceUID&amp;#34;: &amp;#34;uyBf2637k&amp;#34;,
    &amp;#34;targetUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;50xhMlg9k&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
    &amp;#34;config&amp;#34;: {
      &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
      &amp;#34;target&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 (invalid JSON, missing or invalid fields)&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, source data source is read-only&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Not found, either source or target data source could not be found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-correlations&#34;&gt;Delete correlations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/datasources/uid/:sourceUID/correlations/:correlationUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes a correlation.&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/datasources/uid/uyBf2637k/correlations/J6gn7d31L 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;Correlation 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; – Forbidden, data source is read-only&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Correlation not found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-correlations&#34;&gt;Update correlations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/datasources/uid/:sourceUID/correlations/:correlationUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates a correlation.&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/uid/uyBf2637k/correlations/J6gn7d31L HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
	&amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
	&amp;#34;description&amp;#34;: &amp;#34;Logs to Traces&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;label&lt;/strong&gt; – A label for the correlation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;description&lt;/strong&gt; – A description for the correlation.&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;Correlation updated&amp;#34;,
  &amp;#34;result&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;Logs to Traces&amp;#34;,
    &amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
    &amp;#34;sourceUID&amp;#34;: &amp;#34;uyBf2637k&amp;#34;,
    &amp;#34;targetUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;J6gn7d31L&amp;#34;,
    &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
    &amp;#34;config&amp;#34;: {
			&amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
			&amp;#34;target&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, source data source is read-only&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Not found, either source or target data source could not be found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-single-correlation&#34;&gt;Get single correlation&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/uid/:sourceUID/correlations/:correlationUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets a single correlation.&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/datasources/uid/uyBf2637k/correlations/J6gn7d31L 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;description&amp;#34;: &amp;#34;Logs to Traces&amp;#34;,
  &amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
  &amp;#34;sourceUID&amp;#34;: &amp;#34;uyBf2637k&amp;#34;,
  &amp;#34;targetUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
  &amp;#34;uid&amp;#34;: &amp;#34;J6gn7d31L&amp;#34;,
  &amp;#34;provisioned&amp;#34;: false,
  &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
  &amp;#34;config&amp;#34;: {
    &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
    &amp;#34;target&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; – Not found, either source data source or correlation were not found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-all-correlations-originating-from-a-given-data-source&#34;&gt;Get all correlations originating from a given data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/uid/:sourceUID/correlations&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get all correlations originating from the data source identified by the given &lt;code&gt;sourceUID&lt;/code&gt; in the path.&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/datasources/uid/uyBf2637k/correlations 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;description&amp;#34;: &amp;#34;Logs to Traces&amp;#34;,
    &amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
    &amp;#34;sourceUID&amp;#34;: &amp;#34;uyBf2637k&amp;#34;,
    &amp;#34;targetUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;J6gn7d31L&amp;#34;,
    &amp;#34;provisioned&amp;#34;: false,
    &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
    &amp;#34;config&amp;#34;: {
      &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
      &amp;#34;target&amp;#34;: {},
    }
  },
  {
    &amp;#34;description&amp;#34;: &amp;#34;Logs to Metrics&amp;#34;,
    &amp;#34;label&amp;#34;: &amp;#34;Another Label&amp;#34;,
    &amp;#34;sourceUID&amp;#34;: &amp;#34;uyBf2637k&amp;#34;,
    &amp;#34;targetUID&amp;#34;: &amp;#34;P15396BDD62B2BE29&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;uWCpURgVk&amp;#34;,
    &amp;#34;provisioned&amp;#34;: false,
    &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
    &amp;#34;config&amp;#34;: {
      &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
      &amp;#34;target&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; – Not found, either source data source is not found or no correlation exists originating from the given data source&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-all-correlations&#34;&gt;Get all correlations&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/correlations&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get all correlations.&lt;/p&gt;
&lt;p&gt;Query parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;page&lt;/strong&gt; - Optional. Specify which page number to return. Use the limit parameter to specify the number of correlations per page. The default is page 1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; - Optional. Limits the number of returned correlations per page. The default is 100 correlations per page. The maximum limit is 1000 correlations in a page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sourceUID&lt;/strong&gt; - Optional. Specify a source datasource UID to filter by. This can be repeated to filter by multiple datasources.&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/datasources/correlations 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;description&amp;#34;: &amp;#34;Prometheus to Loki&amp;#34;,
    &amp;#34;label&amp;#34;: &amp;#34;My Label&amp;#34;,
    &amp;#34;sourceUID&amp;#34;: &amp;#34;uyBf2637k&amp;#34;,
    &amp;#34;targetUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;J6gn7d31L&amp;#34;,
    &amp;#34;provisioned&amp;#34;: false,
    &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
    &amp;#34;config&amp;#34;: {
      &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
      &amp;#34;target&amp;#34;: {},
    }
  },
  {
    &amp;#34;description&amp;#34;: &amp;#34;Loki to Tempo&amp;#34;,
    &amp;#34;label&amp;#34;: &amp;#34;Another Label&amp;#34;,
    &amp;#34;sourceUID&amp;#34;: &amp;#34;PDDA8E780A17E7EF1&amp;#34;,
    &amp;#34;targetUID&amp;#34;: &amp;#34;P15396BDD62B2BE29&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;uWCpURgVk&amp;#34;,
    &amp;#34;provisioned&amp;#34;: false,
    &amp;#34;type&amp;#34;: &amp;#34;query&amp;#34;,
    &amp;#34;config&amp;#34;: {
      &amp;#34;field&amp;#34;: &amp;#34;message&amp;#34;,
      &amp;#34;target&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; – Not found, no correlation is found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="correlations-api">Correlations API&lt;/h1>
&lt;p>This API can be used to define correlations between data sources.&lt;/p>
&lt;h2 id="create-correlations">Create correlations&lt;/h2>
&lt;p>&lt;code>POST /api/datasources/uid/:sourceUID/correlations&lt;/code>&lt;/p>
&lt;p>Creates a correlation between two data sources - the source data source identified by &lt;code>sourceUID&lt;/code> in the path, and the target data source which is specified in the body.&lt;/p></description></item><item><title>Dashboard HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/dashboard/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/dashboard/</guid><content><![CDATA[&lt;h1 id=&#34;new-dashboard-apis&#34;&gt;New Dashboard APIs&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;To view more about the new API structure, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;create-dashboard&#34;&gt;Create Dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboards&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new dashboard.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;dashboards:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example Create 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 /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;gdxccn&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;
    },
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;annotations&amp;#34;: {
    &amp;#34;list&amp;#34;: [
      {
        &amp;#34;datasource&amp;#34;: {
          &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
          &amp;#34;uid&amp;#34;: &amp;#34;grafana&amp;#34;
        },
        &amp;#34;enable&amp;#34;: true,
        &amp;#34;hide&amp;#34;: false,
        &amp;#34;iconColor&amp;#34;: &amp;#34;red&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;Example annotation&amp;#34;,
        &amp;#34;target&amp;#34;: {
          &amp;#34;limit&amp;#34;: 100,
          &amp;#34;matchAny&amp;#34;: false,
          &amp;#34;tags&amp;#34;: [],
          &amp;#34;type&amp;#34;: &amp;#34;dashboard&amp;#34;
        }
      }]
    },
    &amp;#34;editable&amp;#34;: true,
    &amp;#34;fiscalYearStartMonth&amp;#34;: 0,
    &amp;#34;graphTooltip&amp;#34;: 0,
    &amp;#34;links&amp;#34;: [
      {
        &amp;#34;asDropdown&amp;#34;: false,
        &amp;#34;icon&amp;#34;: &amp;#34;external link&amp;#34;,
        &amp;#34;includeVars&amp;#34;: false,
        &amp;#34;keepTime&amp;#34;: false,
        &amp;#34;tags&amp;#34;: [],
        &amp;#34;targetBlank&amp;#34;: false,
        &amp;#34;title&amp;#34;: &amp;#34;Example Link&amp;#34;,
        &amp;#34;tooltip&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;dashboards&amp;#34;,
        &amp;#34;url&amp;#34;: &amp;#34;&amp;#34;
      }
    ],
    &amp;#34;panels&amp;#34;: [
      {
        &amp;#34;datasource&amp;#34;: {
          &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
          &amp;#34;uid&amp;#34;: &amp;#34;grafana&amp;#34;
        },
        &amp;#34;description&amp;#34;: &amp;#34;With a description&amp;#34;,
        &amp;#34;fieldConfig&amp;#34;: {
          &amp;#34;defaults&amp;#34;: {
            &amp;#34;color&amp;#34;: {
              &amp;#34;mode&amp;#34;: &amp;#34;palette-classic&amp;#34;
            },
            &amp;#34;custom&amp;#34;: {
              &amp;#34;axisBorderShow&amp;#34;: false,
              &amp;#34;axisCenteredZero&amp;#34;: false,
              &amp;#34;axisColorMode&amp;#34;: &amp;#34;text&amp;#34;,
              &amp;#34;axisLabel&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;axisPlacement&amp;#34;: &amp;#34;auto&amp;#34;,
              &amp;#34;barAlignment&amp;#34;: 0,
              &amp;#34;barWidthFactor&amp;#34;: 0.6,
              &amp;#34;drawStyle&amp;#34;: &amp;#34;line&amp;#34;,
              &amp;#34;fillOpacity&amp;#34;: 0,
              &amp;#34;gradientMode&amp;#34;: &amp;#34;none&amp;#34;,
              &amp;#34;hideFrom&amp;#34;: {
                &amp;#34;legend&amp;#34;: false,
                &amp;#34;tooltip&amp;#34;: false,
                &amp;#34;viz&amp;#34;: false
              },
              &amp;#34;insertNulls&amp;#34;: false,
              &amp;#34;lineInterpolation&amp;#34;: &amp;#34;linear&amp;#34;,
              &amp;#34;lineWidth&amp;#34;: 1,
              &amp;#34;pointSize&amp;#34;: 5,
              &amp;#34;scaleDistribution&amp;#34;: {
                &amp;#34;type&amp;#34;: &amp;#34;linear&amp;#34;
              },
              &amp;#34;showPoints&amp;#34;: &amp;#34;auto&amp;#34;,
              &amp;#34;spanNulls&amp;#34;: false,
              &amp;#34;stacking&amp;#34;: {
                &amp;#34;group&amp;#34;: &amp;#34;A&amp;#34;,
                &amp;#34;mode&amp;#34;: &amp;#34;none&amp;#34;
              },
              &amp;#34;thresholdsStyle&amp;#34;: {
                &amp;#34;mode&amp;#34;: &amp;#34;off&amp;#34;
              }
            },
            &amp;#34;mappings&amp;#34;: [],
            &amp;#34;thresholds&amp;#34;: {
              &amp;#34;mode&amp;#34;: &amp;#34;absolute&amp;#34;,
              &amp;#34;steps&amp;#34;: [
                {
                  &amp;#34;color&amp;#34;: &amp;#34;green&amp;#34;
                },
                {
                  &amp;#34;color&amp;#34;: &amp;#34;red&amp;#34;,
                  &amp;#34;value&amp;#34;: 80
                }
              ]
            }
          },
          &amp;#34;overrides&amp;#34;: []
        },
        &amp;#34;gridPos&amp;#34;: {
          &amp;#34;h&amp;#34;: 8,
          &amp;#34;w&amp;#34;: 12,
          &amp;#34;x&amp;#34;: 0,
          &amp;#34;y&amp;#34;: 0
        },
        &amp;#34;id&amp;#34;: 1,
        &amp;#34;options&amp;#34;: {
          &amp;#34;legend&amp;#34;: {
            &amp;#34;calcs&amp;#34;: [],
            &amp;#34;displayMode&amp;#34;: &amp;#34;list&amp;#34;,
            &amp;#34;placement&amp;#34;: &amp;#34;bottom&amp;#34;,
            &amp;#34;showLegend&amp;#34;: true
          },
          &amp;#34;tooltip&amp;#34;: {
            &amp;#34;hideZeros&amp;#34;: false,
            &amp;#34;mode&amp;#34;: &amp;#34;single&amp;#34;,
            &amp;#34;sort&amp;#34;: &amp;#34;none&amp;#34;
          }
        },
        &amp;#34;pluginVersion&amp;#34;: &amp;#34;12.0.0&amp;#34;,
        &amp;#34;targets&amp;#34;: [
          {
            &amp;#34;datasource&amp;#34;: {
              &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
              &amp;#34;uid&amp;#34;: &amp;#34;grafana&amp;#34;
            },
            &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;
          }
        ],
        &amp;#34;title&amp;#34;: &amp;#34;Example panel&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;timeseries&amp;#34;
      }
    ],
    &amp;#34;preload&amp;#34;: false,
    &amp;#34;schemaVersion&amp;#34;: 41,
    &amp;#34;tags&amp;#34;: [&amp;#34;example&amp;#34;],
    &amp;#34;templating&amp;#34;: {
      &amp;#34;list&amp;#34;: [
        {
          &amp;#34;current&amp;#34;: {
            &amp;#34;text&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;&amp;#34;
          },
          &amp;#34;definition&amp;#34;: &amp;#34;&amp;#34;,
          &amp;#34;description&amp;#34;: &amp;#34;example description&amp;#34;,
          &amp;#34;label&amp;#34;: &amp;#34;ExampleLabel&amp;#34;,
          &amp;#34;name&amp;#34;: &amp;#34;ExampleVariable&amp;#34;,
          &amp;#34;options&amp;#34;: [],
          &amp;#34;query&amp;#34;: &amp;#34;&amp;#34;,
          &amp;#34;refresh&amp;#34;: 1,
          &amp;#34;regex&amp;#34;: &amp;#34;cluster&amp;#34;,
          &amp;#34;type&amp;#34;: &amp;#34;query&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;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Example Dashboard&amp;#34;,
    &amp;#34;version&amp;#34;: 0
  }
}&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;metadata.name&lt;/strong&gt; – The Grafana &lt;a href=&#34;#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt;. If you do not want to provide this, set metadata.generateName instead to the prefix you would like for the randomly generated uid (cannot be an empty string).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;metadata.annotations.grafana.app/folder&lt;/strong&gt; - Optional field, the unique identifier of the folder under which the dashboard should be created.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;spec&lt;/strong&gt; – The dashboard json.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Custom labels and annotations in the metadata field are supported on some instances, with full support planned for all instances when these APIs reach general availability. If they are not yet supported on your instance, they will be ignored.&lt;/p&gt;&lt;/blockquote&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: 485

{
  &amp;#34;kind&amp;#34;: &amp;#34;Dashboard&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;gdxccn&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;Cc7fA5ffHY94NnHZyMxXvFlpFtOmkK3qkBcVZPKSPXcX&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1&amp;#34;,
    &amp;#34;generation&amp;#34;: 1,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-04-24T20:35:29Z&amp;#34;,
    &amp;#34;labels&amp;#34;: {
      &amp;#34;grafana.app/deprecatedInternalID&amp;#34;: &amp;#34;11&amp;#34;
    },
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:dejwtrofg77y8d&amp;#34;,
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;
    },
    &amp;#34;managedFields&amp;#34;: [
      {
        &amp;#34;manager&amp;#34;: &amp;#34;curl&amp;#34;,
        &amp;#34;operation&amp;#34;: &amp;#34;Update&amp;#34;,
        &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v0alpha1&amp;#34;,
        &amp;#34;time&amp;#34;: &amp;#34;2025-04-24T20:35:29Z&amp;#34;,
        &amp;#34;fieldsType&amp;#34;: &amp;#34;FieldsV1&amp;#34;,
        &amp;#34;fieldsV1&amp;#34;: {
          &amp;#34;f:spec&amp;#34;: {
            &amp;#34;f:annotations&amp;#34;: {
              &amp;#34;.&amp;#34;: {},
              &amp;#34;f:list&amp;#34;: {}
            },
            &amp;#34;f:editable&amp;#34;: {},
            &amp;#34;f:fiscalYearStartMonth&amp;#34;: {},
            &amp;#34;f:graphTooltip&amp;#34;: {},
            &amp;#34;f:links&amp;#34;: {},
            &amp;#34;f:panels&amp;#34;: {},
            &amp;#34;f:preload&amp;#34;: {},
            &amp;#34;f:schemaVersion&amp;#34;: {},
            &amp;#34;f:tags&amp;#34;: {},
            &amp;#34;f:templating&amp;#34;: {
              &amp;#34;.&amp;#34;: {},
              &amp;#34;f:list&amp;#34;: {}
            },
            &amp;#34;f:time&amp;#34;: {
              &amp;#34;.&amp;#34;: {},
              &amp;#34;f:from&amp;#34;: {},
              &amp;#34;f:to&amp;#34;: {}
            },
            &amp;#34;f:timepicker&amp;#34;: {},
            &amp;#34;f:timezone&amp;#34;: {},
            &amp;#34;f:title&amp;#34;: {},
            &amp;#34;f:version&amp;#34;: {}
          }
        }
      }
    ]
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;list&amp;#34;: [
        {
          &amp;#34;datasource&amp;#34;: {
            &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
            &amp;#34;uid&amp;#34;: &amp;#34;grafana&amp;#34;
          },
          &amp;#34;enable&amp;#34;: true,
          &amp;#34;hide&amp;#34;: false,
          &amp;#34;iconColor&amp;#34;: &amp;#34;red&amp;#34;,
          &amp;#34;name&amp;#34;: &amp;#34;Example annotation&amp;#34;,
          &amp;#34;target&amp;#34;: {
            &amp;#34;limit&amp;#34;: 100,
            &amp;#34;matchAny&amp;#34;: false,
            &amp;#34;tags&amp;#34;: [],
            &amp;#34;type&amp;#34;: &amp;#34;dashboard&amp;#34;
          }
        }
      ]
    },
    &amp;#34;editable&amp;#34;: true,
    &amp;#34;fiscalYearStartMonth&amp;#34;: 0,
    &amp;#34;graphTooltip&amp;#34;: 0,
    &amp;#34;links&amp;#34;: [
      {
        &amp;#34;asDropdown&amp;#34;: false,
        &amp;#34;icon&amp;#34;: &amp;#34;external link&amp;#34;,
        &amp;#34;includeVars&amp;#34;: false,
        &amp;#34;keepTime&amp;#34;: false,
        &amp;#34;tags&amp;#34;: [],
        &amp;#34;targetBlank&amp;#34;: false,
        &amp;#34;title&amp;#34;: &amp;#34;Example Link&amp;#34;,
        &amp;#34;tooltip&amp;#34;: &amp;#34;&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;dashboards&amp;#34;,
        &amp;#34;url&amp;#34;: &amp;#34;&amp;#34;
      }
    ],
    &amp;#34;panels&amp;#34;: [
      {
        &amp;#34;datasource&amp;#34;: {
          &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
          &amp;#34;uid&amp;#34;: &amp;#34;grafana&amp;#34;
        },
        &amp;#34;description&amp;#34;: &amp;#34;With a description&amp;#34;,
        &amp;#34;fieldConfig&amp;#34;: {
          &amp;#34;defaults&amp;#34;: {
            &amp;#34;color&amp;#34;: {
              &amp;#34;mode&amp;#34;: &amp;#34;palette-classic&amp;#34;
            },
            &amp;#34;custom&amp;#34;: {
              &amp;#34;axisBorderShow&amp;#34;: false,
              &amp;#34;axisCenteredZero&amp;#34;: false,
              &amp;#34;axisColorMode&amp;#34;: &amp;#34;text&amp;#34;,
              &amp;#34;axisLabel&amp;#34;: &amp;#34;&amp;#34;,
              &amp;#34;axisPlacement&amp;#34;: &amp;#34;auto&amp;#34;,
              &amp;#34;barAlignment&amp;#34;: 0,
              &amp;#34;barWidthFactor&amp;#34;: 0.6,
              &amp;#34;drawStyle&amp;#34;: &amp;#34;line&amp;#34;,
              &amp;#34;fillOpacity&amp;#34;: 0,
              &amp;#34;gradientMode&amp;#34;: &amp;#34;none&amp;#34;,
              &amp;#34;hideFrom&amp;#34;: {
                &amp;#34;legend&amp;#34;: false,
                &amp;#34;tooltip&amp;#34;: false,
                &amp;#34;viz&amp;#34;: false
              },
              &amp;#34;insertNulls&amp;#34;: false,
              &amp;#34;lineInterpolation&amp;#34;: &amp;#34;linear&amp;#34;,
              &amp;#34;lineWidth&amp;#34;: 1,
              &amp;#34;pointSize&amp;#34;: 5,
              &amp;#34;scaleDistribution&amp;#34;: {
                &amp;#34;type&amp;#34;: &amp;#34;linear&amp;#34;
              },
              &amp;#34;showPoints&amp;#34;: &amp;#34;auto&amp;#34;,
              &amp;#34;spanNulls&amp;#34;: false,
              &amp;#34;stacking&amp;#34;: {
                &amp;#34;group&amp;#34;: &amp;#34;A&amp;#34;,
                &amp;#34;mode&amp;#34;: &amp;#34;none&amp;#34;
              },
              &amp;#34;thresholdsStyle&amp;#34;: {
                &amp;#34;mode&amp;#34;: &amp;#34;off&amp;#34;
              }
            },
            &amp;#34;mappings&amp;#34;: [],
            &amp;#34;thresholds&amp;#34;: {
              &amp;#34;mode&amp;#34;: &amp;#34;absolute&amp;#34;,
              &amp;#34;steps&amp;#34;: [
                {
                  &amp;#34;color&amp;#34;: &amp;#34;green&amp;#34;
                },
                {
                  &amp;#34;color&amp;#34;: &amp;#34;red&amp;#34;,
                  &amp;#34;value&amp;#34;: 80
                }
              ]
            }
          },
          &amp;#34;overrides&amp;#34;: []
        },
        &amp;#34;gridPos&amp;#34;: {
          &amp;#34;h&amp;#34;: 8,
          &amp;#34;w&amp;#34;: 12,
          &amp;#34;x&amp;#34;: 0,
          &amp;#34;y&amp;#34;: 0
        },
        &amp;#34;id&amp;#34;: 1,
        &amp;#34;options&amp;#34;: {
          &amp;#34;legend&amp;#34;: {
            &amp;#34;calcs&amp;#34;: [],
            &amp;#34;displayMode&amp;#34;: &amp;#34;list&amp;#34;,
            &amp;#34;placement&amp;#34;: &amp;#34;bottom&amp;#34;,
            &amp;#34;showLegend&amp;#34;: true
          },
          &amp;#34;tooltip&amp;#34;: {
            &amp;#34;hideZeros&amp;#34;: false,
            &amp;#34;mode&amp;#34;: &amp;#34;single&amp;#34;,
            &amp;#34;sort&amp;#34;: &amp;#34;none&amp;#34;
          }
        },
        &amp;#34;pluginVersion&amp;#34;: &amp;#34;12.0.0&amp;#34;,
        &amp;#34;targets&amp;#34;: [
          {
            &amp;#34;datasource&amp;#34;: {
              &amp;#34;type&amp;#34;: &amp;#34;datasource&amp;#34;,
              &amp;#34;uid&amp;#34;: &amp;#34;grafana&amp;#34;
            },
            &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;
          }
        ],
        &amp;#34;title&amp;#34;: &amp;#34;Example panel&amp;#34;,
        &amp;#34;type&amp;#34;: &amp;#34;timeseries&amp;#34;
      }
    ],
    &amp;#34;preload&amp;#34;: false,
    &amp;#34;schemaVersion&amp;#34;: 41,
    &amp;#34;tags&amp;#34;: [
      &amp;#34;example&amp;#34;
    ],
    &amp;#34;templating&amp;#34;: {
      &amp;#34;list&amp;#34;: [
        {
          &amp;#34;current&amp;#34;: {
            &amp;#34;text&amp;#34;: &amp;#34;&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;&amp;#34;
          },
          &amp;#34;definition&amp;#34;: &amp;#34;&amp;#34;,
          &amp;#34;description&amp;#34;: &amp;#34;example description&amp;#34;,
          &amp;#34;label&amp;#34;: &amp;#34;ExampleLabel&amp;#34;,
          &amp;#34;name&amp;#34;: &amp;#34;ExampleVariable&amp;#34;,
          &amp;#34;options&amp;#34;: [],
          &amp;#34;query&amp;#34;: &amp;#34;&amp;#34;,
          &amp;#34;refresh&amp;#34;: 1,
          &amp;#34;regex&amp;#34;: &amp;#34;cluster&amp;#34;,
          &amp;#34;type&amp;#34;: &amp;#34;query&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;timezone&amp;#34;: &amp;#34;browser&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;Example Dashboard&amp;#34;
  },
  &amp;#34;status&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;201&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; – Conflict (dashboard with the same uid already exists)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-dashboard&#34;&gt;Update Dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboards/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing dashboard via the dashboard uid.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;uid: the unique identifier of the dashboard to update. this will be the &lt;em&gt;name&lt;/em&gt; in the dashboard response&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example Update 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 /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards/gdxccn HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;gdxccn&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;,
      &amp;#34;grafana.app/message&amp;#34;: &amp;#34;commit message&amp;#34;
    },
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;New dashboard - updated&amp;#34;,
    &amp;#34;schemaVersion&amp;#34;: 41,
    ...
  }
}&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;metadata.name&lt;/strong&gt; – The &lt;a href=&#34;#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;metadata.annotations.grafana.app/folder&lt;/strong&gt; - Optional field, the unique identifier of the folder under which the dashboard should be created.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;metadata.annotations.grafana.app/message&lt;/strong&gt; - Optional field, to set a commit message for the version history.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;spec&lt;/strong&gt; – The dashboard json.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Custom labels and annotations in the metadata field are supported on some instances, with full support planned for all instances when these APIs reach general availability. If they are not yet supported on your instance, they will be ignored.&lt;/p&gt;&lt;/blockquote&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: 485

{
  &amp;#34;kind&amp;#34;: &amp;#34;Dashboard&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;gdxccn&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;Cc7fA5ffHY94NnHZyMxXvFlpFtOmkK3qkBcVZPKSPXcX&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;2&amp;#34;,
    &amp;#34;generation&amp;#34;: 2,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-06T19:57:18Z&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;,
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T02:58:36Z&amp;#34;
    }
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;schemaVersion&amp;#34;: 41,
    &amp;#34;title&amp;#34;: &amp;#34;New dashboard - 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; – 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; – Conflict (dashboard with the same version already exists)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-dashboard&#34;&gt;Get Dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboards/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets a dashboard via the dashboard uid.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;uid: the unique identifier of the dashboard to update. this will be the &lt;em&gt;name&lt;/em&gt; in the dashboard response&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example Get 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 /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards/gdxccn 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: 485

{
  &amp;#34;kind&amp;#34;: &amp;#34;Dashboard&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;gdxccn&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;Cc7fA5ffHY94NnHZyMxXvFlpFtOmkK3qkBcVZPKSPXcX&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;2&amp;#34;,
    &amp;#34;generation&amp;#34;: 2,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-06T19:57:18Z&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T02:58:36Z&amp;#34;
    }
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;schemaVersion&amp;#34;: 41,
    &amp;#34;title&amp;#34;: &amp;#34;New dashboard - 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; – Not Found&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;retrieve-additional-access-information&#34;&gt;Retrieve additional access information&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboards/:uid/dto&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Retrieves a dashboard with additional access information.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;GET&lt;/code&gt; response includes an additional &lt;code&gt;access&lt;/code&gt; section with data such as if it&amp;rsquo;s a public dashboard, or the dashboard permissions (admin, editor) of the user who made the request.&lt;/p&gt;
&lt;h2 id=&#34;list-dashboards&#34;&gt;List Dashboards&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboards&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists all dashboards in the given organization. You can control the maximum number of dashboards returned through the &lt;code&gt;limit&lt;/code&gt; query parameter. You can then use the &lt;code&gt;continue&lt;/code&gt; token returned to fetch the next page of dashboards.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Query parameters&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;limit&lt;/code&gt;&lt;/strong&gt; (optional): Maximum number of dashboards to return&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;continue&lt;/code&gt;&lt;/strong&gt; (optional): Continue token from a previous response to fetch the next page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example Get 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 /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards?limit=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: 644

{
  &amp;#34;kind&amp;#34;: &amp;#34;DashboardList&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1alpha1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741315830000&amp;#34;,
    &amp;#34;continue&amp;#34;: &amp;#34;eyJvIjoxNTIsInYiOjE3NjE3MDQyMjQyMDcxODksInMiOmZhbHNlfQ==&amp;#34;
  },
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;kind&amp;#34;: &amp;#34;Dashboard&amp;#34;,
      &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1alpha1&amp;#34;,
      &amp;#34;metadata&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;gpqcmf&amp;#34;,
        &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;VQyL7pNTpfGPNlPM6HRJSePrBg5dXmxr4iPQL7txLtwX&amp;#34;,
        &amp;#34;resourceVersion&amp;#34;: &amp;#34;1&amp;#34;,
        &amp;#34;generation&amp;#34;: 1,
        &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-06T19:50:30Z&amp;#34;,
        &amp;#34;annotations&amp;#34;: {
          &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-06T19:50:30Z&amp;#34;
        }
      },
      &amp;#34;spec&amp;#34;: {
        &amp;#34;schemaVersion&amp;#34;: 41,
        &amp;#34;title&amp;#34;: &amp;#34;New dashboard&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;gpqcmf&amp;#34;,
        &amp;#34;version&amp;#34;: 1,
        ...
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;metadata.continue&lt;/code&gt; field contains a token to fetch the next page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example subsequent request using continue token&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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 /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards?limit=1&amp;amp;continue=eyJvIjoxNTIsInYiOjE3NjE3MDQyMjQyMDcxODksInMiOmZhbHNlfQ== 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 subsequent 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

{
  &amp;#34;kind&amp;#34;: &amp;#34;DashboardList&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1alpha1&amp;#34;,
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;kind&amp;#34;: &amp;#34;Dashboard&amp;#34;,
      &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1alpha1&amp;#34;,
      &amp;#34;metadata&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;hpqcmg&amp;#34;,
        &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;WQyL7pNTpfGPNlPM6HRJSePrBg5dXmxr4iPQL7txLtwY&amp;#34;,
        &amp;#34;resourceVersion&amp;#34;: &amp;#34;1&amp;#34;,
        &amp;#34;generation&amp;#34;: 1,
        &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-06T19:51:31Z&amp;#34;,
        &amp;#34;annotations&amp;#34;: {
          &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-06T19:51:31Z&amp;#34;
        }
      },
      &amp;#34;spec&amp;#34;: {
        &amp;#34;schemaVersion&amp;#34;: 41,
        &amp;#34;title&amp;#34;: &amp;#34;Another dashboard&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;hpqcmg&amp;#34;,
        &amp;#34;version&amp;#34;: 1,
        ...
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Continue making requests with the updated &lt;code&gt;continue&lt;/code&gt; token until you receive a response without a &lt;code&gt;continue&lt;/code&gt; field in the metadata, indicating you&amp;rsquo;ve reached the last page.&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;delete-dashboard&#34;&gt;Delete Dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /apis/dashboard.grafana.app/v1beta1/namespaces/:namespace/dashboards/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes a dashboard via the dashboard uid.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;namespace&lt;/code&gt;&lt;/strong&gt;: To read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;uid&lt;/code&gt;&lt;/strong&gt;: The unique identifier of the dashboard to update. This is the &lt;code&gt;metadata.name&lt;/code&gt; field in the dashboard response and &lt;em&gt;not&lt;/em&gt; the &lt;code&gt;metadata.uid&lt;/code&gt; field.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#new-dashboard-apis&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example Delete 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 /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards/gdxccn 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: 78

{
  &amp;#34;kind&amp;#34;: &amp;#34;Status&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {},
  &amp;#34;status&amp;#34;: &amp;#34;Success&amp;#34;,
  &amp;#34;details&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;gdxccn&amp;#34;,
    &amp;#34;group&amp;#34;: &amp;#34;dashboard.grafana.app&amp;#34;,
    &amp;#34;kind&amp;#34;: &amp;#34;dashboards&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;Cc7fA5ffHY94NnHZyMxXvFlpFtOmkK3qkBcVZPKSPXcX&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; – 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;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;
&lt;h2 id=&#34;apis&#34;&gt;APIs&lt;/h2&gt;
&lt;h3 id=&#34;unique-identifier-uid-vs-identifier-id&#34;&gt;Unique identifier (uid) vs identifier (id)&lt;/h3&gt;
&lt;p&gt;The unique identifier (uid) of a dashboard can be used to uniquely identify a dashboard within a given org.
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;/docs/grafana/latest/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;p&gt;The identifier (id) of a dashboard is deprecated in favor of the unique identifier (uid).&lt;/p&gt;
&lt;h3 id=&#34;create--update-dashboard&#34;&gt;Create / Update dashboard&lt;/h3&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 root level. (You need to define only one property, not both).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This endpoint is not intended for creating folders, use &lt;code&gt;POST /api/folders&lt;/code&gt; for that.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;dashboards:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;refresh&amp;#34;: &amp;#34;25s&amp;#34;
  },
  &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.&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;dashboard.refresh&lt;/strong&gt; - Set the dashboard refresh interval. If this is lower than &lt;a href=&#34;/docs/grafana/latest/setup-grafana/configure-grafana/#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;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 an existing dashboard with a given 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;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example Request for updating a 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;: 1,
    &amp;#34;title&amp;#34;: &amp;#34;Production Overview Updated&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;: 1,
    &amp;#34;refresh&amp;#34;: &amp;#34;25s&amp;#34;
  },
  &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;&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;e883f11b-77c0-4ee3-9a70-3ba223d66e56&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;/d/e883f11b-77c0-4ee3-9a70-3ba223d66e56/production-overview-updated&amp;#34;,
    &amp;#34;status&amp;#34;: &amp;#34;success&amp;#34;,
    &amp;#34;version&amp;#34;: 2
    &amp;#34;slug&amp;#34;: &amp;#34;production-overview-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; – 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 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;h3 id=&#34;get-dashboard-by-uid&#34;&gt;Get dashboard by uid&lt;/h3&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;h3 id=&#34;delete-dashboard-by-uid&#34;&gt;Delete dashboard by uid&lt;/h3&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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;
]]></content><description>&lt;h1 id="new-dashboard-apis">New Dashboard APIs&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Dashboard Permissions HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/dashboard_permissions/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&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/uid/:uid/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing permissions for the dashboard with the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-permission-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards.permissions:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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/dHEquNzGz/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;dHEquNzGz&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;dHEquNzGz&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/uid/:uid/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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#dashboard-permission-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;dashboards.permissions:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;dashboards:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;dashboards:uid:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;folders:uid:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&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/uid/dHEquNzGz/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/v12.4/developer-resources/api-reference/http-api/dashboard_versions/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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-by-dashboard-uid&#34;&gt;Get all dashboard versions by dashboard UID&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. Defaults to 1000 if not set, or if an invalid value is passed in.&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/uid/:uid/versions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing dashboard versions for the dashboard with the given &lt;code&gt;uid&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/uid/QA7wKklGz/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;continueToken&amp;#34;: &amp;#34;&amp;#34;,
  &amp;#34;versions&amp;#34;: [
    {
      &amp;#34;id&amp;#34;: 2,
      &amp;#34;dashboardId&amp;#34;: 1,
      &amp;#34;uid&amp;#34;: &amp;#34;QA7wKklGz&amp;#34;,
      &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;uid&amp;#34;: &amp;#34;QA7wKklGz&amp;#34;,
      &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-by-dashboard-uid&#34;&gt;Get dashboard version by dashboard UID&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/uid/:uid/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 UID.&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/uid/QA7wKklGz/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;uid&amp;#34;: &amp;#34;QA7wKklGz&amp;#34;,
  &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;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;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;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;
]]></content><description>&lt;h1 id="dashboard-versions">Dashboard Versions&lt;/h1>
&lt;h2 id="get-all-dashboard-versions-by-dashboard-uid">Get all dashboard versions by dashboard UID&lt;/h2>
&lt;p>Query parameters:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>limit&lt;/strong> - Maximum number of results to return. Defaults to 1000 if not set, or if an invalid value is passed in.&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/uid/:uid/versions&lt;/code>&lt;/p></description></item><item><title>Data source HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/data_source/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API currently doesn&amp;rsquo;t handle pagination. The default maximum number of data sources returned is 5000. You can change this value in the default.ini file.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated since Grafana v9.0.0 and will be removed in a future release.
Refer to the &lt;a href=&#34;#get-a-single-data-source-by-uid&#34;&gt;API for getting a single data source by UID&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated and will be removed in a future release.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated and will be removed in a future release.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&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;/div&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-by-id&#34;&gt;Update an existing data source by id&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/datasources/:datasourceId&lt;/code&gt;&lt;/p&gt;


&lt;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated since Grafana v9.0.0 and will be removed in a future release.
Refer to the &lt;a href=&#34;#update-an-existing-data-source&#34;&gt;new data source update API&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;Note that the UID cannot be modified.&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;datasource&amp;#34;: {
    &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;: 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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&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;/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/uid/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: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-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;PUT /api/datasources/uid/kLtEtcRGk 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;uid&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;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;Note that the UID cannot be modified.&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;datasource&amp;#34;: {
    &amp;#34;id&amp;#34;: 1,
    &amp;#34;uid&amp;#34;: &amp;#34;uid&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;: 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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&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;/div&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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated since Grafana v9.0.0 and will be removed in a future release.
Refer to the &lt;a href=&#34;#delete-an-existing-data-source-by-uid&#34;&gt;API for deleting an existing data source by UID&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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-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/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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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-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/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;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated and will be removed in a future release.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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-10&#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-by-id&#34;&gt;Data source proxy calls by id&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated since Grafana v9.0.0 and will be removed in a future release.
Refer to the &lt;a href=&#34;#data-source-proxy-calls&#34;&gt;new data source API for proxying requests&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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 identified by the &lt;code&gt;datasourceId&lt;/code&gt;.&lt;/p&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/uid/:uid/*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Proxies all calls to the actual data source identified by the &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;check-data-source-health-by-id&#34;&gt;Check data source health by id&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated since Grafana v9.0.0 and will be removed in a future release.
Refer to the &lt;a href=&#34;#check-data-source-health&#34;&gt;new data source health check API&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;code&gt;GET /api/datasources/:datasourceId/health&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Makes a call to the health endpoint of data source identified by the given &lt;code&gt;datasourceId&lt;/code&gt;. This is not mandatory - every plugin author has to &lt;a href=&#34;https://grafana.com/tutorials/build-a-data-source-backend-plugin/#add-support-for-health-checks&#34; target=&#34;_blank&#34;&gt;implement support for health checks&lt;/a&gt; in their plugin themselves.&lt;/p&gt;
&lt;h3 id=&#34;examples-11&#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/112/health 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;1. Successfully queried the CloudWatch metrics API.\n2. Successfully queried the CloudWatch logs API.&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;OK&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;check-data-source-health&#34;&gt;Check data source health&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/uid/:uid/health&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Makes a call to the health endpoint of data source identified by the given &lt;code&gt;uid&lt;/code&gt;. This is not mandatory - every plugin author has to &lt;a href=&#34;https://grafana.com/tutorials/build-a-data-source-backend-plugin/#add-support-for-health-checks&#34; target=&#34;_blank&#34;&gt;implement support for health checks&lt;/a&gt; in their plugin themselves.&lt;/p&gt;
&lt;h3 id=&#34;examples-12&#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/P8045C56BDA891CB2/health 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;1. Successfully queried the CloudWatch metrics API.\n2. Successfully queried the CloudWatch logs API.&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;OK&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;fetch-data-source-resources-by-id&#34;&gt;Fetch data source resources by id&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-warning&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Warning&lt;/p&gt;&lt;p&gt;This API is deprecated since Grafana v9.0.0 and will be removed in a future release.
Refer to the &lt;a href=&#34;#fetch-data-source-resources&#34;&gt;new data source resources API&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;code&gt;GET /api/datasources/:datasourceId/resources/*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Makes a call to the resources endpoint of data source identified by the given &lt;code&gt;dashboardId&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;examples-13&#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/112/resources/dimension-keys?region=us-east-2&amp;amp;namespace=AWS%2FEC2&amp;amp;dimensionFilters=%7B%7D&amp;amp;metricName=CPUUtilization 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;text&amp;#34;: &amp;#34;AutoScalingGroupName&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;AutoScalingGroupName&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;AutoScalingGroupName&amp;#34;
	},
	{
		&amp;#34;text&amp;#34;: &amp;#34;ImageId&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;ImageId&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;ImageId&amp;#34;
	},
	{
		&amp;#34;text&amp;#34;: &amp;#34;InstanceId&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;InstanceId&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;InstanceId&amp;#34;
	},
	{
		&amp;#34;text&amp;#34;: &amp;#34;InstanceType&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;InstanceType&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;InstanceType&amp;#34;
	}
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;fetch-data-source-resources&#34;&gt;Fetch data source resources&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/uid/:uid/resources/*&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Makes a call to the resources endpoint of data source identified by the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;examples-14&#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/P8045C56BDA891CB2/resources/dimension-keys?region=us-east-2&amp;amp;namespace=AWS%2FEC2&amp;amp;dimensionFilters=%7B%7D&amp;amp;metricName=CPUUtilization 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;text&amp;#34;: &amp;#34;AutoScalingGroupName&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;AutoScalingGroupName&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;AutoScalingGroupName&amp;#34;
	},
	{
		&amp;#34;text&amp;#34;: &amp;#34;ImageId&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;ImageId&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;ImageId&amp;#34;
	},
	{
		&amp;#34;text&amp;#34;: &amp;#34;InstanceId&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;InstanceId&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;InstanceId&amp;#34;
	},
	{
		&amp;#34;text&amp;#34;: &amp;#34;InstanceType&amp;#34;,
		&amp;#34;value&amp;#34;: &amp;#34;InstanceType&amp;#34;,
		&amp;#34;label&amp;#34;: &amp;#34;InstanceType&amp;#34;
	}
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;query-a-data-source&#34;&gt;Query a data source&lt;/h2&gt;
&lt;p&gt;Queries a data source having a backend implementation.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/ds/query&lt;/code&gt;&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Grafana&amp;rsquo;s built-in data sources usually have a backend implementation.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Example request for the Test 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/ds/query HTTP/1.1
Accept: application/json
Content-Type: application/json

{
   &amp;#34;queries&amp;#34;:[
      {
         &amp;#34;refId&amp;#34;:&amp;#34;A&amp;#34;,
         &amp;#34;scenarioId&amp;#34;:&amp;#34;csv_metric_values&amp;#34;,
         &amp;#34;datasource&amp;#34;:{
            &amp;#34;uid&amp;#34;:&amp;#34;PD8C576611E62080A&amp;#34;
         },
         &amp;#34;format&amp;#34;: &amp;#34;table&amp;#34;,
         &amp;#34;maxDataPoints&amp;#34;:1848,
         &amp;#34;intervalMs&amp;#34;:200,
         &amp;#34;stringInput&amp;#34;:&amp;#34;1,20,90,30,5,0&amp;#34;
      }
   ],
   &amp;#34;from&amp;#34;:&amp;#34;now-5m&amp;#34;,
   &amp;#34;to&amp;#34;:&amp;#34;now&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;from/to&lt;/strong&gt; – Specifies the time range for the queries. The time can be either epoch timestamps in milliseconds or relative using Grafana time units. For example, &lt;code&gt;now-5m&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries&lt;/strong&gt; – Specifies one or more queries. Must contain at least 1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.datasource.uid&lt;/strong&gt; – Specifies the UID of data source to be queried. Each query in the request must have a unique &lt;code&gt;datasource&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.refId&lt;/strong&gt; – Specifies an identifier of the query. Defaults to &amp;ldquo;A&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.format&lt;/strong&gt; – Specifies the format the data should be returned in. Valid options are &lt;code&gt;time_series&lt;/code&gt; or &lt;code&gt;table&lt;/code&gt; depending on the data source.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.maxDataPoints&lt;/strong&gt; - Species the maximum amount of data points that a dashboard panel can render. Defaults to 100.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;queries.intervalMs&lt;/strong&gt; - Specifies the time series time interval in milliseconds. Defaults to 1000.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, specific properties of each data source should be added in a request (for example &lt;strong&gt;queries.stringInput&lt;/strong&gt; as shown in the request above). To better understand how to form a query for a certain data source, use the Developer Tools in your browser of choice and inspect the HTTP requests being made to &lt;code&gt;/api/ds/query&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example Test data source 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;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;results&amp;#34;: {
    &amp;#34;A&amp;#34;: {
      &amp;#34;frames&amp;#34;: [
        {
          &amp;#34;schema&amp;#34;: {
            &amp;#34;refId&amp;#34;: &amp;#34;A&amp;#34;,
            &amp;#34;fields&amp;#34;: [
              {
                &amp;#34;name&amp;#34;: &amp;#34;time&amp;#34;,
                &amp;#34;type&amp;#34;: &amp;#34;time&amp;#34;,
                &amp;#34;typeInfo&amp;#34;: {
                  &amp;#34;frame&amp;#34;: &amp;#34;time.Time&amp;#34;
                }
              },
              {
                &amp;#34;name&amp;#34;: &amp;#34;A-series&amp;#34;,
                &amp;#34;type&amp;#34;: &amp;#34;number&amp;#34;,
                &amp;#34;typeInfo&amp;#34;: {
                  &amp;#34;frame&amp;#34;: &amp;#34;int64&amp;#34;,
                  &amp;#34;nullable&amp;#34;: true
                }
              }
            ]
          },
          &amp;#34;data&amp;#34;: {
            &amp;#34;values&amp;#34;: [
              [1644488152084, 1644488212084, 1644488272084, 1644488332084, 1644488392084, 1644488452084],
              [1, 20, 90, 30, 5, 0]
            ]
          }
        }
      ]
    }
  }
}&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;All data source queries returned a successful response.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Bad request due to invalid JSON, missing content type, missing or invalid fields, etc. Or one or more data source queries were unsuccessful. Refer to the body for more details.&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;Either the data source or plugin required to fulfil the request could not be found.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to the 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="data-source-api">Data source API&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Datasource LBAC rules HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/datasource_lbac_rules/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/datasource_lbac_rules/</guid><content><![CDATA[&lt;h1 id=&#34;data-source-lbac-rules-api&#34;&gt;Data Source LBAC rules API&lt;/h1&gt;
&lt;p&gt;LBAC (Label-Based Access Control) rules can be set for teams.&lt;/p&gt;
&lt;h2 id=&#34;get-lbac-rules-for-a-data-source&#34;&gt;Get LBAC rules for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/uid/:uid/lbac/teams&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing LBAC rules for the data source with the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&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;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;em&gt;&lt;br&gt;datasources:uid:&lt;/em&gt;&lt;br&gt;datasources:uid:my_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&#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 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;GET /api/datasources/uid/my_datasource/lbac/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 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 131

{
  &amp;#34;rules&amp;#34;: [
    {
      &amp;#34;teamUId&amp;#34;: &amp;#34;fdnd1pf4m9sxvc&amp;#34;,
      &amp;#34;rules&amp;#34;: [
        &amp;#34;{ service_name=\&amp;#34;bigquery-sync-mysql\&amp;#34; }&amp;#34;
      ]
    },
    {
      &amp;#34;teamUid&amp;#34;: &amp;#34;dfed1p2m9sxvfc&amp;#34;,
      &amp;#34;rules&amp;#34;: [
        &amp;#34;{ service_name=\&amp;#34;api\&amp;#34; }&amp;#34;
      ]
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-lbac-rules-for-a-data-source&#34;&gt;Update LBAC rules for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/datasources/uid/:uid/lbac/teams&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates LBAC rules for teams associated with the data source with the given &lt;code&gt;uid&lt;/code&gt;. Here you submit a list of teams and the rules for each team.
Deleting a team from the list will remove the team&amp;rsquo;s LBAC rules. You have to submit all teams and their rules to be updated, to remove a team&amp;rsquo;s rules, you have to submit the current list of rules without the team.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&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;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;em&gt;&lt;br&gt;datasources:uid:&lt;/em&gt;&lt;br&gt;datasources:uid:my_datasource (single data source)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;datasources.permissions:write&lt;/td&gt;
              &lt;td&gt;datasources:&lt;em&gt;&lt;br&gt;datasources:uid:&lt;/em&gt;&lt;br&gt;datasources:uid:my_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-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;PUT /api/datasources/uid/my_datasource/lbac/teams
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;rules&amp;#34;: [
    {
      &amp;#34;teamUId&amp;#34;: &amp;#34;fdnd1pf4m9sxvc&amp;#34;,
      &amp;#34;rules&amp;#34;: [
        &amp;#34;{ service_name=\&amp;#34;bigquery-sync-mysql\&amp;#34; }&amp;#34;
      ]
    },
    {
      &amp;#34;teamUid&amp;#34;: &amp;#34;dfed1p2m9sxvfc&amp;#34;,
      &amp;#34;rules&amp;#34;: [
        &amp;#34;{ service_name=\&amp;#34;api\&amp;#34; }&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; charset=UTF-8
Content-Length: 35

{
  &amp;#34;id&amp;#34;: 1,
  &amp;#34;message&amp;#34;: &amp;#34;Data source LBAC rules updated&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;loki&amp;#34;,
  &amp;#34;rules&amp;#34;: [
    {
      &amp;#34;teamUId&amp;#34;: &amp;#34;fdnd1pf4m9sxvc&amp;#34;,
      &amp;#34;rules&amp;#34;: [
        &amp;#34;{ service_name=\&amp;#34;bigquery-sync-mysql\&amp;#34; }&amp;#34;
      ]
    },
    {
      &amp;#34;teamUid&amp;#34;: &amp;#34;dfed1p2m9sxvfc&amp;#34;,
      &amp;#34;rules&amp;#34;: [
        &amp;#34;{ service_name=\&amp;#34;api\&amp;#34; }&amp;#34;
      ]
    }
  ],
  &amp;#34;uid&amp;#34;: &amp;#34;ee1nm1t7spog0e&amp;#34;,
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="data-source-lbac-rules-api">Data Source LBAC rules API&lt;/h1>
&lt;p>LBAC (Label-Based Access Control) rules can be set for teams.&lt;/p>
&lt;h2 id="get-lbac-rules-for-a-data-source">Get LBAC rules for a data source&lt;/h2>
&lt;p>&lt;code>GET /api/datasources/uid/:uid/lbac/teams&lt;/code>&lt;/p>
&lt;p>Gets all existing LBAC rules for the data source with the given &lt;code>uid&lt;/code>.&lt;/p></description></item><item><title>Datasource Permissions HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/datasource_permissions/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;/docs/grafana/latest/introduction/grafana-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, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This API can be used to list, add and remove permissions for a data source.&lt;/p&gt;
&lt;p&gt;Permissions can be set for a user, team, service account or a basic role (Admin, Editor, Viewer).&lt;/p&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/access-control/datasources/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets all existing permissions for the data source with the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:uid:*&lt;br&gt;datasources:uid:my_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&#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/access-control/datasources/my_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 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 551

[
    {
        &amp;#34;id&amp;#34;: 1,
        &amp;#34;roleName&amp;#34;: &amp;#34;fixed:datasources:reader&amp;#34;,
        &amp;#34;isManaged&amp;#34;: false,
        &amp;#34;isInherited&amp;#34;: false,
        &amp;#34;isServiceAccount&amp;#34;: false,
        &amp;#34;userId&amp;#34;: 1,
        &amp;#34;userLogin&amp;#34;: &amp;#34;admin_user&amp;#34;,
        &amp;#34;userAvatarUrl&amp;#34;: &amp;#34;/avatar/admin_user&amp;#34;,
        &amp;#34;actions&amp;#34;: [
            &amp;#34;datasources:read&amp;#34;,
            &amp;#34;datasources:query&amp;#34;,
            &amp;#34;datasources:read&amp;#34;,
            &amp;#34;datasources:query&amp;#34;,
            &amp;#34;datasources:write&amp;#34;,
            &amp;#34;datasources:delete&amp;#34;
        ],
        &amp;#34;permission&amp;#34;: &amp;#34;Edit&amp;#34;
    },
    {
        &amp;#34;id&amp;#34;: 2,
        &amp;#34;roleName&amp;#34;: &amp;#34;managed:teams:1:permissions&amp;#34;,
        &amp;#34;isManaged&amp;#34;: true,
        &amp;#34;isInherited&amp;#34;: false,
        &amp;#34;isServiceAccount&amp;#34;: false,
        &amp;#34;team&amp;#34;: &amp;#34;A team&amp;#34;,
        &amp;#34;teamId&amp;#34;: 1,
        &amp;#34;teamAvatarUrl&amp;#34;: &amp;#34;/avatar/523d70c8551046f441727d690431858c&amp;#34;,
        &amp;#34;actions&amp;#34;: [
            &amp;#34;datasources:read&amp;#34;,
            &amp;#34;datasources:query&amp;#34;
        ],
        &amp;#34;permission&amp;#34;: &amp;#34;Query&amp;#34;
    },
    {
        &amp;#34;id&amp;#34;: 3,
        &amp;#34;roleName&amp;#34;: &amp;#34;basic:admin&amp;#34;,
        &amp;#34;isManaged&amp;#34;: false,
        &amp;#34;isInherited&amp;#34;: false,
        &amp;#34;isServiceAccount&amp;#34;: false,
        &amp;#34;builtInRole&amp;#34;: &amp;#34;Admin&amp;#34;,
        &amp;#34;actions&amp;#34;: [
            &amp;#34;datasources:query&amp;#34;,
            &amp;#34;datasources:read&amp;#34;,
            &amp;#34;datasources:write&amp;#34;,
            &amp;#34;datasources:delete&amp;#34;
        ],
        &amp;#34;permission&amp;#34;: &amp;#34;Edit&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;500&lt;/strong&gt; - Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;add-or-revoke-access-to-a-data-source-for-a-user&#34;&gt;Add or revoke access to a data source for a user&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/datasources/:uid/users/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sets user permission for the data source with the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To add a permission, set the &lt;code&gt;permission&lt;/code&gt; field to either &lt;code&gt;Query&lt;/code&gt;, &lt;code&gt;Edit&lt;/code&gt;, or &lt;code&gt;Admin&lt;/code&gt;.
To remove a permission, set the &lt;code&gt;permission&lt;/code&gt; field to an empty string.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:uid:*&lt;br&gt;datasources:uid:my_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-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/access-control/datasources/my_datasource/users/1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;permission&amp;#34;: &amp;#34;Query&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; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;: &amp;#34;Permission updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&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/access-control/datasources/my_datasource/users/1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;permission&amp;#34;: &amp;#34;&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; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;: &amp;#34;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;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;/ul&gt;
&lt;h2 id=&#34;add-or-revoke-access-to-a-data-source-for-a-team&#34;&gt;Add or revoke access to a data source for a team&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/datasources/:uid/teams/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sets team permission for the data source with the given &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To add a permission, set the &lt;code&gt;permission&lt;/code&gt; field to either &lt;code&gt;Query&lt;/code&gt;, &lt;code&gt;Edit&lt;/code&gt;, or &lt;code&gt;Admin&lt;/code&gt;.
To remove a permission, set the &lt;code&gt;permission&lt;/code&gt; field to an empty string.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:uid:*&lt;br&gt;datasources:uid:my_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-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;POST /api/access-control/datasources/my_datasource/teams/1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;permission&amp;#34;: &amp;#34;Edit&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; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;: &amp;#34;Permission updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&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/access-control/datasources/my_datasource/teams/1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;permission&amp;#34;: &amp;#34;&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; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;: &amp;#34;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;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;/ul&gt;
&lt;h2 id=&#34;add-or-revoke-access-to-a-data-source-for-a-basic-role&#34;&gt;Add or revoke access to a data source for a basic role&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/datasources/:uid/builtInRoles/:builtinRoleName&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sets permission for the data source with the given &lt;code&gt;uid&lt;/code&gt; to all users who have the specified basic role.&lt;/p&gt;
&lt;p&gt;You can set permissions for the following basic roles: &lt;code&gt;Admin&lt;/code&gt;, &lt;code&gt;Editor&lt;/code&gt;, &lt;code&gt;Viewer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To add a permission, set the &lt;code&gt;permission&lt;/code&gt; field to either &lt;code&gt;Query&lt;/code&gt;, &lt;code&gt;Edit&lt;/code&gt;, or &lt;code&gt;Admin&lt;/code&gt;.
To remove a permission, set the &lt;code&gt;permission&lt;/code&gt; field to an empty string.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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:uid:*&lt;br&gt;datasources:uid:my_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;POST /api/access-control/datasources/my_datasource/builtInRoles/Admin
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;permission&amp;#34;: &amp;#34;Edit&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; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;: &amp;#34;Permission updated&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&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/access-control/datasources/my_datasource/builtInRoles/Viewer
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;permission&amp;#34;: &amp;#34;&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; charset=UTF-8
Content-Length: 35

{&amp;#34;message&amp;#34;: &amp;#34;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;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;/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="/docs/grafana/latest/introduction/grafana-enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Folder HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/folder/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/folder/</guid><content><![CDATA[&lt;h1 id=&#34;new-folders-apis&#34;&gt;New Folders APIs&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;To view more about the new api structure, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;get-all-folders&#34;&gt;Get all folders&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /apis/folder.grafana.app/v1beta1/namespaces/:namespace/folders&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns all folders that the authenticated user has permission to view within the given organization. Use the &lt;code&gt;limit&lt;/code&gt; query parameter to control the maximum number of dashboards returned. To retrieve additional dashboards, utilize the &lt;code&gt;continue&lt;/code&gt; token provided in the response to fetch the next page.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Query parameters&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;limit&lt;/code&gt;&lt;/strong&gt; (optional): Maximum number of folders to return&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;continue&lt;/code&gt;&lt;/strong&gt; (optional): Continue token from a previous response to fetch the next page&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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 /apis/folder.grafana.app/v1beta1/namespaces/default/folders?limit=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;kind&amp;#34;: &amp;#34;FolderList&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;continue&amp;#34;: &amp;#34;eyJvIjoxNTIsInYiOjE3NjE3MDQyMjQyMDcxODksInMiOmZhbHNlfQ==&amp;#34;
  },
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;kind&amp;#34;: &amp;#34;Folder&amp;#34;,
      &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
      &amp;#34;metadata&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;aef30vrzxs3y8d&amp;#34;,
        &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;KCtv1FXDsJmTYQoTgcPnfuwZhDZge3uMpXOefaOHjb4X&amp;#34;,
        &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741343686000&amp;#34;,
        &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-07T10:34:46Z&amp;#34;,
        &amp;#34;annotations&amp;#34;: {
          &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T10:34:46Z&amp;#34;
        }
      },
      &amp;#34;spec&amp;#34;: {
        &amp;#34;title&amp;#34;: &amp;#34;example&amp;#34;
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The &lt;code&gt;metadata.continue&lt;/code&gt; field contains a token to fetch the next page.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example subsequent request using continue token&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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 /apis/folder.grafana.app/v1beta1/namespaces/default/folders?limit=1&amp;amp;continue=eyJvIjoxNTIsInYiOjE3NjE3MDQyMjQyMDcxODksInMiOmZhbHNlfQ== 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 subsequent 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;kind&amp;#34;: &amp;#34;FolderList&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;kind&amp;#34;: &amp;#34;Folder&amp;#34;,
      &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
      &amp;#34;metadata&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;bef30vrzxs3y8e&amp;#34;,
        &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
        &amp;#34;uid&amp;#34;: &amp;#34;YCtv1FXDsJmTYQoTgcPnfuwZhDZge3uMpXOefaOHjb5Y&amp;#34;,
        &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741343687000&amp;#34;,
        &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-07T10:35:47Z&amp;#34;,
        &amp;#34;annotations&amp;#34;: {
          &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
          &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T10:35:47Z&amp;#34;
        }
      },
      &amp;#34;spec&amp;#34;: {
        &amp;#34;title&amp;#34;: &amp;#34;another folder&amp;#34;
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Continue making requests with the updated &lt;code&gt;continue&lt;/code&gt; token until you receive a response without a &lt;code&gt;continue&lt;/code&gt; field in the metadata, indicating you&amp;rsquo;ve reached the last page.&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;h3 id=&#34;get-folder-by-uid&#34;&gt;Get folder by uid&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /apis/folder.grafana.app/v1beta1/namespaces/:namespace/folders/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will return the folder given the folder uid.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;uid: the unique identifier of the folder to update. this will be the &lt;em&gt;name&lt;/em&gt; in the folder response&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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 /apis/folder.grafana.app/v1beta1/namespaces/default/folders/aef30vrzxs3y8d 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;kind&amp;#34;: &amp;#34;Folder&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;aef30vrzxs3y8d&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;KCtv1FXDsJmTYQoTgcPnfuwZhDZge3uMpXOefaOHjb4X&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741343686000&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-07T10:34:46Z&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T10:34:46Z&amp;#34;,
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;
    }
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;test&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note the annotation &lt;code&gt;grafana.app/folder&lt;/code&gt; which contains the uid of the parent folder.&lt;/p&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;h3 id=&#34;create-folder&#34;&gt;Create folder&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /apis/folder.grafana.app/v1beta1/namespaces/:namespace/folders&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new folder.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;folders:create&lt;/code&gt; allows creating folders and subfolders. If granted with scope &lt;code&gt;folders:uid:general&lt;/code&gt;, allows creating root level folders. Otherwise, allows creating subfolders under the specified folders.&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;&lt;code&gt;folders:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;folders:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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 /apis/folder.grafana.app/v1beta1/namespaces/default/folders HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;aef30vrzxs3y8d&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;
    }
  }
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;child-folder&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;metadata.name&lt;/strong&gt; – The Grafana &lt;a href=&#34;#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt;. If you do not want to provide this, set metadata.generateName to the prefix you would like for the uid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;metadata.annotations.grafana.app/folder&lt;/strong&gt; - Optional field, the unique identifier of the parent folder under which the folder should be created. Requires nested folders to be enabled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;spec.title&lt;/strong&gt; – The title of the folder.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Custom labels and annotations in the metadata field are supported on some instances, with full support planned for all instances when these APIs reach general availability. If they are not yet supported on your instance, they will be ignored.&lt;/p&gt;&lt;/blockquote&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;kind&amp;#34;: &amp;#34;Folder&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;eef33r1fprd34d&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;X8momvVZnsXdOqvLD9I4ngqLVif2CgRWXHy9xb2UgjQX&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741320415009&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-07T04:06:55Z&amp;#34;,
    &amp;#34;labels&amp;#34;: {
      &amp;#34;grafana.app/deprecatedInternalID&amp;#34;: &amp;#34;1159&amp;#34;
    },
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;,
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;
    }
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;child-folder&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;201&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; – Conflict (folder with the same uid already exists)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;update-folder&#34;&gt;Update folder&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /apis/folder.grafana.app/v1beta1/namespaces/:namespace/folders/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing folder identified by uid.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;uid: the unique identifier of the folder to update. this will be the &lt;em&gt;name&lt;/em&gt; in the folder response&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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 /apis/folder.grafana.app/v1beta1/namespaces/default/folders/fef30w4jaxla8b HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

&amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;aef30vrzxs3y8d&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;xkj92m5pqw3vn4&amp;#34;
    }
  }
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;updated title&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;metadata.name&lt;/strong&gt; – The &lt;a href=&#34;#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt; of the folder.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;metadata.annotations.grafana.app/folder&lt;/strong&gt; - Optional field, the unique identifier of the parent folder under which the folder should be - update this to move the folder under a different parent folder. Requires nested folders to be enabled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;spec.title&lt;/strong&gt; – The title of the folder.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Custom labels and annotations in the metadata field are supported on some instances, with full support planned for all instances when these APIs reach general availability. If they are not yet supported on your instance, they will be ignored.&lt;/p&gt;&lt;/blockquote&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;kind&amp;#34;: &amp;#34;Folder&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;YaWLsFrMwEaTlIQwX2iMnhHlJuZHtZugps50BQoyjXEX&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741345736000&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-07T11:08:56Z&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;xkj92m5pqw3vn4&amp;#34;,
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T11:08:56Z&amp;#34;
    }
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;updated title&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 (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 (the folder has been changed by someone else). With this status code, the response body will have the following properties:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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;h3 id=&#34;delete-folder&#34;&gt;Delete folder&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;DELETE /apis/folder.grafana.app/v1beta1/namespaces/:namespace/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;/docs/grafana/v12.4/alerting/&#34;&gt;Grafana Alerting&lt;/a&gt; is 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 alerts. However, if this parameter is set to &lt;code&gt;true&lt;/code&gt; then it will delete any Grafana alerts under this folder.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;namespace: to read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;uid: the unique identifier of the folder to delete. this will be the &lt;em&gt;name&lt;/em&gt; in the folder response&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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 /apis/folder.grafana.app/v1beta1/namespaces/default/folders/fef30w4jaxla8b 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;kind&amp;#34;: &amp;#34;Folder&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;folder.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;fef30w4jaxla8b&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;YaWLsFrMwEaTlIQwX2iMnhHlJuZHtZugps50BQoyjXEX&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1741345736000&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2025-03-07T11:08:56Z&amp;#34;,
    &amp;#34;annotations&amp;#34;: {
      &amp;#34;grafana.app/folder&amp;#34;: &amp;#34;xkj92m5pqw3vn4&amp;#34;,
      &amp;#34;grafana.app/createdBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedBy&amp;#34;: &amp;#34;service-account:cef2t2rfm73lsb&amp;#34;,
      &amp;#34;grafana.app/updatedTimestamp&amp;#34;: &amp;#34;2025-03-07T11:08:56Z&amp;#34;
    }
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;updated title&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; – 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;apis&#34;&gt;APIs&lt;/h2&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 unique identifier (uid) of a folder can be used for uniquely identify folders within an org. 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;p&gt;The identifier (id) of a folder is deprecated in favor of the unique identifier (uid).&lt;/p&gt;
&lt;h3 id=&#34;get-all-folders-1&#34;&gt;Get all folders&lt;/h3&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;If nested folders are enabled, the operation expects an additional optional query parameter &lt;code&gt;parentUid&lt;/code&gt; with the parent folder UID, and returns the immediate subfolders that the authenticated user has permission to view.
If the parameter is not supplied, then the operation returns immediate subfolders under the root
that the authenticated user has permission to view.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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;h3 id=&#34;get-folder-by-uid-1&#34;&gt;Get folder by uid&lt;/h3&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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;If nested folders are enabled, and the folder is nested (lives under another folder), then the response additionally contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;parentUid&lt;/strong&gt; - The parent folder UID.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;parents&lt;/strong&gt; - An array with the whole tree hierarchy, starting from the root going down up to the parent folder.&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; – 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;h3 id=&#34;create-folder-1&#34;&gt;Create folder&lt;/h3&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;folders:create&lt;/code&gt; allows creating folders and subfolders. If granted with scope &lt;code&gt;folders:uid:general&lt;/code&gt;, allows creating root level folders. Otherwise, allows creating subfolders under the specified folders.&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;&lt;code&gt;folders:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;folders:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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;,
  &amp;#34;parentUid&amp;#34;: &amp;#34;fgnj5e52gel76g&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;#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;li&gt;&lt;strong&gt;parentUid&lt;/strong&gt; - Optional field, the unique identifier of the parent folder under which the folder should be created. Requires nested folders to be enabled.&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;If nested folders are enabled, and the folder is nested (lives under another folder) then the response additionally contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;parentUid&lt;/strong&gt; - the parent folder UID.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;parents&lt;/strong&gt; - an array with the whole tree hierarchy starting from the root going down up to the parent folder.&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; – 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; - Folder already exists&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;update-folder-1&#34;&gt;Update folder&lt;/h3&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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;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;If nested folders are enabled, and the folder is nested (lives under another folder) then the response additionally contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;parentUid&lt;/strong&gt; - the parent folder UID.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;parents&lt;/strong&gt; - an array with the whole tree hierarchy starting from the root going down up to the parent folder.&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; – 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;h3 id=&#34;delete-folder-1&#34;&gt;Delete folder&lt;/h3&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;/docs/grafana/latest/alerting/&#34;&gt;Grafana Alerting&lt;/a&gt; is 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 alerts. However, if this parameter is set to &lt;code&gt;true&lt;/code&gt; then it will delete any Grafana alerts under this folder.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-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;&lt;code&gt;folders:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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;h3 id=&#34;move-folder&#34;&gt;Move folder&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/folders/:uid/move&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Moves the folder.&lt;/p&gt;
&lt;p&gt;This is relevant only if nested folders are enabled.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;p&gt;If moving the folder under another folder:&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;&lt;code&gt;folders:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:uid:&amp;lt;destination folder UID&amp;gt;&lt;/code&gt;&lt;br&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;If moving the folder under root:&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;&lt;code&gt;folders:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:uid:general&lt;/code&gt;&lt;br&gt;&lt;code&gt;folders:*&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;JSON body schema:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;parentUid&lt;/strong&gt; – Optional &lt;a href=&#34;#identifier-id-vs-unique-identifier-uid&#34;&gt;unique identifier&lt;/a&gt; of the new parent folder. If this is empty, then the folder is moved under the root.&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/folders/a5393ec3-5568-4e88-8809-b866968ae8a6/move HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;parentUid&amp;#34;: &amp;#34;d80b18c0-266a-4aa4-ad5d-5537a00cb8e8&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;: 4,
	&amp;#34;uid&amp;#34;: &amp;#34;a5393ec3-5568-4e88-8809-b866968ae8a6&amp;#34;,
	&amp;#34;title&amp;#34;: &amp;#34;just-testing&amp;#34;,
	&amp;#34;url&amp;#34;: &amp;#34;/dashboards/f/a5393ec3-5568-4e88-8809-b866968ae8a6/just-testing&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;canDelete&amp;#34;: true,
	&amp;#34;createdBy&amp;#34;: &amp;#34;Anonymous&amp;#34;,
	&amp;#34;created&amp;#34;: &amp;#34;2023-04-27T21:55:01.593741&amp;#43;03:00&amp;#34;,
	&amp;#34;updatedBy&amp;#34;: &amp;#34;Anonymous&amp;#34;,
	&amp;#34;updated&amp;#34;: &amp;#34;2023-04-27T21:55:15.747444&amp;#43;03:00&amp;#34;,
	&amp;#34;parentUid&amp;#34;: &amp;#34;d80b18c0-266a-4aa4-ad5d-5537a00cb8e8&amp;#34;,
	&amp;#34;parents&amp;#34;: [
		{
			&amp;#34;id&amp;#34;: 2,
			&amp;#34;uid&amp;#34;: &amp;#34;d80b18c0-266a-4aa4-ad5d-5537a00cb8e8&amp;#34;,
			&amp;#34;title&amp;#34;: &amp;#34;f0&amp;#34;,
			&amp;#34;url&amp;#34;: &amp;#34;&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;canDelete&amp;#34;: true,
			&amp;#34;createdBy&amp;#34;: &amp;#34;Anonymous&amp;#34;,
			&amp;#34;created&amp;#34;: &amp;#34;2023-04-27T21:53:46.070672&amp;#43;03:00&amp;#34;,
			&amp;#34;updatedBy&amp;#34;: &amp;#34;Anonymous&amp;#34;,
			&amp;#34;updated&amp;#34;: &amp;#34;2023-04-27T21:53:46.070673&amp;#43;03: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; – Moved&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Errors (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; – Not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="new-folders-apis">New Folders APIs&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Folder Permissions HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/folder_permissions/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-permission-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;&lt;code&gt;folders.permissions:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#folder-permission-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;&lt;code&gt;folders.permissions:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;folders:*&lt;/code&gt;&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/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/v12.4/developer-resources/api-reference/http-api/folder_dashboard_search/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;blockquote&gt;
&lt;p&gt;Note: When using &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/&#34;&gt;Role-based access control&lt;/a&gt;, search results will contain only dashboards and folders which you have access to.&lt;/p&gt;&lt;/blockquote&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;dashboardUID&lt;/strong&gt; - List of dashboard uid&amp;rsquo;s to search for, It is deprecated since Grafana v9.1, please use dashboardUIDs instead&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dashboardUIDs&lt;/strong&gt; – List of dashboard uid&amp;rsquo;s to search for&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;folderUIDs&lt;/strong&gt; – List of folder UIDs to search in&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). If an invalid value is provided (for example, strings or special characters), the parameter defaults to 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.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example request for retrieving folders and dashboards at the root level&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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=&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 at the root level&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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;orgId&amp;#34;: 1,
    &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;orgId&amp;#34;: 1,
    &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;orgId&amp;#34;: 1,
    &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;blockquote>
&lt;p>Note: When using &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/">Role-based access control&lt;/a>, search results will contain only dashboards and folders which you have access to.&lt;/p></description></item><item><title>Library Element HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/library_element/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;code&gt;searchString&lt;/code&gt;: Part of the name or description searched for.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kind&lt;/code&gt;: Kind of element to search for. Use &lt;code&gt;1&lt;/code&gt; for library panels.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sortDirection&lt;/code&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;code&gt;typeFilter&lt;/code&gt;: A comma separated list of types to filter the elements by.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;excludeUid&lt;/code&gt;: Element UID to exclude from search results.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folderFilter&lt;/code&gt;: &lt;strong&gt;Deprecated.&lt;/strong&gt; A comma separated list of folder IDs to filter the elements by. Use &lt;code&gt;folderFilterUIDs&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folderFilterUIDs&lt;/code&gt;: A comma separated list of folder UIDs to filter the elements by.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;perPage&lt;/code&gt;: The number of results per page; default is 100.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;page&lt;/code&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;code&gt;200&lt;/code&gt;: Found&lt;/li&gt;
&lt;li&gt;&lt;code&gt;401&lt;/code&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;code&gt;200&lt;/code&gt;: Found&lt;/li&gt;
&lt;li&gt;&lt;code&gt;401&lt;/code&gt;: Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;code&gt;404&lt;/code&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;code&gt;200&lt;/code&gt;: Found&lt;/li&gt;
&lt;li&gt;&lt;code&gt;401&lt;/code&gt;: Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;code&gt;404&lt;/code&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, // Deprecated: will be removed in the future.
            &amp;#34;kind&amp;#34;: 1,
            &amp;#34;elementId&amp;#34;: 25,
            &amp;#34;connectionId&amp;#34;: 527,
            &amp;#34;connectionUid&amp;#34;: &amp;#34;dHEquNzGz&amp;#34;,
            &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;code&gt;200&lt;/code&gt;: Found&lt;/li&gt;
&lt;li&gt;&lt;code&gt;401&lt;/code&gt;: Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;code&gt;404&lt;/code&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;code&gt;folderId&lt;/code&gt;: ID of the folder where the library element is stored. It is deprecated since Grafana v9&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folderUid&lt;/code&gt;: Optional, the UID of the folder where the library element is stored, empty string when it is at the root level.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: Optional, the name of the library element.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model&lt;/code&gt;: The JSON model for the library element.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kind&lt;/code&gt;: Kind of element to create, Use &lt;code&gt;1&lt;/code&gt; for library panels.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uid&lt;/code&gt;: Optional, the &lt;a href=&#34;#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;folderUid&amp;#34;: &amp;#34;&amp;#34;,
  &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;folderUid&amp;#34;: &amp;#34;&amp;#34;,
        &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;code&gt;200&lt;/code&gt;: Created&lt;/li&gt;
&lt;li&gt;&lt;code&gt;400&lt;/code&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;code&gt;401&lt;/code&gt;: Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;code&gt;403&lt;/code&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;code&gt;folderId&lt;/code&gt;: ID of the folder where the library element is stored. It is deprecated since Grafana v9&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folderUid&lt;/code&gt;: UID of the folder where the library element is stored, empty string when it is at the root level.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: Name of the library element.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;model&lt;/code&gt;: The JSON model for the library element.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kind&lt;/code&gt;: Kind of element to create. Use &lt;code&gt;1&lt;/code&gt; for library panels.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;version&lt;/code&gt;: Version of the library element you are updating.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;uid&lt;/code&gt;: Optional, the &lt;a href=&#34;#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;folderUid&amp;#34;: &amp;#34;&amp;#34;,
        &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;code&gt;200&lt;/code&gt;: Updated&lt;/li&gt;
&lt;li&gt;&lt;code&gt;400&lt;/code&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;code&gt;401&lt;/code&gt;: Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;code&gt;403&lt;/code&gt;: Access denied&lt;/li&gt;
&lt;li&gt;&lt;code&gt;404&lt;/code&gt;: Library element not found&lt;/li&gt;
&lt;li&gt;&lt;code&gt;412&lt;/code&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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;You cannot delete a library element that is connected. This operation cannot be reverted.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;code&gt;200&lt;/code&gt;: Deleted&lt;/li&gt;
&lt;li&gt;&lt;code&gt;401&lt;/code&gt;: Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;code&gt;400&lt;/code&gt;: Bad request&lt;/li&gt;
&lt;li&gt;&lt;code&gt;403&lt;/code&gt;: Access denied&lt;/li&gt;
&lt;li&gt;&lt;code&gt;404&lt;/code&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/v12.4/developer-resources/api-reference/http-api/licensing/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;/docs/grafana/latest/introduction/grafana-enterprise/&#34;&gt;Grafana Enterprise&lt;/a&gt;.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-caution&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Caution&lt;/p&gt;&lt;p&gt;You can&amp;rsquo;t authenticate to the Licensing HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators&#34;&gt;Grafana server administrator permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use these API endpoints you have to use Basic authentication and the Grafana user must have the Grafana server administrator permission.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;admin&lt;/code&gt; user that Grafana is provisioned with by default has permissions to use these API endpoints.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;add-license&#34;&gt;Add license&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;code&gt;POST /api/licensing/token&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Applies a license to a Grafana instance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: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;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 /licensing/token
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{&amp;#34;token&amp;#34;:&amp;#34;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aGlzIjoiaXMiLCJub3QiOiJhIiwidmFsaWQiOiJsaWNlbnNlIn0.bxDzxIoJlYMwiEYKYT_l2s42z0Y30tY-6KKoyz9RuLE&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: 357

{
&amp;#34;status&amp;#34;:0,
&amp;#34;jti&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;iss&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;sub&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;iat&amp;#34;:0,
&amp;#34;exp&amp;#34;:0,
&amp;#34;nbf&amp;#34;:0,
&amp;#34;lexp&amp;#34;:0,
&amp;#34;lid&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;limit_by&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;included_users&amp;#34;:0,
&amp;#34;lic_exp_warn_days&amp;#34;:0,
&amp;#34;tok_exp_warn_days&amp;#34;:0,
&amp;#34;update_days&amp;#34;:0,
&amp;#34;prod&amp;#34;:null,
&amp;#34;company&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;account&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;slug&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;usage_billing&amp;#34;:false,
&amp;#34;max_concurrent_user_sessions&amp;#34;:0,
&amp;#34;details_url&amp;#34;:&amp;#34;&amp;#34;,
&amp;#34;trial&amp;#34;:false,
&amp;#34;trial_exp&amp;#34;:0,
&amp;#34;anonymousRatio&amp;#34;:0
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The response is a JSON blob with specific values intentionally not shown. The
available fields may change at any time without any prior notice. Refer to &lt;a href=&#34;#check-license-availability&#34;&gt;Check license availability&lt;/a&gt; for information on using the API to check the status of your license.&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&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Internal server error (refer to server logs for more details)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;manually-force-license-refresh&#34;&gt;Manually force license refresh&lt;/h2&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: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;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;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_users&amp;#34;:15,
  &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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Available in Grafana Enterprise v7.4&#43;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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-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;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="/docs/grafana/latest/introduction/grafana-enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>
&lt;div class="admonition admonition-caution">&lt;blockquote>&lt;p class="title text-uppercase">Caution&lt;/p>&lt;p>You can&amp;rsquo;t authenticate to the Licensing HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted
&lt;a href="/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators">Grafana server administrator permissions&lt;/a>.&lt;/p></description></item><item><title>New API Structure</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/apis/</guid><content><![CDATA[&lt;h1 id=&#34;grafanas-new-api-structure&#34;&gt;Grafana&amp;rsquo;s New API Structure&lt;/h1&gt;
&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;
&lt;p&gt;Going forward, Grafana&amp;rsquo;s HTTP API will follow a standardized API structure alongside consistent API versioning.&lt;/p&gt;
&lt;h3 id=&#34;api-path-structure&#34;&gt;API Path Structure&lt;/h3&gt;
&lt;p&gt;All Grafana APIs follow this standardized format:&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;/apis/&amp;lt;group&amp;gt;/&amp;lt;version&amp;gt;/namespaces/&amp;lt;namespace&amp;gt;/&amp;lt;resource&amp;gt;[/&amp;lt;name&amp;gt;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Where the final &lt;code&gt;/&amp;lt;name&amp;gt;&lt;/code&gt; segment is used for operations on individual resources (like Get, Update, Delete) and omitted for collection operations (like List, Create).&lt;/p&gt;
&lt;h3 id=&#34;api-response-format&#34;&gt;API Response Format&lt;/h3&gt;
&lt;p&gt;All Grafana API responses will follow this structure:&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;{
  &amp;#34;kind&amp;#34;: &amp;#34;&amp;lt;kind&amp;gt;&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;&amp;lt;group&amp;gt;/&amp;lt;version&amp;gt;&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;&amp;lt;name&amp;gt;&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;&amp;lt;namespace&amp;gt;&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;db323171-c78a-42fa-be98-16a3d799a779&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1758777451428472&amp;#34;,
    &amp;#34;generation&amp;#34;: 10,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2026-01-23T22:06:40Z&amp;#34;,
    &amp;#34;annotations&amp;#34;: {}
  },
  &amp;#34;spec&amp;#34;: {
    // resource-specific fields
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;understanding-the-components&#34;&gt;Understanding the Components&lt;/h2&gt;
&lt;h3 id=&#34;group-group&#34;&gt;Group (&lt;code&gt;&amp;lt;group&amp;gt;&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;Groups organize related functionality into logical collections. For example &lt;code&gt;dashboard.grafana.app&lt;/code&gt; will be used for all dashboard-related operations.&lt;/p&gt;
&lt;h3 id=&#34;version-version&#34;&gt;Version (&lt;code&gt;&amp;lt;version&amp;gt;&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;These APIs will also uses semantic versioning with three stability levels:&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;Level&lt;/th&gt;
              &lt;th&gt;Format&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
              &lt;th&gt;Use Case&lt;/th&gt;
              &lt;th&gt;Enabled By Default?&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Alpha&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;v1alpha1&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Early development stage. Unstable, may contain bugs, and subject to removal&lt;/td&gt;
              &lt;td&gt;For testing new features&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Beta&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;v1beta1&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;More stable than alpha, but may still have some changes&lt;/td&gt;
              &lt;td&gt;For non-critical use&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;GA&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;v1&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;Generally Available. Stable with backward compatibility guarantees&lt;/td&gt;
              &lt;td&gt;For production use&lt;/td&gt;
              &lt;td&gt;Yes&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;alpha&#34;&gt;Alpha&lt;/h4&gt;
&lt;p&gt;Alpha versions should not be served unless explicitly enabled by a feature flag, and should be considered completely experimental and subject to major changes.
An alpha version may undergo breaking changes without adding an additional version, and should not be relied upon by production workflows. Alpha versions may be removed completely, even without being promoted to a more stable level (e.g. an experimental API may be introduced as alpha for a new feature and subsequently removed completely, in case that feature gets canceled).&lt;/p&gt;
&lt;h4 id=&#34;beta&#34;&gt;Beta&lt;/h4&gt;
&lt;p&gt;Beta versions should not contain breaking changes in the schema, but still may be subject to changes in handling logic or semantics.
Breaking schema changes require a new published beta version (such as publishing &lt;code&gt;v1beta2&lt;/code&gt; for breaking changes to the &lt;code&gt;v1beta1&lt;/code&gt; schema).
While beta versions are no longer considered experimental like alpha versions, they should still be disabled by default.&lt;/p&gt;
&lt;h4 id=&#34;ga&#34;&gt;GA&lt;/h4&gt;
&lt;p&gt;GA versions are enabled by default, and can be treated as completely stable. The only changes that can be made to these APIs are bug fixes,
and any other changes should instead result in a new published version of the API.&lt;/p&gt;
&lt;h3 id=&#34;namespace-namespace&#34;&gt;Namespace (&lt;code&gt;&amp;lt;namespace&amp;gt;&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;Namespaces isolate resources within your Grafana instance. The format varies by deployment type:&lt;/p&gt;
&lt;h4 id=&#34;oss--on-premise-grafana&#34;&gt;OSS &amp;amp; On-Premise Grafana&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Default organization (org 1): &lt;code&gt;default&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Additional organizations: &lt;code&gt;org-&amp;lt;org_id&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;grafana-cloud&#34;&gt;Grafana Cloud&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Format: &lt;code&gt;stacks-&amp;lt;stack_id&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Your instance ID is the &lt;code&gt;stack_id&lt;/code&gt;. You can find this value by either:
&lt;ul&gt;
&lt;li&gt;Going to grafana.com, clicking on your stack, and selecting &amp;ldquo;Details&amp;rdquo; on your Grafana instance&lt;/li&gt;
&lt;li&gt;Accessing the /swagger page in your cloud instance, where the namespace will be automatically populated on the relevant endpoints&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;resource-resource&#34;&gt;Resource (&lt;code&gt;&amp;lt;resource&amp;gt;&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;The resource type you want to interact with, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dashboards&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;playlists&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;folders&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;kind-kind&#34;&gt;Kind (&lt;code&gt;&amp;lt;kind&amp;gt;&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;The kind identifies the resource type in API responses and corresponds to the singular form of the resource.
For example, the &lt;code&gt;dashboards&lt;/code&gt; resource has a kind of &lt;code&gt;Dashboard&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;name-name&#34;&gt;Name (&lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;)&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; is the unique identifier for a specific instance of a resource within its namespace and resource type. &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt; is distinct from the metadata.uid field. The URL path will always use the metadata.name.&lt;/p&gt;
&lt;p&gt;For example, to get a dashboard defined as:&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;{
  &amp;#34;kind&amp;#34;: &amp;#34;Dashboard&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;dashboard.grafana.app/v1beta1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;production-overview&amp;#34;, // This value IS used in the URL path
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8&amp;#34; // This value is NOT used in the URL path
    // ... other metadata
  },
  &amp;#34;spec&amp;#34;: {
    // ... dashboard spec
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You would use the following API call:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;GET /apis/dashboard.grafana.app/v1beta1/namespaces/default/dashboards/production-overview&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;metadata&#34;&gt;Metadata&lt;/h3&gt;
&lt;p&gt;The metadata section contains information about the resource instance.
This section includes &lt;a href=&#34;#name-name&#34;&gt;name&lt;/a&gt; and &lt;a href=&#34;#namespace-namespace&#34;&gt;namespace&lt;/a&gt;, which are described earlier in this document, along with the following fields:&lt;/p&gt;
&lt;h4 id=&#34;uid&#34;&gt;UID&lt;/h4&gt;
&lt;p&gt;An internal identifier that can be ignored for most use cases. Use the &lt;code&gt;name&lt;/code&gt; field as the unique identifier instead. This value is &lt;em&gt;not&lt;/em&gt; the same as the Grafana UID.&lt;/p&gt;
&lt;h4 id=&#34;resourceversion&#34;&gt;ResourceVersion&lt;/h4&gt;
&lt;p&gt;A value that changes whenever any part of the resource changes, including metadata or status.&lt;/p&gt;
&lt;p&gt;Use this field for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Change detection&lt;/li&gt;
&lt;li&gt;Optimistic concurrency control&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;generation&#34;&gt;Generation&lt;/h4&gt;
&lt;p&gt;A monotonically increasing number that increments only when the spec changes.
Updates to metadata or status don&amp;rsquo;t affect this value.&lt;/p&gt;
&lt;h4 id=&#34;creationtimestamp&#34;&gt;CreationTimestamp&lt;/h4&gt;
&lt;p&gt;The time the object was created, formatted as an RFC 3339 UTC timestamp (for example, &lt;code&gt;2026-01-23T22:06:40Z&lt;/code&gt;).&lt;/p&gt;
&lt;h4 id=&#34;annotations&#34;&gt;Annotations&lt;/h4&gt;
&lt;p&gt;A map of key-value pairs.&lt;/p&gt;
&lt;p&gt;Common annotations include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;grafana.app/createdBy&lt;/code&gt; / &lt;code&gt;grafana.app/updatedBy&lt;/code&gt;: Identifies who created or last updated the resource.
Format: &lt;code&gt;&amp;lt;user-type&amp;gt;:&amp;lt;uid&amp;gt;&lt;/code&gt; (for example, user:u000000839)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grafana.app/folder&lt;/code&gt;: If the resource supports folders, contains the folder UID the object belongs to.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grafana.app/updatedTimestamp&lt;/code&gt;: Timestamp of the last update, formatted as RFC 3339 UTC
(for example, &lt;code&gt;2026-01-23T05:17:31Z&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;labels&#34;&gt;Labels&lt;/h4&gt;
&lt;p&gt;An optional map of key-value pairs for organizing and selecting resources.&lt;/p&gt;
&lt;h3 id=&#34;spec&#34;&gt;Spec&lt;/h3&gt;
&lt;p&gt;The spec field describes the desired state of the resource. Its structure is specific to the resource type and API version. Refer to the Swagger / OpenAPI documentation for the exact schema of each resource’s spec.&lt;/p&gt;
]]></content><description>&lt;h1 id="grafanas-new-api-structure">Grafana&amp;rsquo;s New API Structure&lt;/h1>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Going forward, Grafana&amp;rsquo;s HTTP API will follow a standardized API structure alongside consistent API versioning.&lt;/p>
&lt;h3 id="api-path-structure">API Path Structure&lt;/h3>
&lt;p>All Grafana APIs follow this standardized format:&lt;/p></description></item><item><title>Organization HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/org/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: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;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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;div class=&#34;admonition admonition-caution&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Caution&lt;/p&gt;&lt;p&gt;You can&amp;rsquo;t authenticate to the Admin Organizations HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators&#34;&gt;Grafana server administrator permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use these API endpoints you have to use Basic authentication and the Grafana user must have the Grafana server administrator permission.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;admin&lt;/code&gt; user that Grafana is provisioned with by default has permissions to use these API endpoints.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: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;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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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/v12.4/developer-resources/api-reference/http-api/other/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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/v12.4/developer-resources/api-reference/http-api/playlist/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/playlist/</guid><content><![CDATA[&lt;h1 id=&#34;playlist-api&#34;&gt;Playlist API&lt;/h1&gt;
&lt;p&gt;To learn more about the API structure, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;list-playlists&#34;&gt;List Playlists&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists all playlists in the specified namespace.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To learn more about which namespace to use, refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&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;GET /apis/playlist.grafana.app/v1/namespaces/default/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;&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;kind&amp;#34;: &amp;#34;PlaylistList&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {},
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;kind&amp;#34;: &amp;#34;Playlist&amp;#34;,
      &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
      &amp;#34;metadata&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;my-playlist-uid&amp;#34;,
        &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
        &amp;#34;resourceVersion&amp;#34;: &amp;#34;1234567890&amp;#34;,
        &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:30:00Z&amp;#34;
      },
      &amp;#34;spec&amp;#34;: {
        &amp;#34;title&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_uid&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-1&amp;#34;
          },
          {
            &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
            &amp;#34;value&amp;#34;: &amp;#34;important&amp;#34;
          }
        ]
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-a-playlist&#34;&gt;Get a Playlist&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Retrieves a specific playlist by name.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To learn more about which namespace to use, refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: The UID of the playlist.&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 /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid 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;kind&amp;#34;: &amp;#34;Playlist&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;my-playlist-uid&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1234567890&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:30:00Z&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&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_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-1&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;important&amp;#34;
      }
    ]
  }
}&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 /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new playlist.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To learn more about which namespace to use, refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&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 /apis/playlist.grafana.app/v1/namespaces/default/playlists HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;kind&amp;#34;: &amp;#34;Playlist&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;my-new-playlist-uid&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;My New 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_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-1&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;monitoring&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 201 Created
Content-Type: application/json

{
  &amp;#34;kind&amp;#34;: &amp;#34;Playlist&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;my-new-playlist-uid&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1234567891&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:35:00Z&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;My New 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_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-1&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;monitoring&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 /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates an existing playlist. The entire playlist spec must be provided.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To learn more about which namespace to use, refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: The UID of the playlist.&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;PUT /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;kind&amp;#34;: &amp;#34;Playlist&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;my-playlist-uid&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1234567890&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;My Updated Playlist&amp;#34;,
    &amp;#34;interval&amp;#34;: &amp;#34;10m&amp;#34;,
    &amp;#34;items&amp;#34;: [
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-1&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-2&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;updated-tag&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

{
  &amp;#34;kind&amp;#34;: &amp;#34;Playlist&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;playlist.grafana.app/v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;my-playlist-uid&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;1234567892&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:30:00Z&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;My Updated Playlist&amp;#34;,
    &amp;#34;interval&amp;#34;: &amp;#34;10m&amp;#34;,
    &amp;#34;items&amp;#34;: [
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-1&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_uid&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;dashboard-uid-2&amp;#34;
      },
      {
        &amp;#34;type&amp;#34;: &amp;#34;dashboard_by_tag&amp;#34;,
        &amp;#34;value&amp;#34;: &amp;#34;updated-tag&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 /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes a playlist.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To learn more about which namespace to use, refer to the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: The UID of the playlist.&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;DELETE /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid 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 OK
Content-Type: application/json

{
  &amp;#34;kind&amp;#34;: &amp;#34;Status&amp;#34;,
  &amp;#34;apiVersion&amp;#34;: &amp;#34;v1&amp;#34;,
  &amp;#34;metadata&amp;#34;: {},
  &amp;#34;status&amp;#34;: &amp;#34;Success&amp;#34;,
  &amp;#34;code&amp;#34;: 200
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;playlist-item-types&#34;&gt;Playlist Item Types&lt;/h2&gt;
&lt;p&gt;Playlist items support three types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dashboard_by_uid&lt;/code&gt;: Include a specific dashboard by its UID&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboard_by_tag&lt;/code&gt;: Include all dashboards with a specific tag&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dashboard_by_id&lt;/code&gt;: (Deprecated) Include a dashboard by internal ID&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="playlist-api">Playlist API&lt;/h1>
&lt;p>To learn more about the API structure, refer to
&lt;a href="/docs/grafana/v12.4/developers/http_api/apis/">API overview&lt;/a>.&lt;/p>
&lt;h2 id="list-playlists">List Playlists&lt;/h2>
&lt;p>&lt;code>GET /apis/playlist.grafana.app/v1/namespaces/:namespace/playlists&lt;/code>&lt;/p>
&lt;p>Lists all playlists in the specified namespace.&lt;/p>
&lt;ul>
&lt;li>&lt;code>namespace&lt;/code>: To learn more about which namespace to use, refer to the
&lt;a href="/docs/grafana/v12.4/developers/http_api/apis/">API overview&lt;/a>.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Example Request&lt;/strong>:&lt;/p></description></item><item><title>Preferences API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/preferences/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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; - Deprecated. Use &lt;code&gt;homeDashboardUID&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;homeDashboardUID&lt;/strong&gt;: The &lt;code&gt;:uid&lt;/code&gt; of a dashboard&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;timezone&lt;/strong&gt; - Any valid IANA timezone string (e.g., &lt;code&gt;America/New_York&lt;/code&gt;, &lt;code&gt;Europe/London&lt;/code&gt;), &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;: 217,
    &amp;#34;homeDashboardUID&amp;#34;: &amp;#34;jcIIG-07z&amp;#34;,
    &amp;#34;timezone&amp;#34;: &amp;#34;utc&amp;#34;,
    &amp;#34;weekStart&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;navbar&amp;#34;: {
        &amp;#34;bookmarkUrls&amp;#34;: null
    },
    &amp;#34;queryHistory&amp;#34;: {
        &amp;#34;homeTab&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;homeDashboardUID&amp;#34;:&amp;#34;home&amp;#34;,
  &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;patch-current-user-prefs&#34;&gt;Patch Current User Prefs&lt;/h2&gt;
&lt;p&gt;Update one or more preferences without modifying the others.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PATCH /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;PATCH /api/user/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;theme&amp;#34;: &amp;#34;dark&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;homeDashboardUID&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;timezone&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;weekStart&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;navbar&amp;#34;: {
        &amp;#34;bookmarkUrls&amp;#34;: null
    },
    &amp;#34;queryHistory&amp;#34;: {
        &amp;#34;homeTab&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;homeDashboardUID&amp;#34;:&amp;#34;home&amp;#34;,
  &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;patch-current-org-prefs&#34;&gt;Patch Current Org Prefs&lt;/h2&gt;
&lt;p&gt;Update one or more preferences without modifying the others.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PATCH /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;PATCH /api/org/preferences HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;theme&amp;#34;: &amp;#34;dark&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> - Deprecated. Use &lt;code>homeDashboardUID&lt;/code> instead.&lt;/li>
&lt;li>&lt;strong>homeDashboardUID&lt;/strong>: The &lt;code>:uid&lt;/code> of a dashboard&lt;/li>
&lt;li>&lt;strong>timezone&lt;/strong> - Any valid IANA timezone string (e.g., &lt;code>America/New_York&lt;/code>, &lt;code>Europe/London&lt;/code>), &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>Query and Resource Caching HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/query_and_resource_caching/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/query_and_resource_caching/</guid><content><![CDATA[&lt;h1 id=&#34;query-and-resource-caching-api&#34;&gt;Query and resource caching API&lt;/h1&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;enable-caching-for-a-data-source&#34;&gt;Enable caching for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:dataSourceUID/cache/enable&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#query-and-resource-caching-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.caching:write&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;POST /api/datasources/jZrmlLCGka/cache/enable 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 cache enabled&amp;#34;,
   &amp;#34;dataSourceID&amp;#34;: 1,
   &amp;#34;dataSourceUID&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
   &amp;#34;enabled&amp;#34;: true,
   &amp;#34;ttlQueriesMs&amp;#34;: 300000,
   &amp;#34;ttlResourcesMs&amp;#34;: 300000,
   &amp;#34;useDefaultTTL&amp;#34;: true,
   &amp;#34;defaultTTLMs&amp;#34;: 300000,
   &amp;#34;created&amp;#34;: &amp;#34;2023-04-21T11:49:22-04:00&amp;#34;,
   &amp;#34;updated&amp;#34;: &amp;#34;2023-04-24T16:30:29-04:00&amp;#34;
}&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;Cache was successfully enabled for the data source&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to the 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;disable-caching-for-a-data-source&#34;&gt;Disable caching for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:dataSourceUID/cache/disable&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#query-and-resource-caching-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.caching:write&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-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/jZrmlLCGka/cache/disable 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 cache disabled&amp;#34;,
   &amp;#34;dataSourceID&amp;#34;: 1,
   &amp;#34;dataSourceUID&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
   &amp;#34;enabled&amp;#34;: false,
   &amp;#34;ttlQueriesMs&amp;#34;: 300000,
   &amp;#34;ttlResourcesMs&amp;#34;: 300000,
   &amp;#34;useDefaultTTL&amp;#34;: true,
   &amp;#34;defaultTTLMs&amp;#34;: 0,
   &amp;#34;created&amp;#34;: &amp;#34;2023-04-21T11:49:22-04:00&amp;#34;,
   &amp;#34;updated&amp;#34;: &amp;#34;2023-04-24T16:30:31-04: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;Cache was successfully enabled for the data source&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to the 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;clean-cache-for-all-data-sources&#34;&gt;Clean cache for all data sources&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:dataSourceUID/cache/clean&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will clean cached data for &lt;em&gt;all&lt;/em&gt; data sources with caching enabled. The &lt;code&gt;dataSourceUID&lt;/code&gt; specified will only be used to return the configuration for that data source.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#query-and-resource-caching-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.caching:write&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-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;POST /api/datasources/jZrmlLCGka/cache/clean 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 cache cleaned&amp;#34;,
   &amp;#34;dataSourceID&amp;#34;: 1,
   &amp;#34;dataSourceUID&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
   &amp;#34;enabled&amp;#34;: false,
   &amp;#34;ttlQueriesMs&amp;#34;: 300000,
   &amp;#34;ttlResourcesMs&amp;#34;: 300000,
   &amp;#34;useDefaultTTL&amp;#34;: true,
   &amp;#34;defaultTTLMs&amp;#34;: 0,
   &amp;#34;created&amp;#34;: &amp;#34;2023-04-21T11:49:22-04:00&amp;#34;,
   &amp;#34;updated&amp;#34;: &amp;#34;2023-04-24T16:30:31-04:00&amp;#34;
}&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;Cache was successfully enabled for the data source&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to the 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;update-cache-configuration-for-a-data-source&#34;&gt;Update cache configuration for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/datasources/:dataSourceUID/cache&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#query-and-resource-caching-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.caching:write&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-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/jZrmlLCGka/cache HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
   &amp;#34;dataSourceID&amp;#34;: 1,
   &amp;#34;dataSourceUID&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
   &amp;#34;enabled&amp;#34;: true,
   &amp;#34;useDefaultTTL&amp;#34;: false,
   &amp;#34;ttlQueriesMs&amp;#34;: 60000,
   &amp;#34;ttlResourcesMs&amp;#34;: 300000,
}&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;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;dataSourceID&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;The ID of the data source to configure.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;dataSourceUID&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The UID of the data source to configure.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;enabled&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Whether or not to enable caching for this data source.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;useDefaultTTL&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;Whether the configured default TTL (Time-To-Live) should be used for both query and resource caching, instead of the user-specified values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;ttlQueriesMs&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;The TTL to use for query caching, in milliseconds.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;ttlResourcesMs&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;The TTL to use for resource caching, in milliseconds.&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 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 cache settings updated&amp;#34;,
   &amp;#34;dataSourceID&amp;#34;: 1,
   &amp;#34;dataSourceUID&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
   &amp;#34;enabled&amp;#34;: true,
   &amp;#34;useDefaultTTL&amp;#34;: false,
   &amp;#34;ttlQueriesMs&amp;#34;: 60000,
   &amp;#34;ttlResourcesMs&amp;#34;: 300000,
   &amp;#34;defaultTTLMs&amp;#34;: 300000,
   &amp;#34;created&amp;#34;: &amp;#34;2023-04-21T11:49:22-04:00&amp;#34;,
   &amp;#34;updated&amp;#34;: &amp;#34;2023-04-24T17:03:40-04: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;Cache was successfully enabled for the data source&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;400&lt;/td&gt;
              &lt;td&gt;Request errors (invalid json, missing or invalid fields, etc)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to the 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;get-cache-configuration-for-a-data-source&#34;&gt;Get cache configuration for a data source&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/datasources/:dataSourceUID/cache&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#query-and-resource-caching-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.caching: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-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/jZrmlLCGka/cache 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 cache settings loaded&amp;#34;,
   &amp;#34;dataSourceID&amp;#34;: 1,
   &amp;#34;dataSourceUID&amp;#34;: &amp;#34;jZrmlLCGka&amp;#34;,
   &amp;#34;enabled&amp;#34;: true,
   &amp;#34;useDefaultTTL&amp;#34;: false,
   &amp;#34;ttlQueriesMs&amp;#34;: 60000,
   &amp;#34;ttlResourcesMs&amp;#34;: 300000,
   &amp;#34;defaultTTLMs&amp;#34;: 300000,
   &amp;#34;created&amp;#34;: &amp;#34;2023-04-21T11:49:22-04:00&amp;#34;,
   &amp;#34;updated&amp;#34;: &amp;#34;2023-04-24T17:03:40-04:00&amp;#34;
}&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;Cache was successfully enabled for the data source&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Unexpected error. Refer to the 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="query-and-resource-caching-api">Query and resource caching API&lt;/h1>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Query History HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/query_history/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;result&amp;#34;: {
    &amp;#34;uid&amp;#34;: &amp;#34;Ahg678z&amp;#34;,
    &amp;#34;datasourceUid&amp;#34;: &amp;#34;PE1C5CBDA0504A6A3&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: 1643630762,
    &amp;#34;starred&amp;#34;: false,
    &amp;#34;comment&amp;#34;: &amp;#34;&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;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 (invalid JSON, missing or invalid fields)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;query-history-search&#34;&gt;Query history search&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/query-history&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns a list of queries in the query history that matches the search criteria. Query history search supports pagination. Use the &lt;code&gt;limit&lt;/code&gt; parameter to control the maximum number of queries returned; the default limit is 100. You can also use the &lt;code&gt;page&lt;/code&gt; query parameter to fetch queries 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;datasourceUid&lt;/strong&gt; - Filter the query history for the selected data source. To perform an &amp;ldquo;AND&amp;rdquo; filtering with multiple data sources, specify the data source parameter using the following format: &lt;code&gt;datasourceUid=uid1&amp;amp;datasourceUid=uid2&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;searchString&lt;/strong&gt; – Filter the query history based on the content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sort&lt;/strong&gt; - Specify the sorting order. Sorting can be &lt;code&gt;time-asc&lt;/code&gt; or &lt;code&gt;time-desc&lt;/code&gt;. The default is &lt;code&gt;time-desc&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;onlyStarred&lt;/strong&gt; - Search for queries that are starred. Defaults to &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;page&lt;/strong&gt; - Search supports pagination. Specify which page number to return. Use the limit parameter to specify the number of queries per page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;limit&lt;/strong&gt; - Limits the number of returned query history items per page. The default is 100 queries per page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;from/to&lt;/strong&gt; - Specifies time range for the query history search. The time can be either epoch timestamps in milliseconds or relative using Grafana time units. For example, now-5m.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Example request for query history search&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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/query-history?datasourceUid=&amp;#34;PE1C5CBDA0504A6A3&amp;#34;&amp;amp;datasourceUid=&amp;#34;FG1C1CBDA0504A6EL&amp;#34;&amp;amp;searchString=&amp;#34;ALERTS&amp;#34;&amp;amp;sort=&amp;#34;time-asc&amp;#34; 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 query history search&lt;/strong&gt;:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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;: 150,
    &amp;#34;page&amp;#34;: 1,
    &amp;#34;perPage&amp;#34;: 100
    &amp;#34;queryHistory&amp;#34;:[{
    &amp;#34;uid&amp;#34;: &amp;#34;Ahg678z&amp;#34;,
    &amp;#34;datasourceUid&amp;#34;: &amp;#34;PE1C5CBDA0504A6A3&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: 1643630762,
    &amp;#34;starred&amp;#34;: false,
    &amp;#34;comment&amp;#34;: &amp;#34;&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;PE1C5CBDA0504A6A3&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;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-query-from-query-history-by-uid&#34;&gt;Delete query from Query history by UID&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/query-history/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes the query in query history that matches the specified uid. It requires that the user is logged in and that Query history feature is enabled in config file.&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/query-history/P8zM2I1nz 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;Query 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; – OK&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-comment-of-query-in-query-history-by-uid&#34;&gt;Update comment of query in Query history by UID&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/query-history/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates comment of a query with a specific uid that is stored in the query history.&lt;/p&gt;
&lt;p&gt;Query parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;comment&lt;/strong&gt; – New comment that will be added to the specified query.&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/query-history/P8zM2I1nz HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
  &amp;#34;comment&amp;#34;: &amp;#34;Debugging query&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;result&amp;#34;: {
    &amp;#34;uid&amp;#34;: &amp;#34;P8zM2I1nz&amp;#34;,
    &amp;#34;datasourceUid&amp;#34;: &amp;#34;PE1C5CBDA0504A6A3&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: 1643630762,
    &amp;#34;starred&amp;#34;: false,
    &amp;#34;comment&amp;#34;: &amp;#34;Debugging query&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;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 (invalid JSON, missing or invalid fields)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; – Unauthorized&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;star-query-in-query-history&#34;&gt;Star query in Query history&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/query-history/star/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Stars query in 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/star/P8zM2I1nz 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;uid&amp;#34;: &amp;#34;P8zM2I1nz&amp;#34;,
    &amp;#34;datasourceUid&amp;#34;: &amp;#34;PE1C5CBDA0504A6A3&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: 1643630762,
    &amp;#34;starred&amp;#34;: false,
    &amp;#34;comment&amp;#34;: &amp;#34;Debugging query&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;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;500&lt;/strong&gt; – Internal error&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;unstar-query-in-query-history&#34;&gt;Unstar query in Query history&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/query-history/star/:uid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Removes stars from query in 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;DELETE /api/query-history/star/P8zM2I1nz  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;uid&amp;#34;: &amp;#34;P8zM2I1nz&amp;#34;,
    &amp;#34;datasourceUid&amp;#34;: &amp;#34;PE1C5CBDA0504A6A3&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: 1643630762,
    &amp;#34;starred&amp;#34;: false,
    &amp;#34;comment&amp;#34;: &amp;#34;Debugging query&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;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;500&lt;/strong&gt; – Internal error&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>RBAC HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/access_control/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/access_control/</guid><content><![CDATA[&lt;h1 id=&#34;rbac-api&#34;&gt;RBAC API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Role-based access control API is only available in Grafana Cloud or Grafana Enterprise. Read more about &lt;a href=&#34;/docs/grafana/latest/introduction/grafana-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, delete, get, and list roles.&lt;/p&gt;
&lt;p&gt;To check which basic or fixed roles have the required permissions, refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/&#34;&gt;RBAC role definitions&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 role-based access control is enabled or not.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions&#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;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 role-based 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 role-based 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;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;includeHidden&lt;/code&gt;: Optional. Set to &lt;code&gt;true&lt;/code&gt; to include roles that are &lt;code&gt;hidden&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&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: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-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: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: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;/docs/grafana/latest/administration/roles-and-permissions/access-control/#fixed-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;permissions:type: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:type: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:type: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;/docs/grafana/latest/administration/roles-and-permissions/access-control/#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.&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;/docs/grafana/latest/administration/roles-and-permissions/access-control/#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;/docs/grafana/latest/administration/roles-and-permissions/access-control/#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;hidden&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Specify whether the role is hidden or not. If set to &lt;code&gt;true&lt;/code&gt;, then the role does not show in the role picker. It will not be listed by API endpoints unless explicitly specified.&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;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Custom role actions and scopes&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;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Custom role actions and scopes&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:type: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;create-role-validation-errors&#34;&gt;Create role validation errors&lt;/h4&gt;
&lt;p&gt;Permission validation only occurs when permission validation is enabled (&lt;code&gt;rbac.permission_validation_enabled = true&lt;/code&gt;).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It has been enabled by default since Grafana 10.2.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h5 id=&#34;invalid-action&#34;&gt;Invalid action&lt;/h5&gt;
&lt;p&gt;The following example shows a request with an invalid action. The action &lt;code&gt;serviceaccounts.permissions:reader&lt;/code&gt; is not a valid action. The valid action should be &lt;code&gt;serviceaccounts.permissions:read&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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 HTTP/1.1
Content-Type: application/json
{
	&amp;#34;Name&amp;#34;: &amp;#34;Read Service Account with id 6&amp;#34;,
	&amp;#34;Permissions&amp;#34;: [
			{
			&amp;#34;action&amp;#34;: &amp;#34;serviceaccounts.permissions:reader&amp;#34;,
			&amp;#34;scope&amp;#34;: &amp;#34;serviceaccounts:uid:6&amp;#34;
		}
	]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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 400 Bad Request
Content-Type: application/json
{
	&amp;#34;extra&amp;#34;: {
		&amp;#34;validationError&amp;#34;: &amp;#34;the provided action was not found in the list of valid actions: serviceaccounts.permissions:reader&amp;#34;
	},
	&amp;#34;message&amp;#34;: &amp;#34;Permission contains an invalid action&amp;#34;,
	&amp;#34;messageId&amp;#34;: &amp;#34;accesscontrol.permission-invalid-action&amp;#34;,
	&amp;#34;statusCode&amp;#34;: 400,
	&amp;#34;traceID&amp;#34;: &amp;#34;&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h5 id=&#34;invalid-scope&#34;&gt;Invalid scope&lt;/h5&gt;
&lt;p&gt;The following example shows a request with an invalid scope. The scope &lt;code&gt;serviceaccounts:serviceaccount6&lt;/code&gt; is not a valid scope for the action &lt;code&gt;serviceaccounts.permissions:read&lt;/code&gt;. The valid scopes for this action are &lt;code&gt;*&lt;/code&gt;, &lt;code&gt;serviceaccounts:*&lt;/code&gt; and &lt;code&gt;serviceaccounts:id:*&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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 HTTP/1.1
Content-Type: application/json
{
	&amp;#34;Name&amp;#34;: &amp;#34;Read Service Account with id 6&amp;#34;,
	&amp;#34;Permissions&amp;#34;: [
			{
			&amp;#34;action&amp;#34;: &amp;#34;serviceaccounts.permissions:read&amp;#34;,
			&amp;#34;scope&amp;#34;: &amp;#34;serviceaccounts:serviceaccount6&amp;#34;
		}
	]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;http&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&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 400 Bad Request
Content-Type: application/json
{
	&amp;#34;extra&amp;#34;: {
		&amp;#34;validationError&amp;#34;: &amp;#34;unknown scope: serviceaccounts:serviceaccount6 for action: serviceaccounts.permissions:read provided, expected prefixes are [* serviceaccounts:* serviceaccounts:id:*]&amp;#34;
	},
	&amp;#34;message&amp;#34;: &amp;#34;Invalid scope&amp;#34;,
	&amp;#34;messageId&amp;#34;: &amp;#34;accesscontrol.permission-invalid-scope&amp;#34;,
	&amp;#34;statusCode&amp;#34;: 400,
	&amp;#34;traceID&amp;#34;: &amp;#34;&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 (one of the specified permissions is not assigned to the requester)&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-role&#34;&gt;Update a 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 its permissions. The operation is idempotent and all permissions of the role will be replaced based on the request content. You need to increment the version of the role with each update, otherwise the request will fail.&lt;/p&gt;
&lt;p&gt;You can update &lt;code&gt;custom&lt;/code&gt; roles and &lt;code&gt;basic&lt;/code&gt; roles permissions. However &lt;code&gt;fixed&lt;/code&gt; roles cannot be updated.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-4&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type: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:type:delegate&amp;#34;
        },
        {
            &amp;#34;action&amp;#34;: &amp;#34;roles:write&amp;#34;,
            &amp;#34;scope&amp;#34;: &amp;#34;permissions:type: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;hidden&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Specify whether the role is hidden or not. If set to &lt;code&gt;true&lt;/code&gt;, then the role does not show in the role picker. It will not be listed by API endpoints unless explicitly specified.&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 for the role 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;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Custom role actions and scopes&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;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Custom role actions and scopes&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:type: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:type: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;update-role-validation-errors&#34;&gt;Update role validation errors&lt;/h4&gt;
&lt;p&gt;Permission validation only occurs when permission validation is enabled (&lt;code&gt;rbac.permission_validation_enabled = true&lt;/code&gt;).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It has been enabled by default since Grafana 10.2.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For more information, refer to &lt;a href=&#34;#create-role-validation-errors&#34;&gt;Create role validation errors&lt;/a&gt;.&lt;/p&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 (one of the specified permissions is not assigned to the requester)&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, the deletion operation will fail, unless the &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;permissions:type: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:type: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 its 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;/docs/grafana/latest/administration/roles-and-permissions/access-control/&#34;&gt;About RBAC&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 basic roles (Viewer, Editor, Admin or Grafana Admin), and it does not include roles that have been inherited from a team.&lt;/p&gt;
&lt;p&gt;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;includeHidden&lt;/code&gt;: Optional. Set to &lt;code&gt;true&lt;/code&gt; to include roles that are &lt;code&gt;hidden&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;includeMapped&lt;/code&gt;: Optional. Set to &lt;code&gt;true&lt;/code&gt; to include roles that have been mapped through the group attribute sync feature.&lt;/li&gt;
&lt;/ul&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:read&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-your-permissions&#34;&gt;List your permissions&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/user/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the permissions granted to the signed in user.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-7&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;No permission is required.&lt;/p&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;reloadcache&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;A flag to reload the permission cache.&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/user/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;dashboards:read&amp;#34;: [&amp;#34;dashboards:uid:70KrY6IVz&amp;#34;],
  &amp;#34;dashboards:write&amp;#34;: [&amp;#34;dashboards:uid:70KrY6IVz&amp;#34;],
  &amp;#34;datasources.id:read&amp;#34;: [&amp;#34;datasources:*&amp;#34;],
  &amp;#34;datasources:read&amp;#34;: [&amp;#34;datasources:*&amp;#34;],
  &amp;#34;datasources:explore&amp;#34;: [&amp;#34;&amp;#34;],
  &amp;#34;datasources:query&amp;#34;: [&amp;#34;datasources:uid:grafana&amp;#34;],
  &amp;#34;datasources:read&amp;#34;: [&amp;#34;datasources:uid:grafana&amp;#34;],
  &amp;#34;orgs:read&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;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 granted to a given user.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-8&#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:read&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-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;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-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;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-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;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-9&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type: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-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;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-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 added to the 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 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-10&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type: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-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.&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;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-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;Role removed from user.&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;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-11&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type:delegate&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:remove&lt;/td&gt;
              &lt;td&gt;permissions:type: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-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;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;tr&gt;
              &lt;td&gt;includeHidden&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Specify whether the hidden role assignments should be updated.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&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;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-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;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-service-account-role-assignments&#34;&gt;Create and remove service account role assignments&lt;/h2&gt;
&lt;h3 id=&#34;list-roles-assigned-to-a-service-account&#34;&gt;List roles assigned to a service account&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/users/:serviceAccountId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the roles that have been directly assigned to a given service account. The list does not include basic roles (Viewer, Editor, Admin or Grafana Admin).&lt;/p&gt;
&lt;p&gt;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;includeHidden&lt;/code&gt;: Optional. Set to &lt;code&gt;true&lt;/code&gt; to include roles that are &lt;code&gt;hidden&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;required-permissions-12&#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:read&lt;/td&gt;
              &lt;td&gt;users:id:&lt;code&gt;&amp;lt;service account 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-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;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-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;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-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;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-service-account&#34;&gt;List permissions assigned to a service account&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/users/:serviceAccountId/permissions&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the permissions that a given service account has.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-13&#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:read&lt;/td&gt;
              &lt;td&gt;users:id:&lt;code&gt;&amp;lt;service account 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-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;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-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;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-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;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-service-account-role-assignment&#34;&gt;Add a service account role assignment&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/users/:serviceAccountId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Assign a role to a specific service account.&lt;/p&gt;
&lt;p&gt;For bulk updates consider
&lt;a href=&#34;#set-service-account-role-assignments&#34;&gt;Set service account role assignments&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-14&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type: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-14&#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-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;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-14&#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-14&#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-service-account-role-assignment&#34;&gt;Remove a service account role assignment&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/access-control/users/:serviceAccountId/roles/:roleUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Revoke a role from a service account.&lt;/p&gt;
&lt;p&gt;For bulk updates consider
&lt;a href=&#34;#set-service-account-role-assignments&#34;&gt;Set service account role assignments&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-15&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type: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-3&#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-15&#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-15&#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-15&#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-service-account-role-assignments&#34;&gt;Set service account role assignments&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /api/access-control/users/:serviceAccountId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Update the service accounts&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 service account.&lt;/p&gt;
&lt;p&gt;If you want to add or remove a single role, consider using
&lt;a href=&#34;#add-a-service-account-role-assignment&#34;&gt;Add a service account role assignment&lt;/a&gt; or
&lt;a href=&#34;#remove-a-service-account-role-assignment&#34;&gt;Remove a service account role assignment&lt;/a&gt;
instead.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-16&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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:type:delegate&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;users.roles:remove&lt;/td&gt;
              &lt;td&gt;permissions:type: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-16&#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-5&#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;tr&gt;
              &lt;td&gt;includeHidden&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Specify whether the hidden role assignments should be updated.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-16&#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-16&#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-team-role-assignments&#34;&gt;Create and remove team role assignments&lt;/h2&gt;
&lt;h3 id=&#34;list-roles-assigned-to-a-team&#34;&gt;List roles assigned to a team&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;GET /api/access-control/teams/:teamId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the roles that have been directly assigned to a given team.&lt;/p&gt;
&lt;p&gt;Query Parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;includeHidden&lt;/code&gt;: Optional. Set to &lt;code&gt;true&lt;/code&gt; to include roles that are &lt;code&gt;hidden&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;required-permissions-17&#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;teams.roles:read&lt;/td&gt;
              &lt;td&gt;teams:id:&lt;code&gt;&amp;lt;team 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-17&#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/teams/1/roles
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-17&#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;j08ZBi-nk&amp;#34;,
        &amp;#34;name&amp;#34;: &amp;#34;fixed:licensing:reader&amp;#34;,
        &amp;#34;displayName&amp;#34;: &amp;#34;Licensing reader&amp;#34;,
        &amp;#34;description&amp;#34;: &amp;#34;Read licensing information and licensing reports.&amp;#34;,
        &amp;#34;group&amp;#34;: &amp;#34;Licenses&amp;#34;,
        &amp;#34;updated&amp;#34;: &amp;#34;2022-02-03T14:19:50&amp;#43;01:00&amp;#34;,
        &amp;#34;created&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&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-17&#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;add-a-team-role-assignment&#34;&gt;Add a team role assignment&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/teams/:teamId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Assign a role to a specific team.&lt;/p&gt;
&lt;p&gt;For bulk updates consider &lt;a href=&#34;#set-team-role-assignments&#34;&gt;Set team role assignments&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-18&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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 the permissions required to create users, they won&amp;rsquo;t be able to assign a role that contains these permissions. 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;teams.roles:add&lt;/td&gt;
              &lt;td&gt;permissions:type: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-18&#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/teams/1/roles
Accept: application/json
Content-Type: application/json

{
    &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-6&#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;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-18&#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 team.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-18&#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 team.&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-team-role-assignment&#34;&gt;Remove a team role assignment&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/access-control/teams/:teams/roles/:roleUID&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Revoke a role from a team.&lt;/p&gt;
&lt;p&gt;For bulk updates consider &lt;a href=&#34;#set-team-role-assignments&#34;&gt;Set team role assignments&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-19&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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 the permissions required to create users, they won&amp;rsquo;t be able to assign a role that contains these permissions. 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;teams.roles:remove&lt;/td&gt;
              &lt;td&gt;permissions:type: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-19&#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/teams/1/roles/AFUXBHKnk
Accept: application/json&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;example-response-19&#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 team.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-19&#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-team-role-assignments&#34;&gt;Set team role assignments&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;PUT /api/access-control/teams/:teamId/roles&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Update the team&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-team-role-assignment&#34;&gt;Add a team role assignment&lt;/a&gt; or
&lt;a href=&#34;#remove-a-team-role-assignment&#34;&gt;Remove a team role assignment&lt;/a&gt;
instead.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-20&#34;&gt;Required permissions&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;permissions:type: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 to a team 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;teams.roles:add&lt;/td&gt;
              &lt;td&gt;permissions:type:delegate&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;teams.roles:remove&lt;/td&gt;
              &lt;td&gt;permissions:type: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-20&#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/teams/1/roles
Accept: application/json
Content-Type: application/json

{
    &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-7&#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;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;tr&gt;
              &lt;td&gt;includeHidden&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Specify whether the hidden role assignments should be updated.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-20&#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;Team roles have been updated.&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-20&#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;reset-basic-roles-to-their-default&#34;&gt;Reset basic roles to their default&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/access-control/roles/hard-reset&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;permissions:type:escalate&lt;/code&gt; scope enables users to reset basic roles permissions.
This could result in basic roles having permissions exceedind those of callers.&lt;/p&gt;
&lt;p&gt;Reset basic roles permissions to their default.&lt;/p&gt;
&lt;h4 id=&#34;required-permissions-21&#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:write&lt;/td&gt;
              &lt;td&gt;permissions:type:escalate&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-request-21&#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/hard-reset
Accept: application/json
Content-Type: application/json

{
    &amp;#34;BasicRoles&amp;#34;: true
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;json-body-schema-8&#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;BasicRoles&lt;/td&gt;
              &lt;td&gt;boolean&lt;/td&gt;
              &lt;td&gt;No&lt;/td&gt;
              &lt;td&gt;Option to reset basic roles permissions.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;example-response-21&#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;Reset performed&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;status-codes-21&#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;Reset performed&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;500&lt;/td&gt;
              &lt;td&gt;Failed to reset basic roles&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="rbac-api">RBAC API&lt;/h1>
&lt;blockquote>
&lt;p>Role-based access control API is only available in Grafana Cloud or Grafana Enterprise. Read more about &lt;a href="/docs/grafana/latest/introduction/grafana-enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;p>The API can be used to create, update, delete, get, and list roles.&lt;/p></description></item><item><title>Reporting API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/reporting/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;/docs/grafana/latest/dashboards/create-reports/&#34;&gt;Reporting&lt;/a&gt; feature.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Reporting API is not stabilized yet, it is still in active development and may change without prior notice.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Reporting is only available in Grafana Enterprise. Read more about &lt;a href=&#34;/docs/grafana/latest/introduction/grafana-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, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;list-all-reports&#34;&gt;List all reports&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/reports&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;#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:read&lt;/td&gt;
              &lt;td&gt;reports:*&lt;br&gt;reports:id:*&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;GET /api/reports 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;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: 1840

[
	{
		&amp;#34;id&amp;#34;: 2,
		&amp;#34;userId&amp;#34;: 1,
		&amp;#34;orgId&amp;#34;: 1,
		&amp;#34;name&amp;#34;: &amp;#34;Report 2&amp;#34;,
		&amp;#34;recipients&amp;#34;: &amp;#34;example-report@grafana.com&amp;#34;,
		&amp;#34;replyTo&amp;#34;: &amp;#34;&amp;#34;,
		&amp;#34;message&amp;#34;: &amp;#34;Hi, \nPlease find attached a PDF status report. If you have any questions, feel free to contact me!\nBest,&amp;#34;,
		&amp;#34;schedule&amp;#34;: {
			&amp;#34;startDate&amp;#34;: &amp;#34;2022-10-02T00:00:00&amp;#43;02:00&amp;#34;,
			&amp;#34;endDate&amp;#34;: null,
			&amp;#34;frequency&amp;#34;: &amp;#34;once&amp;#34;,
			&amp;#34;intervalFrequency&amp;#34;: &amp;#34;&amp;#34;,
			&amp;#34;intervalAmount&amp;#34;: 0,
			&amp;#34;workdaysOnly&amp;#34;: false,
			&amp;#34;dayOfMonth&amp;#34;: &amp;#34;2&amp;#34;,
			&amp;#34;timeZone&amp;#34;: &amp;#34;Europe/Warsaw&amp;#34;
		},
		&amp;#34;options&amp;#34;: {
			&amp;#34;orientation&amp;#34;: &amp;#34;landscape&amp;#34;,
			&amp;#34;layout&amp;#34;: &amp;#34;grid&amp;#34;,
		},
		&amp;#34;enableDashboardUrl&amp;#34;: true,
		&amp;#34;state&amp;#34;: &amp;#34;scheduled&amp;#34;,
		&amp;#34;dashboards&amp;#34;: [
			{
				&amp;#34;dashboard&amp;#34;: {
					&amp;#34;id&amp;#34;: 463,
					&amp;#34;uid&amp;#34;: &amp;#34;7MeksYbmk&amp;#34;,
					&amp;#34;name&amp;#34;: &amp;#34;Alerting with TestData&amp;#34;
				},
				&amp;#34;reportVariables&amp;#34;: {
					&amp;#34;namefilter&amp;#34;: &amp;#34;TestData&amp;#34;
				}
			}
		],
		&amp;#34;formats&amp;#34;: [
			&amp;#34;pdf&amp;#34;,
			&amp;#34;csv&amp;#34;
		],
		&amp;#34;created&amp;#34;: &amp;#34;2022-09-19T11:44:42&amp;#43;02:00&amp;#34;,
		&amp;#34;updated&amp;#34;: &amp;#34;2022-09-19T11:44:42&amp;#43;02:00&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;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; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Unexpected error or server misconfiguration. Refer to server logs for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-a-report&#34;&gt;Get a report&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/reports/: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;#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:read&lt;/td&gt;
              &lt;td&gt;reports:*&lt;br&gt;reports:id:*&lt;br&gt;reports:id:1(single report)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-request-1&#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;GET /api/reports/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;h3 id=&#34;example-response-1&#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: 940

{
	&amp;#34;id&amp;#34;: 2,
	&amp;#34;userId&amp;#34;: 1,
	&amp;#34;orgId&amp;#34;: 1,
	&amp;#34;name&amp;#34;: &amp;#34;Report 2&amp;#34;,
	&amp;#34;recipients&amp;#34;: &amp;#34;example-report@grafana.com&amp;#34;,
	&amp;#34;replyTo&amp;#34;: &amp;#34;&amp;#34;,
	&amp;#34;message&amp;#34;: &amp;#34;Hi, \nPlease find attached a PDF status report. If you have any questions, feel free to contact me!\nBest,&amp;#34;,
	&amp;#34;schedule&amp;#34;: {
		&amp;#34;startDate&amp;#34;: &amp;#34;2022-10-02T00:00:00&amp;#43;02:00&amp;#34;,
		&amp;#34;endDate&amp;#34;: null,
		&amp;#34;frequency&amp;#34;: &amp;#34;once&amp;#34;,
		&amp;#34;intervalFrequency&amp;#34;: &amp;#34;&amp;#34;,
		&amp;#34;intervalAmount&amp;#34;: 0,
		&amp;#34;workdaysOnly&amp;#34;: false,
		&amp;#34;dayOfMonth&amp;#34;: &amp;#34;2&amp;#34;,
		&amp;#34;timeZone&amp;#34;: &amp;#34;Europe/Warsaw&amp;#34;
	},
	&amp;#34;options&amp;#34;: {
		&amp;#34;orientation&amp;#34;: &amp;#34;landscape&amp;#34;,
		&amp;#34;layout&amp;#34;: &amp;#34;grid&amp;#34;,
	},
	&amp;#34;enableDashboardUrl&amp;#34;: true,
	&amp;#34;state&amp;#34;: &amp;#34;scheduled&amp;#34;,
	&amp;#34;dashboards&amp;#34;: [
		{
			&amp;#34;dashboard&amp;#34;: {
				&amp;#34;id&amp;#34;: 463,
				&amp;#34;uid&amp;#34;: &amp;#34;7MeksYbmk&amp;#34;,
				&amp;#34;name&amp;#34;: &amp;#34;Alerting with TestData&amp;#34;
			},
			&amp;#34;timeRange&amp;#34;: {
				&amp;#34;from&amp;#34;: &amp;#34;&amp;#34;,
				&amp;#34;to&amp;#34;: &amp;#34;&amp;#34;
			},
			&amp;#34;reportVariables&amp;#34;: {
				&amp;#34;namefilter&amp;#34;: &amp;#34;TestData&amp;#34;
			}
		}
	],
	&amp;#34;formats&amp;#34;: [
		&amp;#34;pdf&amp;#34;,
		&amp;#34;csv&amp;#34;
	],
	&amp;#34;created&amp;#34;: &amp;#34;2022-09-12T11:44:42&amp;#43;02:00&amp;#34;,
	&amp;#34;updated&amp;#34;: &amp;#34;2022-09-12T11:44:42&amp;#43;02:00&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-1&#34;&gt;Status Codes&lt;/h3&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 report ID).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Forbidden (access denied to a report or a dashboard used in the report).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Not found (such report does not exist).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Unexpected error or server misconfiguration. Refer to server logs for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-a-report&#34;&gt;Create a report&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/reports&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;#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: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;example-request-2&#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 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
	&amp;#34;name&amp;#34;: &amp;#34;Report 4&amp;#34;,
	&amp;#34;recipients&amp;#34;: &amp;#34;texample-report@grafana.com&amp;#34;,
	&amp;#34;replyTo&amp;#34;: &amp;#34;&amp;#34;,
	&amp;#34;message&amp;#34;: &amp;#34;Hello, please, find the report attached&amp;#34;,
	&amp;#34;schedule&amp;#34;: {
		&amp;#34;startDate&amp;#34;: &amp;#34;2022-10-02T10:00:00&amp;#43;02:00&amp;#34;,
		&amp;#34;endDate&amp;#34;: &amp;#34;2022-11-02T20:00:00&amp;#43;02:00&amp;#34;,
		&amp;#34;frequency&amp;#34;: &amp;#34;daily&amp;#34;,
		&amp;#34;intervalFrequency&amp;#34;: &amp;#34;&amp;#34;,
		&amp;#34;intervalAmount&amp;#34;: 0,
		&amp;#34;workdaysOnly&amp;#34;: true,
		&amp;#34;timeZone&amp;#34;: &amp;#34;Europe/Warsaw&amp;#34;
	},
	&amp;#34;options&amp;#34;: {
		&amp;#34;orientation&amp;#34;: &amp;#34;landscape&amp;#34;,
		&amp;#34;layout&amp;#34;: &amp;#34;grid&amp;#34;
	},
	&amp;#34;enableDashboardUrl&amp;#34;: true,
	&amp;#34;dashboards&amp;#34;: [
		{
			&amp;#34;dashboard&amp;#34;: {
				&amp;#34;uid&amp;#34;: &amp;#34;7MeksYbmk&amp;#34;,
			},
			&amp;#34;timeRange&amp;#34;: {
				&amp;#34;from&amp;#34;: &amp;#34;2022-08-08T15:00:00&amp;#43;02:00&amp;#34;,
				&amp;#34;to&amp;#34;: &amp;#34;2022-09-02T17:00:00&amp;#43;02:00&amp;#34;
			},
			&amp;#34;reportVariables&amp;#34;: {
				&amp;#34;variable1&amp;#34;: &amp;#34;Value1&amp;#34;
			}
		}
	],
	&amp;#34;formats&amp;#34;: [
		&amp;#34;pdf&amp;#34;,
		&amp;#34;csv&amp;#34;
	]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h4 id=&#34;config-json-body-schema&#34;&gt;Config 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;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;name&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Name of the report that is used as an email subject.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;recipients&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.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;replyTo&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Comma-separated list of emails used in a reply-to field of the report email.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;message&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Text message used for the body of the report email.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;startDate&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Report distribution starts from this date.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;endDate&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Report distribution ends on this date.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;frequency&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Specifies how often the report should be sent. Can be &lt;code&gt;once&lt;/code&gt;, &lt;code&gt;hourly&lt;/code&gt;, &lt;code&gt;daily&lt;/code&gt;, &lt;code&gt;weekly&lt;/code&gt;, &lt;code&gt;monthly&lt;/code&gt;, &lt;code&gt;last&lt;/code&gt; or &lt;code&gt;custom&lt;/code&gt;.&lt;br/&gt;&lt;br/&gt;&lt;code&gt;last&lt;/code&gt; - schedules the report for the last day of month.&lt;br/&gt;&lt;br/&gt;&lt;code&gt;custom&lt;/code&gt; - schedules the report to be sent on a custom interval.&lt;br/&gt;It requires &lt;code&gt;intervalFrequency&lt;/code&gt; and &lt;code&gt;intervalAmount&lt;/code&gt; to be specified: for example, every 2 weeks, where 2 is an &lt;code&gt;intervalAmount&lt;/code&gt; and &lt;code&gt;weeks&lt;/code&gt; is an &lt;code&gt;intervalFrequency&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;intervalFrequency&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The type of the &lt;code&gt;custom&lt;/code&gt; interval: &lt;code&gt;hours&lt;/code&gt;, &lt;code&gt;days&lt;/code&gt;, &lt;code&gt;weeks&lt;/code&gt;, &lt;code&gt;months&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;intervalAmount&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;custom&lt;/code&gt; interval amount.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;workdaysOnly&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Send the report only on Monday-Friday. Applicable to &lt;code&gt;hourly&lt;/code&gt; and &lt;code&gt;daily&lt;/code&gt; types of schedule.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timeZone&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Time zone used to schedule report execution.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;orientation&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Can be &lt;code&gt;portrait&lt;/code&gt; or &lt;code&gt;landscape&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;layout&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Can be &lt;code&gt;grid&lt;/code&gt; or &lt;code&gt;simple&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;enableDashboardUrl&lt;/td&gt;
              &lt;td&gt;bool&lt;/td&gt;
              &lt;td&gt;Adds a dashboard url to the bottom of the report email.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;formats&lt;/td&gt;
              &lt;td&gt;[]string&lt;/td&gt;
              &lt;td&gt;Specified what kind of attachment to generate for the report - &lt;code&gt;csv&lt;/code&gt;, &lt;code&gt;pdf&lt;/code&gt;, &lt;code&gt;image&lt;/code&gt;.&lt;br/&gt;&lt;code&gt;pdf&lt;/code&gt; is the default one.&lt;br/&gt;&lt;code&gt;csv&lt;/code&gt; attaches a CSV file for each table panel.&lt;br/&gt;&lt;code&gt;image&lt;/code&gt; embeds an image of a dashboard into the email&amp;rsquo;s body.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;dashboards&lt;/td&gt;
              &lt;td&gt;[]object&lt;/td&gt;
              &lt;td&gt;Dashboards to generate a report for.&lt;br/&gt; See &amp;ldquo;Report Dashboard Schema&amp;rdquo; section below.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;report-dashboard-schema&#34;&gt;Report Dashboard 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;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;dashboard.uid&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Dashboard &lt;a href=&#34;../dashboard#identifier-id-vs-unique-identifier-uid&#34;&gt;UID&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timeRange.from&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Dashboard time range from.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;timeRange.to&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Dashboard time range to.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;reportVariables.&lt;variableName&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Key-value pairs containing the template variables for this report, in JSON format. If empty, the template variables from the report&amp;rsquo;s dashboard will be used.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-response-2&#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: 35

{
	&amp;#34;id&amp;#34;: 4,
	&amp;#34;message&amp;#34;: &amp;#34;Report created&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-2&#34;&gt;Status Codes&lt;/h3&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, missing or invalid fields values, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Forbidden (access denied to a report or a dashboard used in the report).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Unexpected error or server misconfiguration. Refer to server logs for more details&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-a-report&#34;&gt;Update a report&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/reports/: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;#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:write&lt;/td&gt;
              &lt;td&gt;reports:*&lt;/br&gt;reports:id:*&lt;/br&gt;reports:1(single report)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-request-3&#34;&gt;Example request&lt;/h3&gt;
&lt;p&gt;See &lt;a href=&#34;#config-json-body-schema&#34;&gt;JSON body schema&lt;/a&gt; for fields description.&lt;/p&gt;

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

{
	&amp;#34;name&amp;#34;: &amp;#34;Updated Report&amp;#34;,
	&amp;#34;recipients&amp;#34;: &amp;#34;example-report@grafana.com&amp;#34;,
	&amp;#34;replyTo&amp;#34;: &amp;#34;&amp;#34;,
	&amp;#34;message&amp;#34;: &amp;#34;Hello, please, find the report attached&amp;#34;,
	&amp;#34;schedule&amp;#34;: {
		&amp;#34;frequency&amp;#34;: &amp;#34;hourly&amp;#34;,
		&amp;#34;timeZone&amp;#34;: &amp;#34;Africa/Cairo&amp;#34;,
		&amp;#34;workdaysOnly&amp;#34;: true,
		&amp;#34;startDate&amp;#34;: &amp;#34;2022-10-10T10:00:00&amp;#43;02:00&amp;#34;,
		&amp;#34;endDate&amp;#34;: &amp;#34;2022-11-20T19:00:00&amp;#43;02:00&amp;#34;
	},
	&amp;#34;options&amp;#34;: {
		&amp;#34;orientation&amp;#34;: &amp;#34;landscape&amp;#34;,
		&amp;#34;layout&amp;#34;: &amp;#34;grid&amp;#34;,
	},
	&amp;#34;enableDashboardUrl&amp;#34;: true,
	&amp;#34;state&amp;#34;: &amp;#34;scheduled&amp;#34;,
	&amp;#34;dashboards&amp;#34;: [
		{
			&amp;#34;dashboard&amp;#34;: {
				&amp;#34;id&amp;#34;: 463,
				&amp;#34;uid&amp;#34;: &amp;#34;7MeksYbmk&amp;#34;,
				&amp;#34;name&amp;#34;: &amp;#34;Alerting with TestData&amp;#34;
			},
			&amp;#34;timeRange&amp;#34;: {
				&amp;#34;from&amp;#34;: &amp;#34;2022-08-08T15:00:00&amp;#43;02:00&amp;#34;,
				&amp;#34;to&amp;#34;: &amp;#34;2022-09-02T17:00:00&amp;#43;02:00&amp;#34;
			},
			&amp;#34;reportVariables&amp;#34;: {
				&amp;#34;variable1&amp;#34;: &amp;#34;Value1&amp;#34;
			}
		}
	],
	&amp;#34;formats&amp;#34;: [
		&amp;#34;pdf&amp;#34;,
		&amp;#34;csv&amp;#34;
	]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;example-response-3&#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: 28

{
	&amp;#34;message&amp;#34;: &amp;#34;Report updated&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-3&#34;&gt;Status Codes&lt;/h3&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, missing or invalid fields values, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; – Forbidden (access denied to a report or a dashboard used in the report).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – Not found (such report does not exist).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; – Unexpected error or server misconfiguration. Refer to server logs for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-a-report&#34;&gt;Delete a report&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/reports/: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;#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:delete&lt;/td&gt;
              &lt;td&gt;reports:*&lt;/br&gt;reports:id:*&lt;/br&gt;reports:1(single report)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-request-4&#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;DELETE /api/reports/6 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;h3 id=&#34;example-response-4&#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: 39

{
	&amp;#34;message&amp;#34;: &amp;#34;Report config was removed&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-4&#34;&gt;Status Codes&lt;/h3&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 report ID).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Not found (report with this ID does not exist).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Unexpected error or server misconfiguration. Refer to server logs for more details&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;send-a-report&#34;&gt;Send a report&lt;/h2&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-5&#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-5&#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;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;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;code&gt;useEmailsFromReport&lt;/code&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;code&gt;emails&lt;/code&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-5&#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-5&#34;&gt;Status Codes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;200&lt;/strong&gt; – Report was sent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;400&lt;/strong&gt; – Bad request (invalid json, missing content-type, missing or invalid fields, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Forbidden (access denied to a report or a dashboard used in the report).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; - Report not found.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Unexpected error or server misconfiguration. Refer to server logs for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-reports-branding-settings&#34;&gt;Get reports branding settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/reports/settings&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Returns reports branding settings that are global and used across all the reports.&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;#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.settings: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;example-request-6&#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;GET /api/reports/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;h3 id=&#34;example-response-6&#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: 181

{
	&amp;#34;id&amp;#34;: 1,
	&amp;#34;userId&amp;#34;: 1,
	&amp;#34;orgId&amp;#34;: 1,
	&amp;#34;branding&amp;#34;: {
		&amp;#34;reportLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
		&amp;#34;emailLogoUrl&amp;#34;: &amp;#34;&amp;#34;,
		&amp;#34;emailFooterMode&amp;#34;: &amp;#34;sent-by&amp;#34;,
		&amp;#34;emailFooterText&amp;#34;: &amp;#34;Grafana Labs&amp;#34;,
		&amp;#34;emailFooterLink&amp;#34;: &amp;#34;https://grafana.com/&amp;#34;
	}
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-6&#34;&gt;Status Codes&lt;/h3&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; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Unexpected error or server misconfiguration. Refer to server logs for more detail&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;save-reports-branding-settings&#34;&gt;Save reports branding settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/reports/settings&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates settings if they don&amp;rsquo;t exist, otherwise updates them. These settings are global and used across all the reports.&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;#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.settings: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;h3 id=&#34;example-request-7&#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/settings HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
	&amp;#34;branding&amp;#34;: {
		&amp;#34;reportLogoUrl&amp;#34;: &amp;#34;https://grafana.com/reportLogo.jpg&amp;#34;,
		&amp;#34;emailLogoUrl&amp;#34;: &amp;#34;https://grafana.com/emailLogo.jpg&amp;#34;,
		&amp;#34;emailFooterMode&amp;#34;: &amp;#34;sent-by&amp;#34;,
		&amp;#34;emailFooterText&amp;#34;: &amp;#34;Grafana Labs&amp;#34;,
		&amp;#34;emailFooterLink&amp;#34;: &amp;#34;https://grafana.com/&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;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;branding.reportLogoUrl&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of an image used as a logo on every page of the report.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;branding.emailLogoUrl&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of an image used as a logo in the email.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;branding.emailFooterMode&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Can be &lt;code&gt;sent-by&lt;/code&gt; or &lt;code&gt;none&lt;/code&gt;.&lt;br/&gt;&lt;code&gt;sent-by&lt;/code&gt; adds a &amp;ldquo;Sent by &lt;code&gt;branding.emailFooterText&lt;/code&gt;&amp;rdquo; footer link to the email. Requires specifying values in the &lt;code&gt;branding.emailFooterText&lt;/code&gt; and &lt;code&gt;branding.emailFooterLink&lt;/code&gt; fields.&lt;br/&gt;&lt;code&gt;none&lt;/code&gt; suppresses adding a &amp;ldquo;Sent by&amp;rdquo; footer link to the email.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;branding.emailFooterText&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Text of a URL added to the email &amp;ldquo;Sent by&amp;rdquo; footer.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;branding.emailFooterLink&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL address value added to the email &amp;ldquo;Sent by&amp;rdquo; footer.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;example-response-7&#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: 35

{
	&amp;#34;message&amp;#34;: &amp;#34;Report settings saved&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-7&#34;&gt;Status Codes&lt;/h3&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, missing or invalid fields values, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Unexpected error or server misconfiguration. Refer to server logs for more detail&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;send-a-test-email&#34;&gt;Send a test email&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/reports/test-email&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sends a test email with a report without persisting it in the database.&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;#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-8&#34;&gt;Example request&lt;/h3&gt;
&lt;p&gt;See &lt;a href=&#34;#config-json-body-schema&#34;&gt;JSON body schema&lt;/a&gt; for fields description.&lt;/p&gt;

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

{{
	&amp;#34;name&amp;#34;: &amp;#34;Report 4&amp;#34;,
	&amp;#34;recipients&amp;#34;: &amp;#34;example-report@grafana.com&amp;#34;,
	&amp;#34;replyTo&amp;#34;: &amp;#34;&amp;#34;,
	&amp;#34;message&amp;#34;: &amp;#34;Hello, please, find the report attached&amp;#34;,
	&amp;#34;schedule&amp;#34;: {
		&amp;#34;startDate&amp;#34;: &amp;#34;2022-10-02T10:00:00&amp;#43;02:00&amp;#34;,
		&amp;#34;endDate&amp;#34;: &amp;#34;2022-11-02T20:00:00&amp;#43;02:00&amp;#34;,
		&amp;#34;frequency&amp;#34;: &amp;#34;daily&amp;#34;,
		&amp;#34;intervalFrequency&amp;#34;: &amp;#34;&amp;#34;,
		&amp;#34;intervalAmount&amp;#34;: 0,
		&amp;#34;workdaysOnly&amp;#34;: true,
		&amp;#34;timeZone&amp;#34;: &amp;#34;Europe/Warsaw&amp;#34;
	},
	&amp;#34;options&amp;#34;: {
		&amp;#34;orientation&amp;#34;: &amp;#34;landscape&amp;#34;,
		&amp;#34;layout&amp;#34;: &amp;#34;grid&amp;#34;
	},
	&amp;#34;enableDashboardUrl&amp;#34;: true,
	&amp;#34;dashboards&amp;#34;: [
		{
			&amp;#34;dashboard&amp;#34;: {
				&amp;#34;uid&amp;#34;: &amp;#34;7MeksYbmk&amp;#34;,
			},
			&amp;#34;timeRange&amp;#34;: {
				&amp;#34;from&amp;#34;: &amp;#34;2022-08-08T15:00:00&amp;#43;02:00&amp;#34;,
				&amp;#34;to&amp;#34;: &amp;#34;2022-09-02T17:00:00&amp;#43;02:00&amp;#34;
			},
			&amp;#34;reportVariables&amp;#34;: {
				&amp;#34;variable1&amp;#34;: &amp;#34;Value1&amp;#34;
			}
		}
	],
	&amp;#34;formats&amp;#34;: [
		&amp;#34;pdf&amp;#34;,
		&amp;#34;csv&amp;#34;
	]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;example-response-8&#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;Test email sent&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;status-codes-8&#34;&gt;Status Codes&lt;/h3&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, missing or invalid fields values, etc.).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;401&lt;/strong&gt; - Authentication failed, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/auth/&#34;&gt;Authentication API&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;403&lt;/strong&gt; - Forbidden (access denied to a report or a dashboard used in the report).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Unexpected error or server misconfiguration. Refer to server logs for more details&lt;/li&gt;
&lt;/ul&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="/docs/grafana/latest/dashboards/create-reports/">Reporting&lt;/a> feature.&lt;/p>
&lt;blockquote>
&lt;p>The Reporting API is not stabilized yet, it is still in active development and may change without prior notice.&lt;/p></description></item><item><title>Secrets Management HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/secrets_management/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/secrets_management/</guid><content><![CDATA[&lt;h1 id=&#34;secrets-management-api&#34;&gt;Secrets Management API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, you need to have specific permissions for some endpoints . Refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;To view more about the new API structure, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;


&lt;div class=&#34;admonition admonition-caution&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Caution&lt;/p&gt;&lt;p&gt;The API is currently in &lt;a href=&#34;/docs/release-life-cycle/#public-preview&#34;&gt;public preview&lt;/a&gt; and might be subject to changes.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;The Grafana Secrets Management API allows you to manage secrets that are used by other services and applications within your Grafana instance.&lt;/p&gt;
&lt;h3 id=&#34;decrypters&#34;&gt;Decrypters&lt;/h3&gt;
&lt;p&gt;The decrypters field is an allowlist that lets the secure value know which services and apps can decrypt the secret value.&lt;/p&gt;
&lt;p&gt;Currently available decrypters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;k6-cloud&lt;/code&gt; (for Grafana Cloud k6)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;provisioning.grafana.app&lt;/code&gt; (for GitSync/Provisioning)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;synthetic-monitoring&lt;/code&gt; (for Synthetic Monitoring checks)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;create-a-secure-value&#34;&gt;Create a secure value&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /apis/secret.grafana.app/v1beta1/namespaces/:namespace/securevalues&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new secure value.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URL parameters&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To read more about which namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Request body&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;metadata.name&lt;/code&gt;: The Grafana unique identifier. If you do not want to provide this, set &lt;code&gt;metadata.generateName&lt;/code&gt; instead to the prefix you would like for the randomly generated uid (can&amp;rsquo;t be an empty string).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;spec.description&lt;/code&gt;: Short description that explains the purpose of this secure value. Required. Up to 25 characters long.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;spec.value&lt;/code&gt;: The secret value to store. Required. Up to 24576 bytes long.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;spec.decrypters&lt;/code&gt;: List of services allowed to decrypt this secure value. Up to 64 items, see note in &lt;a href=&#34;#decrypters&#34;&gt;decrypters&lt;/a&gt; for a list of supported values.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#secrets-management-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;secret.securevalues:create&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;secret.securevalues:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example create 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 /apis/secret.grafana.app/v1beta1/namespaces/default/securevalues HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;api-key&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;External API Key&amp;#34;,
    &amp;#34;value&amp;#34;: &amp;#34;secret-api-key-12345&amp;#34;,
    &amp;#34;decrypters&amp;#34;: [&amp;#34;synthetic-monitoring&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 201 Created
Content-Type: application/json; charset=UTF-8
Content-Length: 343

{
  &amp;#34;apiVersion&amp;#34;: &amp;#34;secret.grafana.app/v1beta1&amp;#34;,
  &amp;#34;kind&amp;#34;: &amp;#34;SecureValue&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;api-key&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;f1e2d3c4-b5a6-7890-abcd-ef1234567890&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:35:00Z&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;External API Key&amp;#34;,
    &amp;#34;decrypters&amp;#34;: [&amp;#34;synthetic-monitoring&amp;#34;]
  },
  &amp;#34;status&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;201&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; – Conflict (secure value with the same name already exists)&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;The &lt;code&gt;spec.value&lt;/code&gt; field is never returned by API endpoints. Users cannot not decrypt secrets.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;list-secure-values&#34;&gt;List secure values&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /apis/secret.grafana.app/v1beta1/namespaces/:namespace/securevalues&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;List all secure values in a namespace.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URL parameters&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To read more about which namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Query parameters&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;labelSelector&lt;/code&gt;: Filter secure values by labels.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#secrets-management-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;secret.securevalues:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;secret.securevalues:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example list 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 /apis/secret.grafana.app/v1beta1/namespaces/default/securevalues 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: 383

{
  &amp;#34;apiVersion&amp;#34;: &amp;#34;secret.grafana.app/v1beta1&amp;#34;,
  &amp;#34;kind&amp;#34;: &amp;#34;SecureValueList&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;resourceVersion&amp;#34;: &amp;#34;12345&amp;#34;
  },
  &amp;#34;items&amp;#34;: [
    {
      &amp;#34;apiVersion&amp;#34;: &amp;#34;secret.grafana.app/v1beta1&amp;#34;,
      &amp;#34;kind&amp;#34;: &amp;#34;SecureValue&amp;#34;,
      &amp;#34;metadata&amp;#34;: {
        &amp;#34;name&amp;#34;: &amp;#34;database-password&amp;#34;,
        &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
        &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:30:00Z&amp;#34;
      },
      &amp;#34;spec&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;Production DB Password&amp;#34;,
        &amp;#34;decrypters&amp;#34;: [&amp;#34;synthetic-monitoring&amp;#34;]
      },
      &amp;#34;status&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;/ul&gt;
&lt;h2 id=&#34;get-a-secure-value&#34;&gt;Get a secure value&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /apis/secret.grafana.app/v1beta1/namespaces/:namespace/securevalues/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Get the details of a specific secure value. It will not return the secret value.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URL parameters&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To read more about which namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: The name of the secure value.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#secrets-management-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;secret.securevalues:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;secret.securevalues:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example get 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 /apis/secret.grafana.app/v1beta1/namespaces/default/securevalues/api-key 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: 294

{
  &amp;#34;apiVersion&amp;#34;: &amp;#34;secret.grafana.app/v1beta1&amp;#34;,
  &amp;#34;kind&amp;#34;: &amp;#34;SecureValue&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;api-key&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;f1e2d3c4-b5a6-7890-abcd-ef1234567890&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:35:00Z&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;External API Key&amp;#34;,
    &amp;#34;decrypters&amp;#34;: [&amp;#34;synthetic-monitoring&amp;#34;]
  },
  &amp;#34;status&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; – Not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-a-secure-value&#34;&gt;Update a secure value&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /apis/secret.grafana.app/v1beta1/namespaces/:namespace/securevalues/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Replace an existing secure value with a new specification.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URL parameters&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To read more about which namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: The name of the secure value.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Request body&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;spec.description&lt;/code&gt;: Short description that explains the purpose of this secure value. Required. Up to 25 characters long.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;spec.value&lt;/code&gt;: The secret value to store. Required. Up to 24576 bytes long.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;spec.decrypters&lt;/code&gt;: List of services allowed to decrypt this secure value. Up to 64 items, see note in &lt;a href=&#34;#decrypters&#34;&gt;decrypters&lt;/a&gt; for a list of supported values.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#secrets-management-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;secret.securevalues:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;secret.securevalues:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example update 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 /apis/secret.grafana.app/v1beta1/namespaces/default/securevalues/api-key HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;api-key&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;External API Key&amp;#34;,
    &amp;#34;value&amp;#34;: &amp;#34;new-value-12345&amp;#34;,
    &amp;#34;decrypters&amp;#34;: [&amp;#34;synthetic-monitoring&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; charset=UTF-8
Content-Length: 282

{
  &amp;#34;apiVersion&amp;#34;: &amp;#34;secret.grafana.app/v1beta1&amp;#34;,
  &amp;#34;kind&amp;#34;: &amp;#34;SecureValue&amp;#34;,
  &amp;#34;metadata&amp;#34;: {
    &amp;#34;name&amp;#34;: &amp;#34;api-key&amp;#34;,
    &amp;#34;namespace&amp;#34;: &amp;#34;default&amp;#34;,
    &amp;#34;uid&amp;#34;: &amp;#34;f1e2d3c4-b5a6-7890-abcd-ef1234567890&amp;#34;,
    &amp;#34;creationTimestamp&amp;#34;: &amp;#34;2024-01-15T10:35:00Z&amp;#34;
  },
  &amp;#34;spec&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;External API Key&amp;#34;,
    &amp;#34;decrypters&amp;#34;: [&amp;#34;synthetic-monitoring&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 (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; – Not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-a-secure-value&#34;&gt;Delete a secure value&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /apis/secret.grafana.app/v1beta1/namespaces/:namespace/securevalues/:name&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Permanently delete a secure value. This also deletes the underlying stored secret value.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;URL parameters&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt;: To read more about the namespace to use, see the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/apis/&#34;&gt;API overview&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;: The name of the secure value.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#secrets-management-api&#34;&gt;introduction&lt;/a&gt; for an explanation.&lt;/p&gt;
&lt;!-- prettier-ignore-start --&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 class=&#34;no-spacing-list&#34;&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;&lt;code&gt;secret.securevalues:delete&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;secret.securevalues:*&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;!-- prettier-ignore-end --&gt;
&lt;p&gt;&lt;strong&gt;Example delete 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 /apis/secret.grafana.app/v1beta1/namespaces/default/securevalues/api-key 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: 65

{
  &amp;#34;apiVersion&amp;#34;: &amp;#34;v1&amp;#34;,
  &amp;#34;kind&amp;#34;: &amp;#34;Status&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;Success&amp;#34;,
  &amp;#34;code&amp;#34;: 200
}&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; – Not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="secrets-management-api">Secrets Management API&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, you need to have specific permissions for some endpoints . Refer to
&lt;a href="/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Service account HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/serviceaccount/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/serviceaccount/</guid><content><![CDATA[&lt;h1 id=&#34;service-account-api&#34;&gt;Service account API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.
For Grafana Cloud instances, please use a Bearer token to authenticate. The examples within this section reference Basic authentication which is for On-Prem Grafana instances.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;search-service-accounts-with-paging&#34;&gt;Search service accounts with Paging&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/serviceaccounts/search?perpage=10&amp;amp;page=1&amp;amp;query=myserviceaccount&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts: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/serviceaccounts/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;. 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;&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;serviceAccounts&amp;#34;: [
		{
			&amp;#34;id&amp;#34;: 1,
			&amp;#34;name&amp;#34;: &amp;#34;grafana&amp;#34;,
			&amp;#34;login&amp;#34;: &amp;#34;sa-grafana&amp;#34;,
			&amp;#34;orgId&amp;#34;: 1,
			&amp;#34;isDisabled&amp;#34;: false,
			&amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
			&amp;#34;tokens&amp;#34;: 0,
			&amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/85ec38023d90823d3e5b43ef35646af9&amp;#34;,
			&amp;#34;accessControl&amp;#34;: {
				&amp;#34;serviceaccounts:delete&amp;#34;: true,
				&amp;#34;serviceaccounts:read&amp;#34;: true,
				&amp;#34;serviceaccounts:write&amp;#34;: true
			}
		},
		{
			&amp;#34;id&amp;#34;: 2,
			&amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
			&amp;#34;login&amp;#34;: &amp;#34;sa-test&amp;#34;,
			&amp;#34;orgId&amp;#34;: 1,
			&amp;#34;isDisabled&amp;#34;: false,
			&amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
			&amp;#34;tokens&amp;#34;: 0,
			&amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/8ea890a677d6a223c591a1beea6ea9d2&amp;#34;,
			&amp;#34;accessControl&amp;#34;: {
				&amp;#34;serviceaccounts:delete&amp;#34;: true,
				&amp;#34;serviceaccounts:read&amp;#34;: true,
				&amp;#34;serviceaccounts:write&amp;#34;: true
			}
		}
	],
	&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;create-service-account&#34;&gt;Create service account&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/serviceaccounts&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts: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/serviceaccounts HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;name&amp;#34;: &amp;#34;grafana&amp;#34;,
  &amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
  &amp;#34;isDisabled&amp;#34;: false
}&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 201
Content-Type: application/json

{
	&amp;#34;id&amp;#34;: 1,
	&amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
	&amp;#34;login&amp;#34;: &amp;#34;sa-test&amp;#34;,
	&amp;#34;orgId&amp;#34;: 1,
	&amp;#34;isDisabled&amp;#34;: false,
	&amp;#34;createdAt&amp;#34;: &amp;#34;2022-03-21T14:35:33Z&amp;#34;,
	&amp;#34;updatedAt&amp;#34;: &amp;#34;2022-03-21T14:35:33Z&amp;#34;,
	&amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/8ea890a677d6a223c591a1beea6ea9d2&amp;#34;,
	&amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
	&amp;#34;teams&amp;#34;: []
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Fixed and custom roles can be set on service accounts using the &lt;a href=&#34;/docs/grafana/latest/developers/http_api/access_control/#set-user-role-assignments&#34;&gt;RBAC HTTP API&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;get-a-service-account-by-id&#34;&gt;Get a service account by ID&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/serviceaccounts/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts:read&lt;/td&gt;
              &lt;td&gt;serviceaccounts:id:*&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/serviceaccounts/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;name&amp;#34;: &amp;#34;test&amp;#34;,
	&amp;#34;login&amp;#34;: &amp;#34;sa-test&amp;#34;,
	&amp;#34;orgId&amp;#34;: 1,
	&amp;#34;isDisabled&amp;#34;: false,
	&amp;#34;createdAt&amp;#34;: &amp;#34;2022-03-21T14:35:33Z&amp;#34;,
	&amp;#34;updatedAt&amp;#34;: &amp;#34;2022-03-21T14:35:33Z&amp;#34;,
	&amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/8ea890a677d6a223c591a1beea6ea9d2&amp;#34;,
	&amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
	&amp;#34;teams&amp;#34;: []
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-service-account&#34;&gt;Update service account&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/serviceaccounts/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts:write&lt;/td&gt;
              &lt;td&gt;serviceaccounts:id:*&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/serviceaccounts/2 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
  &amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
	&amp;#34;role&amp;#34;: &amp;#34;Editor&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;: 2,
	&amp;#34;name&amp;#34;: &amp;#34;test&amp;#34;,
	&amp;#34;login&amp;#34;: &amp;#34;sa-grafana&amp;#34;,
	&amp;#34;orgId&amp;#34;: 1,
	&amp;#34;isDisabled&amp;#34;: false,
	&amp;#34;createdAt&amp;#34;: &amp;#34;2022-03-21T14:35:44Z&amp;#34;,
	&amp;#34;updatedAt&amp;#34;: &amp;#34;2022-03-21T14:35:44Z&amp;#34;,
	&amp;#34;avatarUrl&amp;#34;: &amp;#34;/avatar/8ea890a677d6a223c591a1beea6ea9d2&amp;#34;,
	&amp;#34;role&amp;#34;: &amp;#34;Editor&amp;#34;,
	&amp;#34;teams&amp;#34;: []
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Fixed and custom roles can be set on service accounts using the &lt;a href=&#34;/docs/grafana/latest/developers/http_api/access_control/#set-user-role-assignments&#34;&gt;RBAC HTTP API&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;delete-service-account&#34;&gt;Delete service account&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/serviceaccounts/:id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts:delete&lt;/td&gt;
              &lt;td&gt;serviceaccounts:id:*&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/serviceaccounts/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;Service account deleted&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;hr /&gt;
&lt;h2 id=&#34;get-service-account-tokens&#34;&gt;Get service account tokens&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/serviceaccounts/:id/tokens&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts:read&lt;/td&gt;
              &lt;td&gt;serviceaccounts:id:*&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/serviceaccounts/2/tokens 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;name&amp;#34;: &amp;#34;grafana&amp;#34;,
		&amp;#34;role&amp;#34;: &amp;#34;Viewer&amp;#34;,
		&amp;#34;created&amp;#34;: &amp;#34;2022-03-23T10:31:02Z&amp;#34;,
		&amp;#34;expiration&amp;#34;: null,
		&amp;#34;secondsUntilExpiration&amp;#34;: 0,
		&amp;#34;hasExpired&amp;#34;: false
	}
]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;create-service-account-tokens&#34;&gt;Create service account tokens&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/serviceaccounts/:id/tokens&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts:write&lt;/td&gt;
              &lt;td&gt;serviceaccounts:id:*&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/serviceaccounts/2/tokens HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Basic YWRtaW46YWRtaW4=

{
	&amp;#34;name&amp;#34;: &amp;#34;grafana&amp;#34;,
	&amp;#34;secondsToLive&amp;#34;: 604800
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Default value for the &lt;code&gt;secondsToLive&lt;/code&gt; is 0, which means that the service account token will never expire.&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;: 7,
	&amp;#34;name&amp;#34;: &amp;#34;grafana&amp;#34;,
	&amp;#34;key&amp;#34;: &amp;#34;eyJrIjoiVjFxTHZ6dGdPSjg5Um92MjN1RlhjMkNqYkZUbm9jYkwiLCJuIjoiZ3JhZmFuYSIsImlkIjoxfQ==&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;delete-service-account-tokens&#34;&gt;Delete service account tokens&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/serviceaccounts/:id/tokens/:tokenId&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#service-account-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;serviceaccounts:write&lt;/td&gt;
              &lt;td&gt;serviceaccounts:id:*&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/serviceaccounts/2/tokens/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;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="service-account-api">Service account API&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.
For Grafana Cloud instances, please use a Bearer token to authenticate. The examples within this section reference Basic authentication which is for On-Prem Grafana instances.&lt;/p></description></item><item><title>Shared Dashboards HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/dashboard_public/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/dashboard_public/</guid><content><![CDATA[&lt;h1 id=&#34;shared-dashboards-api&#34;&gt;Shared Dashboards API&lt;/h1&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;If you&amp;rsquo;re running Grafana Enterprise, you&amp;rsquo;ll need to have specific permissions for some endpoints. Refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;create-a-shared-dashboard&#34;&gt;Create a shared dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;POST /api/dashboards/uid/:uid/public-dashboards/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Creates a new shared dashboard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#shared-dashboards-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;&lt;code&gt;dashboards.public:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:&amp;lt;dashboard UID&amp;gt;&lt;/code&gt;&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 for new shared 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/uid/xCpsVuc4z/public-dashboards/ HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
    &amp;#34;uid&amp;#34;: &amp;#34;cd56d9fd-f3d4-486d-afba-a21760e2acbe&amp;#34;,
    &amp;#34;accessToken&amp;#34;: &amp;#34;5c948bf96e6a4b13bd91975f9a2028b7&amp;#34;,
    &amp;#34;timeSelectionEnabled&amp;#34;: false,
    &amp;#34;isEnabled&amp;#34;: true,
    &amp;#34;annotationsEnabled&amp;#34;: false,
    &amp;#34;share&amp;#34;: &amp;#34;public&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. Unique identifier when creating a shared dashboard. If it&amp;rsquo;s null, it will generate a new uid.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;accessToken&lt;/strong&gt; – Optional. Unique access token. If it&amp;rsquo;s null, it will generate a new access token.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;timeSelectionEnabled&lt;/strong&gt; – Optional. Set to &lt;code&gt;true&lt;/code&gt; to enable the time picker in the shared dashboard. The default value is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;isEnabled&lt;/strong&gt; – Optional. Set to &lt;code&gt;true&lt;/code&gt; to enable the shared dashboard. The default value is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;annotationsEnabled&lt;/strong&gt; – Optional. Set to &lt;code&gt;true&lt;/code&gt; to show annotations. The default value is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;share&lt;/strong&gt; – Optional. Set the share mode. The default value is &lt;code&gt;public&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 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
    &amp;#34;uid&amp;#34;: &amp;#34;cd56d9fd-f3d4-486d-afba-a21760e2acbe&amp;#34;,
    &amp;#34;dashboardUid&amp;#34;: &amp;#34;xCpsVuc4z&amp;#34;,
    &amp;#34;accessToken&amp;#34;: &amp;#34;5c948bf96e6a4b13bd91975f9a2028b7&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;updatedBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2023-09-05T15:48:21-03:00&amp;#34;,
    &amp;#34;updatedAt&amp;#34;: &amp;#34;2023-09-05T15:48:21-03:00&amp;#34;,
    &amp;#34;timeSelectionEnabled&amp;#34;: false,
    &amp;#34;isEnabled&amp;#34;: false,
    &amp;#34;annotationsEnabled&amp;#34;: false,
    &amp;#34;share&amp;#34;: &amp;#34;public&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 (such as invalid json, missing or invalid fields, or dashboard is shared)&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;p&gt;The error 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 400 Bad request
Content-Type: application/json; charset=UTF-8
Content-Length: 107

{
    &amp;#34;statusCode&amp;#34;: 400,
    &amp;#34;messageId&amp;#34;: &amp;#34;publicdashboards.dashboardIsPublic&amp;#34;,
    &amp;#34;message&amp;#34;: &amp;#34;Dashboard is already public&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;update-a-shared-dashboard&#34;&gt;Update a shared dashboard&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PATCH /api/dashboards/uid/:uid/public-dashboards/:publicDashboardUid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will update the shared dashboard given the specified unique identifier (uid).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#shared-dashboard-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;&lt;code&gt;dashboards.public:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:&amp;lt;dashboard UID&amp;gt;&lt;/code&gt;&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 for updating a shared 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;PATCH /api/dashboards/uid/xCpsVuc4z/public-dashboards/cd56d9fd-f3d4-486d-afba-a21760e2acbe HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
    &amp;#34;timeSelectionEnabled&amp;#34;: false,
    &amp;#34;isEnabled&amp;#34;: true,
    &amp;#34;annotationsEnabled&amp;#34;: false,
    &amp;#34;share&amp;#34;: &amp;#34;public&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;timeSelectionEnabled&lt;/strong&gt; – Optional. Set to &lt;code&gt;true&lt;/code&gt; to enable the time picker in the shared dashboard. The default value is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;isEnabled&lt;/strong&gt; – Optional. Set to &lt;code&gt;true&lt;/code&gt; to enable the shared dashboard. The default value is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;annotationsEnabled&lt;/strong&gt; – Optional. Set to &lt;code&gt;true&lt;/code&gt; to show annotations. The default value is &lt;code&gt;false&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;share&lt;/strong&gt; – Optional. Set the share mode. The default value is &lt;code&gt;public&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 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
    &amp;#34;uid&amp;#34;: &amp;#34;cd56d9fd-f3d4-486d-afba-a21760e2acbe&amp;#34;,
    &amp;#34;dashboardUid&amp;#34;: &amp;#34;xCpsVuc4z&amp;#34;,
    &amp;#34;accessToken&amp;#34;: &amp;#34;5c948bf96e6a4b13bd91975f9a2028b7&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;updatedBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2023-09-05T15:48:21-03:00&amp;#34;,
    &amp;#34;updatedAt&amp;#34;: &amp;#34;2023-09-05T15:48:21-03:00&amp;#34;,
    &amp;#34;timeSelectionEnabled&amp;#34;: false,
    &amp;#34;isEnabled&amp;#34;: false,
    &amp;#34;annotationsEnabled&amp;#34;: false,
    &amp;#34;share&amp;#34;: &amp;#34;public&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 (such as invalid json, missing or invalid fields)&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;p&gt;The error 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 400 Bad request
Content-Type: application/json; charset=UTF-8
Content-Length: 107

{
    &amp;#34;statusCode&amp;#34;: 400,
    &amp;#34;messageId&amp;#34;: &amp;#34;publicdashboards.dashboardIsPublic&amp;#34;,
    &amp;#34;message&amp;#34;: &amp;#34;Dashboard is already public&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;get-shared-dashboard-by-dashboard-uid&#34;&gt;Get shared dashboard by dashboard uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/uid/:uid/public-dashboards/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will return the shared dashboard given the dashboard unique identifier (uid).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#shared-dashboard-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;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:&amp;lt;dashboard UID&amp;gt;&lt;/code&gt;&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/dashboards/uid/xCpsVuc4z/public-dashboards/ 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;uid&amp;#34;: &amp;#34;e71950f3-e7dd-4d1e-aa8a-a857bc5e7d64&amp;#34;,
    &amp;#34;dashboardUid&amp;#34;: &amp;#34;xCpsVuc4z&amp;#34;,
    &amp;#34;accessToken&amp;#34;: &amp;#34;dab10f3a4fbb4342a602b03079c7ed64&amp;#34;,
    &amp;#34;createdBy&amp;#34;: 1,
    &amp;#34;updatedBy&amp;#34;: 1,
    &amp;#34;createdAt&amp;#34;: &amp;#34;2023-09-05T15:48:21-03:00&amp;#34;,
    &amp;#34;updatedAt&amp;#34;: &amp;#34;2023-09-05T15:48:21-03:00&amp;#34;,
    &amp;#34;timeSelectionEnabled&amp;#34;: false,
    &amp;#34;isEnabled&amp;#34;: false,
    &amp;#34;annotationsEnabled&amp;#34;: false,
    &amp;#34;share&amp;#34;: &amp;#34;public&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;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;delete-shared-dashboard-by-dashboard-uid-and-shared-dashboard-uid&#34;&gt;Delete shared dashboard by dashboard uid and shared dashboard uid&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/dashboards/uid/:uid/public-dashboards/:publicDashboardUid&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Will delete the shared dashboard given the specified unique identifier (uid).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#shared-dashboard-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;&lt;code&gt;dashboards.public:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:&amp;lt;dashboard UID&amp;gt;&lt;/code&gt;&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/dashboards/uid/xCpsVuc4z/public-dashboards/cd56d9fd-f3d4-486d-afba-a21760e2acbe 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;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;/ul&gt;
&lt;h2 id=&#34;get-a-list-of-all-shared-dashboards-with-pagination&#34;&gt;Get a list of all shared dashboards with pagination&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/dashboards/public-dashboards&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#shared-dashboard-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;&lt;code&gt;dashboards:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;dashboards:uid:&amp;lt;dashboard UID&amp;gt;&lt;/code&gt;&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/dashboards/public-dashboards?perpage=2&amp;amp;page=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;publicDashboards&amp;#34;: [
        {
            &amp;#34;uid&amp;#34;: &amp;#34;e9f29a3c-fcc3-4fc5-a690-ae39c97d24ba&amp;#34;,
            &amp;#34;accessToken&amp;#34;: &amp;#34;6c13ec1997ba48c5af8c9c5079049692&amp;#34;,
            &amp;#34;title&amp;#34;: &amp;#34;Datasource Shared Queries&amp;#34;,
            &amp;#34;dashboardUid&amp;#34;: &amp;#34;d2f21d0a-76c7-47ec-b5f3-9dda16e5a996&amp;#34;,
            &amp;#34;isEnabled&amp;#34;: true
        },
        {
            &amp;#34;uid&amp;#34;: &amp;#34;a174f604-6fe7-47de-97b4-48b7e401b540&amp;#34;,
            &amp;#34;accessToken&amp;#34;: &amp;#34;d1fcff345c0f45e8a78c096c9696034a&amp;#34;,
            &amp;#34;title&amp;#34;: &amp;#34;Datasource with template variables&amp;#34;,
            &amp;#34;dashboardUid&amp;#34;: &amp;#34;51DiOw0Vz&amp;#34;,
            &amp;#34;isEnabled&amp;#34;: true
        }
    ],
    &amp;#34;totalCount&amp;#34;: 30,
    &amp;#34;page&amp;#34;: 3,
    &amp;#34;perPage&amp;#34;: 2
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="shared-dashboards-api">Shared Dashboards API&lt;/h1>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>If you&amp;rsquo;re running Grafana Enterprise, you&amp;rsquo;ll need to have specific permissions for some endpoints. Refer to
&lt;a href="/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Short URL HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/short_url/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;/docs/grafana/latest/setup-grafana/configure-grafana/#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>Snapshot API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/snapshot/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;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;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&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;/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;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. Default is 1000 is not set or provided an invalid value.&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;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;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>SSO Settings API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/sso-settings/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/sso-settings/</guid><content><![CDATA[&lt;h1 id=&#34;sso-settings-api&#34;&gt;SSO Settings API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The API can be used to create, update, delete, get, and list SSO Settings for OAuth2 and SAML.&lt;/p&gt;
&lt;p&gt;The settings managed by this API are stored in the database and override

    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-access/configure-authentication/&#34;&gt;settings from other sources&lt;/a&gt;
(arguments, environment variables, settings file, etc).
Therefore, every time settings for a specific provider are removed or reset to the default settings at runtime,
the settings are inherited from the other sources in the reverse order of precedence
(&lt;code&gt;arguments &amp;gt; environment variables &amp;gt; settings file&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id=&#34;list-sso-settings&#34;&gt;List SSO Settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/v1/sso-settings&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Lists the SSO Settings for all providers.&lt;/p&gt;
&lt;p&gt;The providers or SSO keys that are not managed by this API are retrieved from the other sources (settings file, environment variables, default values).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#sso-settings&#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;&lt;code&gt;settings:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;settings:auth.{provider}:*&lt;/code&gt;&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/v1/sso-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;id&amp;#34;:        &amp;#34;1&amp;#34;,
    &amp;#34;provider&amp;#34;:  &amp;#34;github&amp;#34;,
    &amp;#34;settings&amp;#34;: {
      &amp;#34;apiUrl&amp;#34;: &amp;#34;https://api.github.com/user&amp;#34;,
      &amp;#34;clientId&amp;#34;: &amp;#34;my_github_client&amp;#34;,
      &amp;#34;clientSecret&amp;#34;: &amp;#34;*********&amp;#34;,
      &amp;#34;enabled&amp;#34;: true,
      &amp;#34;scopes&amp;#34;: &amp;#34;user:email,read:org&amp;#34;
      // rest of the settings
    },
    &amp;#34;source&amp;#34;:    &amp;#34;system&amp;#34;,
  },
  {
    &amp;#34;id&amp;#34;:        &amp;#34;2&amp;#34;,
    &amp;#34;provider&amp;#34;:  &amp;#34;azuread&amp;#34;,
    &amp;#34;settings&amp;#34;: {
      &amp;#34;authUrl&amp;#34;: &amp;#34;https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/authorize&amp;#34;,
      &amp;#34;clientId&amp;#34;: &amp;#34;my_azuread_client&amp;#34;,
      &amp;#34;clientSecret&amp;#34;: &amp;#34;*********&amp;#34;,
      &amp;#34;enabled&amp;#34;: true,
      &amp;#34;scopes&amp;#34;: &amp;#34;openid,email,profile&amp;#34;
      // rest of the settings
    },
    &amp;#34;source&amp;#34;:    &amp;#34;system&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; – SSO Settings found&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; – Access Denied&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;get-sso-settings&#34;&gt;Get SSO Settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/v1/sso-settings/:provider&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gets the SSO Settings for a provider.&lt;/p&gt;
&lt;p&gt;The SSO keys that are not managed by this API are retrieved from the other sources (settings file, environment variables, default values).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#sso-settings&#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;&lt;code&gt;settings:read&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;settings:auth.{provider}:*&lt;/code&gt;&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/v1/sso-settings/github 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
ETag: db87f729761898ee
{
  &amp;#34;id&amp;#34;:        &amp;#34;1&amp;#34;,
  &amp;#34;provider&amp;#34;:  &amp;#34;github&amp;#34;,
  &amp;#34;settings&amp;#34;: {
    &amp;#34;apiUrl&amp;#34;: &amp;#34;https://api.github.com/user&amp;#34;,
    &amp;#34;clientId&amp;#34;: &amp;#34;my_github_client&amp;#34;,
    &amp;#34;clientSecret&amp;#34;: &amp;#34;*********&amp;#34;,
    &amp;#34;enabled&amp;#34;: true,
    &amp;#34;scopes&amp;#34;: &amp;#34;user:email,read:org&amp;#34;
    // rest of the settings
  },
  &amp;#34;source&amp;#34;:    &amp;#34;system&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; – SSO Settings found&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; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – SSO Settings not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;update-sso-settings&#34;&gt;Update SSO Settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;PUT /api/v1/sso-settings/:provider&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Updates the SSO Settings for a provider.&lt;/p&gt;
&lt;p&gt;When you submit new settings for a provider via API,
Grafana verifies whether the given settings are allowed and valid.
If they are, then Grafana stores the settings in the database and reloads
Grafana services with no need to restart the instance.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;If you run Grafana in high availability mode, configuration changes
may not get applied to all Grafana instances immediately. You may need
to wait a few minutes for the configuration to propagate to all Grafana instances.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#sso-settings&#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;&lt;code&gt;settings:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;settings:auth.{provider}:*&lt;/code&gt;&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/v1/sso-settings/github HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  &amp;#34;settings&amp;#34;: {
    &amp;#34;apiUrl&amp;#34;: &amp;#34;https://api.github.com/user&amp;#34;,
    &amp;#34;clientId&amp;#34;: &amp;#34;my_github_client&amp;#34;,
    &amp;#34;clientSecret&amp;#34;: &amp;#34;my_github_secret&amp;#34;,
    &amp;#34;enabled&amp;#34;: true,
    &amp;#34;scopes&amp;#34;: &amp;#34;user:email,read: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 204
Content-Type: application/json&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;204&lt;/strong&gt; – SSO Settings updated&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; – Access Denied&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;delete-sso-settings&#34;&gt;Delete SSO Settings&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;DELETE /api/v1/sso-settings/:provider&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Deletes an existing SSO Settings entry for a provider.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#sso-settings&#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;&lt;code&gt;settings:write&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;&lt;code&gt;settings:auth.{provider}:*&lt;/code&gt;&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/v1/sso-settings/azuread 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 204
Content-Type: application/json&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;204&lt;/strong&gt; – SSO Settings deleted&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; – Access Denied&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;404&lt;/strong&gt; – SSO Settings not found&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="sso-settings-api">SSO Settings API&lt;/h1>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Team HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/team/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/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;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&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&amp;amp;sort=memberCount-desc&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;p&gt;The &lt;code&gt;sort&lt;/code&gt; param is an optional comma separated list of options to order the search result. Accepted values for the sort filter are: &lt;code&gt; name-asc&lt;/code&gt;, &lt;code&gt;name-desc&lt;/code&gt;, &lt;code&gt;email-asc&lt;/code&gt;, &lt;code&gt;email-desc&lt;/code&gt;, &lt;code&gt;memberCount-asc&lt;/code&gt;, &lt;code&gt;memberCount-desc&lt;/code&gt;. By default, if &lt;code&gt;sort&lt;/code&gt; is not specified, the teams list will be ordered by &lt;code&gt;name&lt;/code&gt; in ascending order.&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;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; - 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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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; is optional.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;POST /api/teams&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697

{
  &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 created&amp;#34;,&amp;#34;teamId&amp;#34;:2,&amp;#34;uid&amp;#34;:&amp;#34;ceaulqadfoav4e&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;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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697

{
  &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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697

{
  &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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;bulk-update-team-members&#34;&gt;Bulk Update Team Members&lt;/h2&gt;
&lt;p&gt;Allows bulk updating team members and administrators using user emails.
Will override all current members and administrators for the specified team.&lt;/p&gt;
&lt;p&gt;`PUT /api/teams/:teamId/members&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;PUT /api/teams/1/members HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697

{
  &amp;#34;members&amp;#34;: [&amp;#34;user1@email.com&amp;#34;, &amp;#34;user2@email.com&amp;#34;]
  &amp;#34;admins&amp;#34;: [&amp;#34;user3@email.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 memberships have been 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/Team member not found&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;500&lt;/strong&gt; - Internal error&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;homeDashboardUID&amp;#34;: &amp;#34;&amp;#34;,
  &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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;homeDashboardUID&amp;#34;: &amp;#34;jcIIG-07z&amp;#34;,
  &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; - Deprecated. Use &lt;code&gt;homeDashboardUID&lt;/code&gt; instead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;homeDashboardUID&lt;/strong&gt; - The &lt;code&gt;:uid&lt;/code&gt; of a dashboard&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;/ul>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>Team Sync HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/team_sync/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/team_sync/</guid><content><![CDATA[&lt;h1 id=&#34;team-sync-api&#34;&gt;Team Sync API&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Team Sync is only available in Grafana Enterprise. Read more about &lt;a href=&#34;/docs/grafana/latest/introduction/grafana-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, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href=&#34;/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#external-group-synchronization-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: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#external-group-synchronization-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/groups HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer 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=external-group-id&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;See note in the &lt;a href=&#34;#external-group-synchronization-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?groupId=cn%3Deditors%2Cou%3Dgroups%2Cdc%3Dgrafana%2Cdc%3Dorg HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;
&lt;h2 id=&#34;search-team-groups&#34;&gt;Search Team Groups&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;GET /api/teams/:teamId/groups/search&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Search for team groups with pagination support.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&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;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/search?name=editors&amp;amp;query=group&amp;amp;page=1&amp;amp;perpage=10 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer glsa_iNValIdinValiDinvalidinvalidinva_5b582697&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;teamGroups&amp;#34;: [
      {
        &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;
      }
    ],
    &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;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 team ID format or missing query parameter)&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;500&lt;/strong&gt; - Internal Server Error&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="team-sync-api">Team Sync API&lt;/h1>
&lt;blockquote>
&lt;p>Team Sync is only available in Grafana Enterprise. Read more about &lt;a href="/docs/grafana/latest/introduction/grafana-enterprise/">Grafana Enterprise&lt;/a>.&lt;/p>&lt;/blockquote>
&lt;blockquote>
&lt;p>If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to &lt;a href="/docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/">Role-based access control permissions&lt;/a> for more information.&lt;/p></description></item><item><title>User HTTP API</title><link>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/user/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/developer-resources/api-reference/http-api/user/</guid><content><![CDATA[&lt;h1 id=&#34;user-api&#34;&gt;User API&lt;/h1&gt;


&lt;div class=&#34;admonition admonition-caution&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Caution&lt;/p&gt;&lt;p&gt;You can&amp;rsquo;t authenticate to the User HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators&#34;&gt;Grafana server administrator permissions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Alternatively, you can use the 
    &lt;a href=&#34;/docs/grafana/v12.4/developers/http_api/org/#current-organization-api&#34;&gt;Organization HTTP API&lt;/a&gt; with service account tokens to manage users in a specific organization&lt;/p&gt;
&lt;p&gt;To use these API endpoints you have to use Basic authentication and the Grafana user must have the Grafana server administrator permission.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;admin&lt;/code&gt; user that Grafana is provisioned with by default has permissions to use these API endpoints.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;For Grafana Cloud customers, refer to &lt;a href=&#34;/docs/grafana/latest/developers/http_api/org/&#34;&gt;Organization HTTP API&lt;/a&gt; for finding users with the org Admin role.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are running Grafana Enterprise, for some endpoints you&amp;rsquo;ll need to have specific permissions. Refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/administration/roles-and-permissions/access-control/custom-role-actions-scopes/&#34;&gt;Role-based access control permissions&lt;/a&gt; for more information.&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&amp;amp;sort=login-asc,email-asc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;The &lt;code&gt;sort&lt;/code&gt; param is an optional comma separated list of options to order the search result. Accepted values for the sort filter are: &lt;code&gt;login-asc&lt;/code&gt;, &lt;code&gt;login-desc&lt;/code&gt;, &lt;code&gt;email-asc&lt;/code&gt;, &lt;code&gt;email-desc&lt;/code&gt;, &lt;code&gt;name-asc&lt;/code&gt;, &lt;code&gt;name-desc&lt;/code&gt;, &lt;code&gt;lastSeenAtAge-asc&lt;/code&gt;, &lt;code&gt;lastSeenAtAge-desc&lt;/code&gt;. By default, if &lt;code&gt;sort&lt;/code&gt; is not specified, the user list will be ordered by &lt;code&gt;login&lt;/code&gt;, &lt;code&gt;email&lt;/code&gt; in ascending order.&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;#34;: &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&amp;amp;sort=login-asc,email-asc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;The &lt;code&gt;sort&lt;/code&gt; param is an optional comma separated list of options to order the search result. Accepted values for the sort filter are: &lt;code&gt;login-asc&lt;/code&gt;, &lt;code&gt;login-desc&lt;/code&gt;, &lt;code&gt;email-asc&lt;/code&gt;, &lt;code&gt;email-desc&lt;/code&gt;, &lt;code&gt;name-asc&lt;/code&gt;, &lt;code&gt;name-desc&lt;/code&gt;, &lt;code&gt;lastSeenAtAge-asc&lt;/code&gt;, &lt;code&gt;lastSeenAtAge-desc&lt;/code&gt;. By default, if &lt;code&gt;sort&lt;/code&gt; is not specified, the user list will be ordered by &lt;code&gt;login&lt;/code&gt;, &lt;code&gt;email&lt;/code&gt; in ascending order.&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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/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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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: Basic YWRtaW46YWRtaW4=&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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;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/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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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/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;p&gt;&lt;strong&gt;Required permissions&lt;/strong&gt;&lt;/p&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;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/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/uid/:uid&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/uid/BqokFhx7z 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/uid/:uid&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/uid/BqokFhx7z 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;div class="admonition admonition-caution">&lt;blockquote>&lt;p class="title text-uppercase">Caution&lt;/p>&lt;p>You can&amp;rsquo;t authenticate to the User HTTP API with service account tokens.
Service accounts are limited to an organization and an organization role.
They can&amp;rsquo;t be granted
&lt;a href="/docs/grafana/v12.4/administration/roles-and-permissions/#grafana-server-administrators">Grafana server administrator permissions&lt;/a>.&lt;/p></description></item></channel></rss>