provider annotations PUT /api/projects/{project_id}/annotations/{id}/
@utdk/posthog /api/projects/{project_id}/annotations/{id}/
annotations_update
Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.
id path required
A unique integer value identifying this annotation.
integer
project_id path required
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
string

Try it

Authentication
Configure credentials for PostHog API
annotationsUpdate
PUT/api/projects/{project_id}/annotations/{id}/
Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.

Parameters

required

A unique integer value identifying this annotation.

required

Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Input

required

Annotation text shown on charts to describe the change, release, or incident.

When this annotation happened (ISO 8601 timestamp). Used to position it on charts.

Who created this annotation. Use `USR` for user-created notes and `GIT` for bot/deployment notes. * `USR` - user * `GIT` - GitHub

required
required
required
required
required
required
required

Soft-delete flag. Set to true to hide the annotation, or false to restore it.

Annotation visibility scope: `project`, `organization`, `dashboard`, or `dashboard_item`. `recording` is deprecated and rejected. * `dashboard_item` - insight * `dashboard` - dashboard * `project` - project * `organization` - organization * `recording` - recording

Optional emoji shown in place of the default badge when this annotation is surfaced on a chart.

When true, the annotation is hidden from the PostHog UI (charts and the annotations list) but still readable over the API and MCP. Use for high-frequency markers like deployments that would otherwise crowd the UI. Null (the default) means the annotation is shown.

Configure credentials above to enable sending.

Code snippet
Updates live as you fill in the form above.

TypeScript

import posthog from '@utdk/posthog';

await posthog.annotationsUpdate()