Grafana Cloud

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 scopeRequired permission
usergrafana-assistant-app.quickstarts.user:create
tenantgrafana-assistant-app.quickstarts.tenant:create

Request

Send a JSON request body.

FieldRequiredDescription
scopeYesQuickstart scope: user or tenant.
promptYesThe question text shown to users.
titleNoA short display title for the quickstart.
enabledNoWhether the quickstart is active. Default: true.
JSON
{
  "scope": "tenant",
  "title": "SLO health",
  "prompt": "How healthy are my SLOs right now?",
  "enabled": true
}

Response

JSON
{
  "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

Bash
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 scopeRequired permission
usergrafana-assistant-app.quickstarts.user:read
tenantgrafana-assistant-app.quickstarts.tenant:read

Request

ParameterRequiredDescription
scopeNoFilter by scope: user or tenant.
enabled_onlyNoWhen true, return only enabled quickstarts.
limitNoMaximum number of quickstarts to return. Range: 1-100. Default: 20.
offsetNoPagination offset. Default: 0.

Response

JSON
{
  "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

Bash
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 scopeRequired permission
usergrafana-assistant-app.quickstarts.user:read
tenantgrafana-assistant-app.quickstarts.tenant:read

Request

ParameterRequiredDescription
idYesThe quickstart ID returned when you create a quickstart.

Response

JSON
{
  "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

Bash
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 scopeRequired permission
usergrafana-assistant-app.quickstarts.user:write
tenantgrafana-assistant-app.quickstarts.tenant:write

Request

ParameterRequiredDescription
idYesThe quickstart ID.

Send a JSON request body with the fields to update.

FieldRequiredDescription
scopeYesThe current scope of the quickstart: user or tenant.
titleNoUpdated display title.
promptNoUpdated question text.
enabledNoWhether the quickstart is active.

Response

The response contains the full updated quickstart.

JSON
{
  "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:

Bash
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 scopeRequired permission
usergrafana-assistant-app.quickstarts.user:delete
tenantgrafana-assistant-app.quickstarts.tenant:delete

Request

ParameterRequiredDescription
idYesThe quickstart ID.

Response

A successful deletion returns HTTP 204 with no response body.

Examples

Bash
QUICKSTART_ID="c5d3e4f6-7890-1234-cdef-056789012345"

curl -X DELETE "${ASSISTANT_API_URL}/quickstarts/${QUICKSTART_ID}" \
  -H "Authorization: Bearer ${SERVICE_ACCOUNT_TOKEN}"