Annotations

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
POST
GET
PATCH
DELETE

List all annotations

Also available via the PostHog MCP server:

  • annotations-listList annotations

Create, Read, Update and Delete annotations. See docs for more information on annotations.

Required API key scopes

annotation:read

Query parameters

  • limit
    integer
  • offset
    integer
  • search
    string

Response


Example request

GET /api/projects/:project_id/annotations
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/annotations/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": 0,
"content": "string",
"date_marker": "2019-08-24T14:15:22Z",
"creation_type": "USR",
"dashboard_item": 0,
"dashboard_id": 0,
"dashboard_name": "string",
"insight_short_id": "string",
"insight_name": "string",
"insight_derived_name": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"deleted": true,
"scope": "dashboard_item"
}
]
}

Create annotations

Also available via the PostHog MCP server:

  • annotation-createCreate annotation

Create, Read, Update and Delete annotations. See docs for more information on annotations.

Required API key scopes

annotation:write

Request parameters

  • content
    stringnull
  • date_marker
    stringnull
  • creation_type
  • dashboard_item
    integernull
  • dashboard_id
    integernull
  • deleted
    boolean
  • scope

Response


Example request

POST /api/projects/:project_id/annotations
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/annotations/\
-d content=["string","null"]

Example response

Status 201
RESPONSE
{
"id": 0,
"content": "string",
"date_marker": "2019-08-24T14:15:22Z",
"creation_type": "USR",
"dashboard_item": 0,
"dashboard_id": 0,
"dashboard_name": "string",
"insight_short_id": "string",
"insight_name": "string",
"insight_derived_name": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"deleted": true,
"scope": "dashboard_item"
}

Retrieve annotations

Also available via the PostHog MCP server:

  • annotation-retrieveRetrieve annotation

Create, Read, Update and Delete annotations. See docs for more information on annotations.

Required API key scopes

annotation:read

Path parameters

  • id
    integer

Response


Example request

GET /api/projects/:project_id/annotations/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/annotations/:id/

Example response

Status 200
RESPONSE
{
"id": 0,
"content": "string",
"date_marker": "2019-08-24T14:15:22Z",
"creation_type": "USR",
"dashboard_item": 0,
"dashboard_id": 0,
"dashboard_name": "string",
"insight_short_id": "string",
"insight_name": "string",
"insight_derived_name": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"deleted": true,
"scope": "dashboard_item"
}

Update annotations

Also available via the PostHog MCP server:

  • annotations-partial-updateUpdate annotation

Create, Read, Update and Delete annotations. See docs for more information on annotations.

Required API key scopes

annotation:write

Path parameters

  • id
    integer

Request parameters

  • content
    stringnull
  • date_marker
    stringnull
  • creation_type
  • dashboard_item
    integernull
  • dashboard_id
    integernull
  • deleted
    boolean
  • scope

Response


Example request

PATCH /api/projects/:project_id/annotations/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/annotations/:id/\
-d content=["string","null"]

Example response

Status 200
RESPONSE
{
"id": 0,
"content": "string",
"date_marker": "2019-08-24T14:15:22Z",
"creation_type": "USR",
"dashboard_item": 0,
"dashboard_id": 0,
"dashboard_name": "string",
"insight_short_id": "string",
"insight_name": "string",
"insight_derived_name": "string",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"deleted": true,
"scope": "dashboard_item"
}

Delete annotations

Also available via the PostHog MCP server:

  • annotation-deleteDelete annotation

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

Required API key scopes

annotation:write

Path parameters

  • id
    integer

Example request

DELETE /api/projects/:project_id/annotations/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/annotations/:id/

Example response

Status 405 No response body

Community questions

Questions about this page? or post a community question.