---
title: "PUT /annotations/{id}"
method: PUT
path: "/annotations/{id}"
tags: ["annotations"]
---

# PUT /annotations/{id}

`PUT /annotations/{id}`

## Request

- Base URL: `https://api.axiom.co/v2`
- URL: `https://api.axiom.co/v2/annotations/{id}`
- Auth: OAuth 2
  - Authorization code: `https://accounts.google.com/o/oauth2/v2/auth`
  - Token URL: `https://www.googleapis.com/oauth2/v4/token` scopes: `annotations|update`
- TypeScript: <https://skmtc.dev/axiom/apis/axiom-public-api/docs/annotations/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates an annotation. Only the fields you include change. Omitted or empty fields keep their current values, so you can't clear a field.

## Path parameters

- `id` string, required

## Request body

- UpdatedAnnotation
  - `datasets` string[]: array<string> of dataset names for which the annotation appears on charts
  - `description` string: Explanation of the event the annotation marks on the charts
  - `endTime` string, date-time: End time of the annotation
  - `time` string, date-time: Time the annotation marks on the charts. If you don't include this field, Axiom assigns the time of the API request to the annotation.
  - `title` string: Summary of the annotation that appears on the charts
  - `type` string: Type of the event marked by the annotation. Use only alphanumeric characters or hyphens. For example, "production-deployment".
  - `url` string: URL relevant for the event marked by the annotation. For example, link to GitHub pull request.

## Response `200`

Updated annotation.

- Annotation
  - `datasets` string[], required: array<string> of dataset names for which the annotation appears on charts
  - `description` string: Explanation of the event the annotation marks on the charts
  - `endTime` string, date-time, nullable: End time of the annotation
  - `id` string, required
  - `time` string, date-time, required: Time the annotation marks on the charts. If you don't include this field, Axiom assigns the time of the API request to the annotation.
  - `title` string: Summary of the annotation that appears on the charts
  - `type` string, required: Type of the event marked by the annotation. Use only alphanumeric characters or hyphens. For example, "production-deployment".
  - `url` string: URL relevant for the event marked by the annotation. For example, link to GitHub pull request.

## Other responses

- `400`: Invalid annotation ID or the updated annotation is invalid.
- `404`: Annotation not found.

## Changes

- **2026-10-16** (v2) `fbc1b8430feb`: 2 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `404`

[Operation history](https://skmtc.dev/axiom/apis/axiom-public-api/changes/annotations/:id/put.md)

---

[API](https://skmtc.dev/axiom/apis/axiom-public-api.md) - [All operations](https://skmtc.dev/axiom/apis/axiom-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/axiom/apis/axiom-public-api/revisions/7e39a295e3ba?raw)
