Core
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 | |
PATCH | |
POST | |
GET | |
POST | |
GET | |
POST | |
POST | |
POST |
List all environments dashboards
Also available via the PostHog MCP server:
dashboards-get-all— Get all dashboards
Required API key scopes
dashboard:readQuery parameters
- formatstringOne of:
"json""txt" - limitinteger
- offsetinteger
- searchstring
Response
Example request
GET /api /environments /:environment_id /dashboardsExample response
Status 200
Create environments dashboards
Also available via the PostHog MCP server:
dashboard-create— Create dashboard
Required API key scopes
dashboard:writeQuery parameters
- formatstringOne of:
"json""txt"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Response
Example request
POST /api /environments /:environment_id /dashboardsExample response
Status 201
List all environments dashboards sharing
Required API key scopes
sharing_configuration:readPath parameters
- dashboard_idinteger
Example request
GET /api /environments /:environment_id /dashboards /:dashboard_id /sharingExample response
Status 200
Create environments 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 /environments /:environment_id /dashboards /:dashboard_id /sharing /passwordsExample response
Status 200
Delete environments 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 /environments /:environment_id /dashboards /:dashboard_id /sharing /passwords /:password_idExample response
Status 204 No response body
Create environments dashboards sharing refresh
Required API key scopes
sharing_configuration:writePath parameters
- dashboard_idinteger
Request parameters
- enabledboolean
- settings
- password_requiredboolean
Response
Example request
POST /api /environments /:environment_id /dashboards /:dashboard_id /sharing /refreshExample response
Status 200
Retrieve environments 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" - variables_overridestring
Response
Example request
GET /api /environments /:environment_id /dashboards /:idExample response
Status 200
Update environments 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"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Response
Example request
PATCH /api /environments /:environment_id /dashboards /:idExample response
Status 200
Delete environments 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 /environments /:environment_id /dashboards /:idExample response
Status 405 No response body
Create environments dashboards analyze refresh result
Generate AI analysis comparing before/after dashboard refresh. Expects cache_key in request body pointing to the stored 'before' state.
Path parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Example request
POST /api /environments /:environment_id /dashboards /:id /analyze_refresh_resultExample response
Status 200 No response body
Create environments dashboards copy tile
Copy an existing dashboard tile to another dashboard (insight or text card; new tile row).
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- fromDashboardIdinteger
- tileIdinteger
Response
Example request
POST /api /environments /:environment_id /dashboards /:id /copy_tileExample response
Status 200
Update environments dashboards move tile
Path parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Example request
PATCH /api /environments /:environment_id /dashboards /:id /move_tileExample response
Status 200 No response body
Create environments dashboards reorder tiles
Required API key scopes
dashboard:writePath parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- tile_orderarray
Response
Example request
POST /api /environments /:environment_id /dashboards /:id /reorder_tilesExample response
Status 200
Retrieve environments 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" - output_formatstringOne of:
"json""optimized" - refreshstringOne of:
"blocking""force_blocking""force_cache" - variables_overridestring
Response
Example request
GET /api /environments /:environment_id /dashboards /:id /run_insightsExample response
Status 200
Create environments dashboards snapshot
Snapshot the current dashboard state (from cache) for AI analysis. Returns a cache_key representing the 'before' state, to be used with analyze_refresh_result.
Path parameters
- idinteger
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Example request
POST /api /environments /:environment_id /dashboards /:id /snapshotExample response
Status 200 No response body
Retrieve environments dashboards stream tiles
Stream dashboard metadata and tiles via Server-Sent Events. Sends metadata first, then tiles as they are rendered.
Path parameters
- idinteger
Query parameters
- filters_overridestring
- formatstringOne of:
"json""txt" - layoutSizestringOne of:
"sm""xs" - variables_overridestring
Example request
GET /api /environments /:environment_id /dashboards /:id /stream_tilesExample response
Status 200 No response body
Create environments dashboards bulk update tags
Bulk update tags on multiple objects.
PAT access: this action has no required_scopes= on the decorator —
inheriting viewsets must add "bulk_update_tags" to their
scope_object_write_actions list to accept personal API keys.
Without that opt-in, APIScopePermission rejects PAT requests with
"This action does not support personal API key access". Done per-viewset
so granting <scope>:write for one resource doesn't leak access to
sibling resources that share this mixin.
Accepts:
- {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]}
Actions:
- "add": Add tags to existing tags on each object
- "remove": Remove specific tags from each object
- "set": Replace all tags on each object with the provided list
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- idsarray
- action
- tagsarray
Response
Example request
POST /api /environments /:environment_id /dashboards /bulk_update_tagsExample response
Status 200
Create environments dashboards create from template json
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Example request
POST /api /environments /:environment_id /dashboards /create_from_template_jsonExample response
Status 200 No response body
Create environments dashboards create unlisted dashboard
Creates an unlisted dashboard from template by tag. Enforces uniqueness (one per tag per team). Returns 409 if unlisted dashboard with this tag already exists.
Query parameters
- formatstringOne of:
"json""txt"
Request parameters
- namestringnull
- descriptionstring
- pinnedboolean
- last_accessed_atstringnull
- deletedboolean
- breakdown_colors
- data_color_theme_idintegernull
- tagsarray
- restriction_level
- last_refreshstringnull
- quick_filter_idsarraynull
- use_templatestring
- use_dashboardintegernull
- delete_insightsbooleanDefault:
false - _create_in_folderstring
Example request
POST /api /environments /:environment_id /dashboards /create_unlisted_dashboard