---
title: "GET /public/dashboards/{accessToken}/annotations"
method: GET
path: "/public/dashboards/{accessToken}/annotations"
tags: ["dashboards", "annotations", "dashboard_public"]
---

# GET /public/dashboards/{accessToken}/annotations

`GET /public/dashboards/{accessToken}/annotations`

## Request

- Base URL: `/api` (relative, and the document’s source URL is not known)
- URL: `/api/public/dashboards/{accessToken}/annotations`
- Auth: one of:
  - HTTP basic
  - API key in header `Authorization`

Get annotations for a public dashboard

## Path parameters

- `accessToken` string, required

## Response `200`

(empty)

- AnnotationEvent[]
  - `color` string
  - `dashboardId` integer
  - `dashboardUID` string
  - `id` integer
  - `isRegion` boolean
  - `panelId` integer
  - `source` AnnotationQuery: TODO docs FROM: AnnotationQuery in grafana-data/src/types/annotations.ts
    - `builtIn` number, double: Set to 1 for the standard annotation query all dashboards have by default.
    - `datasource` DataSourceRef: Ref to a DataSource instance
      - `type` string: The plugin type-id
      - `uid` string: Specific datasource instance
    - `enable` boolean: When enabled the annotation query is issued with every dashboard refresh
    - `filter` AnnotationPanelFilter
      - `exclude` boolean: Should the specified panels be included or excluded
      - `ids` integer[]: Panel IDs that should be included or excluded
    - `hide` boolean: Annotation queries can be toggled on or off at the top of the dashboard. When hide is true, the toggle is not shown in the dashboard.
    - `iconColor` string: Color to use for the annotation event markers
    - `name` string: Name of annotation.
    - `placement` string: Placement can be used to display the annotation query somewhere else on the dashboard other than the default location.
    - `target` AnnotationTarget: TODO: this should be a regular DataQuery that depends on the selected dashboard these match the properties of the "grafana" datasouce that is default in most dashboards
      - `limit` integer: Only required/valid for the grafana datasource... but code+tests is already depending on it so hard to change
      - `matchAny` boolean: Only required/valid for the grafana datasource... but code+tests is already depending on it so hard to change
      - `tags` string[]: Only required/valid for the grafana datasource... but code+tests is already depending on it so hard to change
      - `type` string: Only required/valid for the grafana datasource... but code+tests is already depending on it so hard to change
    - `type` string: TODO -- this should not exist here, it is based on the --grafana-- datasource
  - `tags` string[]
  - `text` string
  - `time` integer
  - `timeEnd` integer

## Other responses

- `400`: BadRequestPublicError is returned when the request is invalid and it cannot be processed.
- `401`: UnauthorisedPublicError is returned when the request is not authenticated.
- `403`: ForbiddenPublicError is returned if the user/token has insufficient permissions to access the requested resource.
- `404`: NotFoundPublicError is returned when the requested resource was not found.
- `500`: InternalServerPublicError is a general error indicating something went wrong internally.

---

[API](https://skmtc.dev/grafana/apis/grafana-http-api.md) - [All operations](https://skmtc.dev/grafana/apis/grafana-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grafana/apis/grafana-http-api/revisions/df55ba1718ba?raw)
