Documentation for automated readers
A curated documentation index is available at: https://grafana.com/llms.txt
A complete documentation index is available at: https://grafana.com/llms-full.txt
These indexes can help with page discovery before fetching individual documents.
This page is also available in Markdown, which may be easier for automated readers and AI tools to parse than HTML. The Markdown version is available at https://grafana.com/docs/grafana-cloud/learn-and-build/developer-resources/api-reference/http-api/advisor.md, or by sending Accept: text/markdown to https://grafana.com/docs/grafana-cloud/learn-and-build/developer-resources/api-reference/http-api/advisor/. For broader documentation discovery, the curated index is available at https://grafana.com/llms.txt and the complete index is available at https://grafana.com/llms-full.txt.
Advisor HTTP API
Note
This API complies with the new Grafana API structure. To learn more refer to documentation about the API structure in Grafana.
This document may not contain the latest version of the API. For the most up-to-date list of available endpoints, refer to advisor.grafana.app/v0alpha1 in Swagger.
This API is in
alpha, so it might change in future releases.
The /apis/advisor.grafana.app/* API exposes the results of
Grafana Advisor, the app that runs regular health checks on your data sources, plugins, and Grafana instance.
Advisor stores each run as a Check resource. The check’s status.report field contains the number of analyzed items and the list of failures. You can read these checks to
create an alert based on Grafana Advisor results. The rest of the endpoints are for internal use.
Before you begin
Before you begin, ensure you have the following:
- Grafana Advisor enabled: Advisor has generated at least one report. Refer to Grafana Advisor to generate your first report.
- A service account token with the Admin role: Use it to authenticate your requests. Refer to HTTP API authentication.
Endpoints
Note
Reading checks to build alerts is the only supported public use case. The other endpoints are used internally by Grafana Advisor.
These are the available endpoints:
| Method | Summary | URI |
|---|---|---|
| GET | Describe the available resources | /apis/advisor.grafana.app/v0alpha1/ |
| GET | List checks | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks |
| POST | Create a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks |
| DELETE | Delete a collection of checks | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks |
| GET | Get a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name} |
| PUT | Replace a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name} |
| PATCH | Update a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name} |
| DELETE | Delete a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name} |
| GET | Get the status of a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name}/status |
| PUT | Replace the status of a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name}/status |
| PATCH | Update the status of a check | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks/{name}/status |
| GET | List check types | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes |
| POST | Create a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes |
| DELETE | Delete a collection of check types | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes |
| GET | Get a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name} |
| PUT | Replace a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name} |
| PATCH | Update a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name} |
| DELETE | Delete a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name} |
| GET | Get the status of a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name}/status |
| PUT | Replace the status of a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name}/status |
| PATCH | Update the status of a check type | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checktypes/{name}/status |
| POST | Register check types | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/register |
| GET | Get translations | /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/translations |
Path parameters
Parameters include:
{namespace}: The namespace of your Grafana instance or organization.- In Grafana Cloud:
stacks-<STACK_ID>. For example,stacks-123456. - In Grafana OSS and Enterprise:
defaultfor organization 1, ororg-<ORG_ID>for other organizations.
To learn more about namespaces, refer to API structure in Grafana.
- In Grafana Cloud:
List checks
GET /apis/advisor.grafana.app/v0alpha1/namespaces/{namespace}/checks
Lists the checks that Advisor has run in the specified namespace, including their results. Advisor creates a new check every time it runs, so the response contains several checks for each check type. To get the current state, use the most recent check of each type.
You can use the following optional query parameters:
labelSelector: Filters checks by label. For example,advisor.grafana.app/type=datasourcereturns only data source checks.limit: Sets the maximum number of checks to return per page.continue: Sets the token from themetadata.continuefield of a previous response to fetch the next page.
Example request:
GET /apis/advisor.grafana.app/v0alpha1/namespaces/default/checks HTTP/1.1
Accept: application/json
Authorization: Bearer <SERVICE_ACCOUNT_TOKEN>Replace <SERVICE_ACCOUNT_TOKEN> with your service account token.
Example response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"kind": "CheckList",
"apiVersion": "advisor.grafana.app/v0alpha1",
"metadata": {
"resourceVersion": "1762675200000000"
},
"items": [
{
"kind": "Check",
"apiVersion": "advisor.grafana.app/v0alpha1",
"metadata": {
"name": "check-7xk2p",
"namespace": "default",
"creationTimestamp": "2026-11-09T06:00:00Z",
"labels": {
"advisor.grafana.app/type": "datasource"
},
"annotations": {
"advisor.grafana.app/status": "processed"
}
},
"spec": {},
"status": {
"report": {
"count": 4,
"failures": [
{
"severity": "high",
"stepID": "health-check",
"item": "Production Prometheus",
"itemID": "prometheus-prod",
"links": [
{
"url": "/connections/datasources/edit/prometheus-prod",
"message": "Fix me",
"messageKey": "advisor.link.fix-me"
}
]
}
]
}
}
},
{
"kind": "Check",
"apiVersion": "advisor.grafana.app/v0alpha1",
"metadata": {
"name": "check-m4q9z",
"namespace": "default",
"creationTimestamp": "2026-11-09T06:00:05Z",
"labels": {
"advisor.grafana.app/type": "plugin"
},
"annotations": {
"advisor.grafana.app/status": "processed"
}
},
"spec": {},
"status": {
"report": {
"count": 12,
"failures": []
}
}
}
]
}Each item in the items array is one check. The following fields are the most relevant to evaluate check results:
metadata.labels["advisor.grafana.app/type"]: The check type, for exampledatasource,plugin,config,instance, orssosetting.metadata.annotations["advisor.grafana.app/status"]: The processing status of the check. The value isprocessedwhen the check finishes successfully, orerrorif the check failed to run. The annotation is missing while the check is still running.metadata.creationTimestamp: When the check ran. Use it to find the most recent check of each type.status.report.count: The number of items the check analyzed.status.report.failures: The list of issues the check found. An empty list means that the check found no issues.
Each entry in status.report.failures contains the following fields:
severity: The severity of the issue:highfor issues that need action, orlowfor issues that need investigation.stepID: The ID of the check step that found the issue, for examplehealth-check.item: The human-readable name of the affected item, for example a data source name.itemID: The ID of the affected item, for example a data source UID.links: Links to pages where you can fix the issue. Each link contains aurl, amessage, and an optionalmessageKeywith the translation key of the message.
Status codes
- 200: OK
- 401: Unauthorized
- 403: Access denied
- 404: Not found, for example if the namespace doesn’t exist or Advisor isn’t available
Related resources
Use the following resources to keep working with Grafana Advisor and the Grafana APIs:
- Alerting on Advisor results: Refer to Create an alert based on Grafana Advisor results.
- Grafana Advisor: Refer to Grafana Advisor.
- API structure: Refer to API structure in Grafana.
Was this page helpful?
Related resources from Grafana Labs


