Web Analytics

List annotations

Returns the workspace's annotations, most recent moment first. Every filter is optional; with none the most recent 100 rows come back.

Gated by the web_analytics read permission, like the rest of the web analytics surface.

get/api/annotations.list

Query parameters

workspace_idstring required

The ID of the workspace

startstring date-time

Only annotations at or after this instant. Must be RFC3339; a malformed value is a 400 rather than a dropped filter.

endstring date-time

Only annotations at or before this instant. Must be RFC3339.

sourcesstring

Comma-separated list of sources to keep. Any value outside manual/broadcast is a 400.

limitinteger

Maximum rows to return. Values above the maximum are clamped to it rather than refused.

Response

Annotations matching the filters

Example response

{
  "annotations": [
    {
      "id": "3f2504e04f8911d39a0c0305e82c3301",
      "annotated_at": "2026-08-15T09:00:00Z",
      "timezone": "Asia/Tokyo",
      "title": "Pricing page redesign",
      "description": "Rolled out to all visitors after the A/B test.",
      "color": "#3b82f6",
      "source": "manual",
      "source_id": "bcast_1234567890"
    }
  ]
}

Changes