dashboards

This dashboard's activity feed.

Returns a page of this dashboard's own activity — edits (with detail chips and author-provided change notes), shares, exports, comments, and restores — newest first. Requires dashboard read access on this dashboard (a non-reader gets 404, same as GET /v1/dashboards/{id}). Unlike GET /v1/orgs/{orgId}/activity (the org-wide feed, admin/owner-only and capped at 20 rows), this endpoint is scoped to one dashboard, open to any reader, and fully paginated via limit + cursor (DVT-775 keyset convention) — when more events exist beyond this page, meta.nextCursor carries the token for the next page.

Includes page/element-level events that belong to this dashboard (resolved via the same parent-dashboard walk-up GET /v1/orgs/{orgId}/activity uses), plus restore events and comment-thread activity — both excluded from the org-wide feed's narrower allowlist. The synthetic grouped dashboard-view digest rows ("view.group", DVT-1419) are intentionally excluded here; they remain org-feed-only.

No MCP tool derives from this endpoint (ADR-0007) — agents use dvt_revisions / dvt_restore / dvt_dashboard_diffs instead.

get/v1/dashboards/{id}/activity

Request

  • Base URL: http://localhost:8080
  • URL: http://localhost:8080/v1/dashboards/{id}/activity
  • Auth: one of:
    • API key in cookie dvt_session
    • HTTP bearer

Query parameters

limitinteger

Page size. Default 30. An integer outside [1, 100] (or a non-integer) is rejected with 400.

cursorstring

Opaque keyset cursor from a prior response's meta.nextCursor. Omit to start from the first page. A malformed cursor is rejected with 400.

Response

A page of this dashboard's activity events, newest first.

Example response

{
  "data": [
    {
      "action": "dashboard.update",
      "resourceType": "dashboard"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.