api reference

Dashboards

Dashboard CRUD, publish/discard, layout, and public sharing links.

GET/api/dashboards

List dashboards visible to the current user (slim — no widgets). Excludes archived unless ?include_archived=true.

ParamTypeRequiredDescription
qstringNoFull-text search over dashboard name.
tags[]string (repeated)NoFilter to dashboards containing all of the given tags.
filterstringNo"all" (default), "by-me", or "shared-with-me".
include_archivedbooleanNoInclude archived dashboards. Defaults to false.

Response

[
  {
    "id": 9,
    "slug": "weekly-growth",
    "name": "Weekly Growth",
    "visibility": "org",
    "is_archived": false,
    "published": true,
    "has_unpublished_changes": false,
    "tags": ["growth"],
    "is_favorite": true,
    "caller": { "can_edit": true }
  }
]

GET/api/dashboards/{slug}

Fetch a dashboard by slug, with its widgets. Serves the published snapshot to everyone except an editor who explicitly asks for ?draft=true — there is no client-trusted path to draft content otherwise.

ParamTypeRequiredDescription
draftbooleanNoRequest the live draft graph instead of the published snapshot. Only honored for a caller who can edit.

Response

{
  "id": 9,
  "slug": "weekly-growth",
  "name": "Weekly Growth",
  "visibility": "org",
  "layout": { "...": "..." },
  "published": true,
  "has_unpublished_changes": false,
  "tags": ["growth"],
  "widgets": [
    { "id": 200, "dashboard_id": 9, "visualization_id": 71, "width": 2, "visualization": { "...": "..." } }
  ],
  "caller": { "can_edit": true, "can_share": true }
}

POST/api/dashboards/{slug}/publish

Overwrite the published snapshot with the current draft. Same call for first publish and subsequent "publish changes".

POST/api/dashboards/{slug}/share

Generate (or return the existing) public secret-token link for this dashboard. Idempotent — call PUT on the same path to rotate/invalidate the existing token instead.

Response

{ "secret_token": "a1b2c3d4...", "public_url": "https://acme.arcodash.com/public/dashboards/a1b2c3d4..." }