Dashboards
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
POST | |
GET | |
POST | |
DELETE | |
POST | |
GET | |
PATCH | |
DELETE | |
POST | |
POST | |
POST | |
POST | |
POST | |
POST | |
PATCH | |
POST | |
GET | |
GET |
List all dashboards
Also available via the PostHog MCP server:
dashboards-get-all— Get all dashboards
Required API key scopes
dashboard:readQuery parameters
- created_bystring
- exclude_generatedboolean
- folderstring
- formatstringOne of:
"json""txt" - limitinteger
- offsetinteger
- orderingstringOne of:
"-last_viewed_at" - pinnedboolean
- searchstring
Response
Example request
GET /api /projects /:project_id /dashboardsExample response
Status 200
Create dashboards
Also available via the PostHog MCP server:
dashboard-create— Create dashboard
Required API key scopes
dashboard:writeQuery parameters
- formatstringOne of:
"json""txt" - include_dashboardsboolean
Request parameters
- namestring | null
- descriptionstring
- pinnedboolean
- deletedboolean
- breakdown_colorsarray | null
- data_color_theme_idinteger | null
- tagsarray
- last_refreshstring | null
- quick_filter_idsarray | null
- grid_spacing
- layout_compaction
- group_display
- groupsobject | null
- group_titlesobject | null
- use_templatestring
- use_dashboardinteger | null
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Response
Example request
POST /api /projects /:project_id /dashboardsExample response
Status 201
List all dashboards sharing
Required API key scopes
sharing_configuration:readPath parameters
- dashboard_idinteger
Example request
GET /api /projects /:project_id /dashboards /:dashboard_id /sharingExample response
Status 200
Create dashboards sharing passwords
Create a new password for the sharing configuration.
Required API key scopes
sharing_configuration:writePath parameters
- dashboard_idinteger
Request parameters
- enabledboolean
- settings
- password_requiredboolean
Response
Example request
POST /api /projects /:project_id /dashboards /:dashboard_id /sharing /passwordsExample response
Status 200
Delete dashboards sharing passwords
Delete a password from the sharing configuration.
Required API key scopes
sharing_configuration:writePath parameters
- dashboard_idinteger
- password_idstring
Example request
DELETE /api /projects /:project_id /dashboards /:dashboard_id /sharing /passwords /:password_idExample response
Status 204 No response body
Create dashboards sharing refresh
Required API key scopes
sharing_configuration:writePath parameters
- dashboard_idinteger
Request parameters
- enabledboolean
- settings
- password_requiredboolean
Response
Example request
POST /api /projects /:project_id /dashboards /:dashboard_id /sharing /refreshExample response
Status 200
Retrieve dashboards
Also available via the PostHog MCP server:
dashboard-get— Get dashboard
Required API key scopes
dashboard:readPath parameters
- idinteger
Query parameters
- filters_overridestring
- formatstringOne of:
"json""txt" - include_dashboardsboolean
- variables_overridestring
Response
Example request
GET /api /projects /:project_id /dashboards /:idExample response
Status 200
Update dashboards
Also available via the PostHog MCP server:
dashboard-update— Update dashboard
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt" - include_dashboardsboolean
Request parameters
- namestring | null
- descriptionstring
- pinnedboolean
- filters
- breakdown_colorsarray | null
- data_color_theme_idinteger | null
- tagsarray
- quick_filter_idsarray | null
- grid_spacing
- layout_compaction
- group_display
- groupsobject | null
- group_titlesobject | null
- tilesarray
- use_templatestring
- use_dashboardinteger | null
- delete_insightsbooleanDefault:
false
Response
Example request
PATCH /api /projects /:project_id /dashboards /:idExample response
Status 200
Delete dashboards
Also available via the PostHog MCP server:
dashboard-delete— Delete dashboard
Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Example request
DELETE /api /projects /:project_id /dashboards /:idExample response
Status 405 No response body
Create dashboards add insight
Place an existing insight on this dashboard as a new tile. Requires edit access to the dashboard and view access to the insight. Returns the tile. Adding an insight the dashboard already shows returns its tile unchanged, and adding one that was removed from the dashboard restores its tile with its old layout. To take an insight off a dashboard, use delete_tile.
Required API key scopes
dashboard:writeinsight:readPath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- insight_idinteger
Response
Example request
POST /api /projects /:project_id /dashboards /:id /add_insightExample response
Status 200
Create dashboards copy group
Copy a group of tiles and its settings to another dashboard.
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- fromDashboardIdinteger
- groupKeystring
Response
Example request
POST /api /projects /:project_id /dashboards /:id /copy_groupExample response
Status 200
Create dashboards copy tile
Copy an existing dashboard tile to another dashboard (insight, text card, or widget tile).
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- fromDashboardIdinteger
- tileIdinteger
Response
Example request
POST /api /projects /:project_id /dashboards /:id /copy_tileExample response
Status 200
Create dashboards create text tile
Add a markdown text tile to a dashboard.
Text tiles render as markdown blocks on the dashboard — useful as section headings, dividers, or annotations between insight tiles to give the dashboard structure.
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- typeDefault:
text - bodystring
- agent_contextstring | null
- layouts
- colorstring | null
Response
Example request
POST /api /projects /:project_id /dashboards /:id /create_text_tileExample response
Status 201
Create dashboards delete
Soft-delete a single tile from a dashboard.
Works for text, insight, and button tiles. The underlying Insight, Text, or ButtonTile object is preserved — only the dashboard tile is hidden. To delete the entire dashboard, use the dashboard delete endpoint instead.
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- tile_idinteger
Example request
POST /api /projects /:project_id /dashboards /:id /delete_tileExample response
Status 204 No response body
Create dashboards move tile
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- to_dashboardinteger
- tile
Response
Example request
POST /api /projects /:project_id /dashboards /:id /move_tileExample response
Status 200
Update dashboards move tile
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- to_dashboardinteger
- tile
Response
Example request
PATCH /api /projects /:project_id /dashboards /:id /move_tileExample response
Status 200
Create dashboards reorder tiles
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- tile_orderarray
- layoutDefault:
preserve
Response
Example request
POST /api /projects /:project_id /dashboards /:id /reorder_tilesExample response
Status 200
Retrieve dashboards run insights
Run all insights on a dashboard and return their results.
Required API key scopes
query:readPath parameters
- idinteger
Query parameters
- filters_overridestring
- formatstringOne of:
"json""txt" - max_result_charsinteger
- output_formatstringOne of:
"json""optimized" - refreshstringOne of:
"blocking""force_blocking""force_cache" - tile_idsstring
- variables_overridestring
Response
Example request
GET /api /projects /:project_id /dashboards /:id /run_insightsExample response
Status 200
Retrieve dashboards run widgets
Required API key scopes
dashboard:readPath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt" - tile_idsstring
Response
Example request
GET /api /projects /:project_id /dashboards /:id /run_widgets




