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/platform/grafana-assistant/reference/http-apis/quickstarts.md, or by sending Accept: text/markdown to https://grafana.com/docs/grafana-cloud/platform/grafana-assistant/reference/http-apis/quickstarts/. 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.
Quickstarts API
Use quickstarts to manage suggested prompts shown to users in the Assistant interface. Quickstarts help users discover what Assistant can do by offering ready-made questions they can run with a single click.
Quickstarts have two scopes:
- Tenant quickstarts are visible to all users in the organization. Use tenant quickstarts when you manage prompts through the HTTP API, because they appear for all users across the organization.
- User quickstarts are visible only to the identity that created them. You can’t create user quickstarts on behalf of other users.
Examples use the base URL and service account token described in Grafana Assistant HTTP API reference.
Create a quickstart
Create a new quickstart prompt.
Endpoint
POST /quickstarts
Permissions
| Quickstart scope | Required permission |
|---|---|
user | grafana-assistant-app.quickstarts.user:create |
tenant | grafana-assistant-app.quickstarts.tenant:create |
Request
Send a JSON request body.
| Field | Required | Description |
|---|---|---|
scope | Yes | Quickstart scope: user or tenant. |
prompt | Yes | The question text shown to users. |
title | No | A short display title for the quickstart. |
enabled | No | Whether the quickstart is active. Default: true. |
{
"scope": "tenant",
"title": "SLO health",
"prompt": "How healthy are my SLOs right now?",
"enabled": true
}Response
{
"status": "success",
"data": {
"id": "c5d3e4f6-7890-1234-cdef-056789012345",
"created": "2025-11-15T10:00:00Z",
"modified": "2025-11-15T10:00:00Z",
"createdBy": "sa-5594@serviceaccount.grafana",
"updatedBy": "sa-5594@serviceaccount.grafana",
"title": "SLO health",
"prompt": "How healthy are my SLOs right now?",
"enabled": true,
"scope": "tenant"
}
}Examples
curl -X POST "${ASSISTANT_API_URL}/quickstarts" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${SERVICE_ACCOUNT_TOKEN}" \
-d '{
"scope": "tenant",
"title": "SLO health",
"prompt": "How healthy are my SLOs right now?",
"enabled": true
}'List quickstarts
Retrieve quickstarts with optional filtering and pagination.
Endpoint
GET /quickstarts
Permissions
| Quickstart scope | Required permission |
|---|---|
user | grafana-assistant-app.quickstarts.user:read |
tenant | grafana-assistant-app.quickstarts.tenant:read |
Request
| Parameter | Required | Description |
|---|---|---|
scope | No | Filter by scope: user or tenant. |
enabled_only | No | When true, return only enabled quickstarts. |
limit | No | Maximum number of quickstarts to return. Range: 1-100. Default: 20. |
offset | No | Pagination offset. Default: 0. |
Response
{
"status": "success",
"data": {
"quickstarts": [
{
"id": "c5d3e4f6-7890-1234-cdef-056789012345",
"created": "2025-11-15T10:00:00Z",
"modified": "2025-11-15T10:00:00Z",
"createdBy": "sa-5594@serviceaccount.grafana",
"updatedBy": "sa-5594@serviceaccount.grafana",
"title": "SLO health",
"prompt": "How healthy are my SLOs right now?",
"enabled": true,
"scope": "tenant"
}
],
"pagination": {
"total": 1,
"limit": 20,
"offset": 0
}
}
}Examples
curl -X GET "${ASSISTANT_API_URL}/quickstarts?scope=tenant&enabled_only=true" \
-H "Authorization: Bearer ${SERVICE_ACCOUNT_TOKEN}"Get a quickstart
Retrieve a single quickstart by ID.
Endpoint
GET /quickstarts/{id}
Permissions
| Quickstart scope | Required permission |
|---|---|
user | grafana-assistant-app.quickstarts.user:read |
tenant | grafana-assistant-app.quickstarts.tenant:read |
Request
| Parameter | Required | Description |
|---|---|---|
id | Yes | The quickstart ID returned when you create a quickstart. |
Response
{
"status": "success",
"data": {
"id": "c5d3e4f6-7890-1234-cdef-056789012345",
"created": "2025-11-15T10:00:00Z",
"modified": "2025-11-15T10:00:00Z",
"createdBy": "sa-5594@serviceaccount.grafana",
"updatedBy": "sa-5594@serviceaccount.grafana",
"title": "SLO health",
"prompt": "How healthy are my SLOs right now?",
"enabled": true,
"scope": "tenant"
}
}Examples
QUICKSTART_ID="c5d3e4f6-7890-1234-cdef-056789012345"
curl -X GET "${ASSISTANT_API_URL}/quickstarts/${QUICKSTART_ID}" \
-H "Authorization: Bearer ${SERVICE_ACCOUNT_TOKEN}"Update a quickstart
Update an existing quickstart. Only the fields you include in the request body are changed, except scope which is always required.
Endpoint
PUT /quickstarts/{id}
Permissions
| Quickstart scope | Required permission |
|---|---|
user | grafana-assistant-app.quickstarts.user:write |
tenant | grafana-assistant-app.quickstarts.tenant:write |
Request
| Parameter | Required | Description |
|---|---|---|
id | Yes | The quickstart ID. |
Send a JSON request body with the fields to update.
| Field | Required | Description |
|---|---|---|
scope | Yes | The current scope of the quickstart: user or tenant. |
title | No | Updated display title. |
prompt | No | Updated question text. |
enabled | No | Whether the quickstart is active. |
Response
The response contains the full updated quickstart.
{
"status": "success",
"data": {
"id": "c5d3e4f6-7890-1234-cdef-056789012345",
"created": "2025-11-15T10:00:00Z",
"modified": "2025-11-20T14:15:00Z",
"createdBy": "sa-5594@serviceaccount.grafana",
"updatedBy": "sa-5594@serviceaccount.grafana",
"title": "SLO health",
"prompt": "How healthy are my SLOs right now?",
"enabled": false,
"scope": "tenant"
}
}Examples
Disable a quickstart:
QUICKSTART_ID="c5d3e4f6-7890-1234-cdef-056789012345"
curl -X PUT "${ASSISTANT_API_URL}/quickstarts/${QUICKSTART_ID}" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${SERVICE_ACCOUNT_TOKEN}" \
-d '{
"scope": "tenant",
"enabled": false
}'Delete a quickstart
Permanently delete a quickstart.
Endpoint
DELETE /quickstarts/{id}
Permissions
| Quickstart scope | Required permission |
|---|---|
user | grafana-assistant-app.quickstarts.user:delete |
tenant | grafana-assistant-app.quickstarts.tenant:delete |
Request
| Parameter | Required | Description |
|---|---|---|
id | Yes | The quickstart ID. |
Response
A successful deletion returns HTTP 204 with no response body.
Examples
QUICKSTART_ID="c5d3e4f6-7890-1234-cdef-056789012345"
curl -X DELETE "${ASSISTANT_API_URL}/quickstarts/${QUICKSTART_ID}" \
-H "Authorization: Bearer ${SERVICE_ACCOUNT_TOKEN}"Was this page helpful?
Related resources from Grafana Labs


