How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Grafana Annotations API

Dashboard annotations

Grafana Annotations API is one of 78 APIs that Grafana publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 JSON Schema definition.

Tagged areas include Annotations. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, a getting-started guide, and 1 JSON Schema.

This API exposes 11 operations across 7 paths, and defines 21 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 4 base URLs: https://{instance}.grafana.net/api, http://localhost:3000/api, http://{defaultHost}, https://{defaultHost}.

11 operations 7 paths 21 schemas 2 DELETE4 GET1 PATCH3 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
http://localhost:3000/api
Authentication
HTTP Bearer, HTTP Basic, API Key, API Key, HTTP Basic
Resource Areas
1

Authentication & Security 5

Grafana Annotations API declares 5 security schemes for authenticating requests. It accepts HTTP bearer tokens (BearerAuth). It accepts HTTP basic authentication (BasicAuth). An API key is passed in the header as Authorization (ApiKeyAuth). An API key is passed in the header as Authorization (api_key). It accepts HTTP basic authentication (basic).

  • BearerAuth — Service account token or API key
  • ApiKeyAuth — Format: Bearer

Paths & Operations 11

Across 7 paths, the API surfaces 11 operations — 2 DELETE, 4 GET, 1 PATCH, 3 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Annotations 11

Dashboard annotations

GET
/annotations
Find annotations
getAnnotations 6 params → 200
POST
/annotations
Create annotation
createAnnotation body → 200
DELETE
/annotations/{id}
Delete annotation
deleteAnnotation 1 param → 200
POST
/annotations/graphite
Grafana Post Graphite Annotation
postGraphiteAnnotation body → 200400401403500
POST
/annotations/mass-delete
Grafana Mass Delete Annotations
massDeleteAnnotations body → 200401500
GET
/annotations/tags
Grafana Get Annotation Tags
getAnnotationTags 2 params → 200401500
GET
/annotations/{annotation_id}
Grafana Get Annotation By ID
getAnnotationByID 1 param → 200401500
PUT
/annotations/{annotation_id}
Grafana Update Annotation
updateAnnotation 1 param body → 200400401403500
DELETE
/annotations/{annotation_id}
Grafana Delete Annotation By ID
deleteAnnotationByID 1 param → 200401403500
PATCH
/annotations/{annotation_id}
Grafana Patch Annotation
patchAnnotation 1 param body → 200401403404500
GET
/public/dashboards/{accessToken}/annotations
Grafana Get Public Annotations
getPublicAnnotations 1 param → 200400401403404500

Schemas 21

The contract defines 21 schemas that model the data the API accepts and returns. The most detailed are Annotation_2 (19 properties), Annotation (15 properties), AnnotationEvent (11 properties), AnnotationQuery (10 properties). Each schema is shown below with its type and property counts.

Annotation
object
15 properties
CreateAnnotationCommand
object
7 properties 1 required
MassDeleteAnnotationsCmd
object
4 properties
PatchAnnotationsCmd
object
6 properties
ErrorResponseBody
object
3 properties 1 required
postAnnotationResponse
object
2 properties 2 required
type3
string
SuccessResponseBody
object
1 property
PostAnnotationsCmd
object
8 properties 1 required
publicError1
object
PublicError is derived from Error and only contains information available to the end user.
4 properties 2 required
PostGraphiteAnnotationsCmd
object
4 properties
AnnotationPanelFilter
object
2 properties
DataSourceRef
object
Ref to a DataSource instance
2 properties
AnnotationTarget
object
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 d…
4 properties
Annotation_2
object
19 properties
UpdateAnnotationsCmd
object
6 properties
GetAnnotationTagsResponseisaresponsestructforFindTagsResult.
object
1 property
FindTagsResultistheresultofatagssearch.
object
1 property
TagsDTOisthefrontendDTOforTag.
object
2 properties
AnnotationEvent
object
11 properties
AnnotationQuery
object
TODO docs FROM: AnnotationQuery in grafana-data/src/types/annotations.ts
10 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

grafana-annotations-api-openapi.yml Raw ↑

Other APIs Grafana publishes across the network.

Grafana Access API
Grafana Account API
Grafana Accounts API
Grafana Add API
Grafana Address API
Grafana Administrative API
Grafana Alerts API
Grafana All API
Grafana Built API
Grafana Cache API
Grafana Call API
Grafana Calls API
Where this information came from

This is an independent, third-party profile of Grafana Annotations API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.