How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

PostHog dashboards API

The dashboards API from PostHog — 40 operation(s) for dashboards.

PostHog dashboards API is one of 139 APIs that PostHog publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Dashboards. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a getting-started guide, authentication docs, and an AsyncAPI specification.

This API exposes 58 operations across 40 paths, and defines 27 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://app.posthog.com/api.

58 operations 40 paths 27 schemas 8 DELETE16 GET6 PATCH24 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://app.posthog.com/api
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

PostHog dashboards API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (PersonalAPIKeyAuth).

Paths & Operations 58

Across 40 paths, the API surfaces 58 operations — 8 DELETE, 16 GET, 6 PATCH, 24 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

dashboards 58
GET
/api/environments/{environment_id}/dashboards/deprecated
environments_dashboards_list 4 params → 200
POST
/api/environments/{environment_id}/dashboards/deprecated
environments_dashboards_create 2 params body → 201
GET
/api/environments/{environment_id}/dashboards/{dashboard_id}/collaborators/deprecated
environments_dashboards_collaborators_list 2 params → 200
POST
/api/environments/{environment_id}/dashboards/{dashboard_id}/collaborators/deprecated
environments_dashboards_collaborators_create 2 params body → 201
DELETE
/api/environments/{environment_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/deprecated
environments_dashboards_collaborators_destroy 3 params → 204
GET
/api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/deprecated
environments_dashboards_sharing_list 2 params → 200
POST
/api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/passwords/deprecated
Create a new password for the sharing configuration.
environments_dashboards_sharing_passwords_create 2 params body → 200
DELETE
/api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/deprecated
Delete a password from the sharing configuration.
environments_dashboards_sharing_passwords_destroy 3 params → 204
POST
/api/environments/{environment_id}/dashboards/{dashboard_id}/sharing/refresh/deprecated
environments_dashboards_sharing_refresh_create 2 params body → 200
GET
/api/environments/{environment_id}/dashboards/{id}/deprecated
environments_dashboards_retrieve 5 params → 200
PUT
/api/environments/{environment_id}/dashboards/{id}/deprecated
environments_dashboards_update 3 params body → 200
PATCH
/api/environments/{environment_id}/dashboards/{id}/deprecated
environments_dashboards_partial_update 3 params body → 200
DELETE
/api/environments/{environment_id}/dashboards/{id}/deprecated
Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
environments_dashboards_destroy 3 params → 405
POST
/api/environments/{environment_id}/dashboards/{id}/analyze_refresh_result/deprecated
Generate AI analysis comparing before/after dashboard refresh. Expects cachekey in request body pointing to the stored 'before' state.
environments_dashboards_analyze_refresh_result_create 3 params body → 200
POST
/api/environments/{environment_id}/dashboards/{id}/copy_tile/deprecated
Copy an existing dashboard tile to another dashboard (insight or text card; new tile row).
environments_dashboards_copy_tile_create 3 params body → 200
PATCH
/api/environments/{environment_id}/dashboards/{id}/move_tile/deprecated
environments_dashboards_move_tile_partial_update 3 params body → 200
POST
/api/environments/{environment_id}/dashboards/{id}/reorder_tiles/deprecated
environments_dashboards_reorder_tiles_create 3 params body → 200
GET
/api/environments/{environment_id}/dashboards/{id}/run_insights/deprecated
Run all insights on a dashboard and return their results.
environments_dashboards_run_insights_retrieve 7 params → 200
POST
/api/environments/{environment_id}/dashboards/{id}/snapshot/deprecated
Snapshot the current dashboard state (from cache) for AI analysis. Returns a cachekey representing the 'before' state, to be used with analyzerefreshresult.
environments_dashboards_snapshot_create 3 params body → 200
GET
/api/environments/{environment_id}/dashboards/{id}/stream_tiles/deprecated
Stream dashboard metadata and tiles via Server-Sent Events. Sends metadata first, then tiles as they are rendered.
environments_dashboards_stream_tiles_retrieve 6 params → 200
POST
/api/environments/{environment_id}/dashboards/bulk_update_tags/deprecated
Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove…
environments_dashboards_bulk_update_tags_create 2 params body → 200
POST
/api/environments/{environment_id}/dashboards/create_from_template_json/deprecated
environments_dashboards_create_from_template_json_create 2 params body → 200
POST
/api/environments/{environment_id}/dashboards/create_unlisted_dashboard/deprecated
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.
environments_dashboards_create_unlisted_dashboard_create 2 params body → 200
GET
/api/environments/{environment_id}/data_color_themes/deprecated
environments_data_color_themes_list 3 params → 200
POST
/api/environments/{environment_id}/data_color_themes/deprecated
environments_data_color_themes_create 1 param body → 201
GET
/api/environments/{environment_id}/data_color_themes/{id}/deprecated
environments_data_color_themes_retrieve 2 params → 200
PUT
/api/environments/{environment_id}/data_color_themes/{id}/deprecated
environments_data_color_themes_update 2 params body → 200
PATCH
/api/environments/{environment_id}/data_color_themes/{id}/deprecated
environments_data_color_themes_partial_update 2 params body → 200
DELETE
/api/environments/{environment_id}/data_color_themes/{id}/deprecated
environments_data_color_themes_destroy 2 params → 204
GET
/api/projects/{project_id}/dashboards/
dashboards_list 4 params → 200
POST
/api/projects/{project_id}/dashboards/
dashboards_create 2 params body → 201
GET
/api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/
dashboards_collaborators_list 2 params → 200
POST
/api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/
dashboards_collaborators_create 2 params body → 201
DELETE
/api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/
dashboards_collaborators_destroy 3 params → 204
GET
/api/projects/{project_id}/dashboards/{dashboard_id}/sharing/
dashboards_sharing_list 2 params → 200
POST
/api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/
Create a new password for the sharing configuration.
dashboards_sharing_passwords_create 2 params body → 200
DELETE
/api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/
Delete a password from the sharing configuration.
dashboards_sharing_passwords_destroy 3 params → 204
POST
/api/projects/{project_id}/dashboards/{dashboard_id}/sharing/refresh/
dashboards_sharing_refresh_create 2 params body → 200
GET
/api/projects/{project_id}/dashboards/{id}/
dashboards_retrieve 5 params → 200
PUT
/api/projects/{project_id}/dashboards/{id}/
dashboards_update 3 params body → 200
PATCH
/api/projects/{project_id}/dashboards/{id}/
dashboards_partial_update 3 params body → 200
DELETE
/api/projects/{project_id}/dashboards/{id}/
Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
dashboards_destroy 3 params → 405
POST
/api/projects/{project_id}/dashboards/{id}/analyze_refresh_result/
Generate AI analysis comparing before/after dashboard refresh. Expects cachekey in request body pointing to the stored 'before' state.
dashboards_analyze_refresh_result_create 3 params body → 200
POST
/api/projects/{project_id}/dashboards/{id}/copy_tile/
Copy an existing dashboard tile to another dashboard (insight or text card; new tile row).
dashboards_copy_tile_create 3 params body → 200
PATCH
/api/projects/{project_id}/dashboards/{id}/move_tile/
dashboards_move_tile_partial_update 3 params body → 200
POST
/api/projects/{project_id}/dashboards/{id}/reorder_tiles/
dashboards_reorder_tiles_create 3 params body → 200
GET
/api/projects/{project_id}/dashboards/{id}/run_insights/
Run all insights on a dashboard and return their results.
dashboards_run_insights_retrieve 7 params → 200
POST
/api/projects/{project_id}/dashboards/{id}/snapshot/
Snapshot the current dashboard state (from cache) for AI analysis. Returns a cachekey representing the 'before' state, to be used with analyzerefreshresult.
dashboards_snapshot_create 3 params body → 200
GET
/api/projects/{project_id}/dashboards/{id}/stream_tiles/
Stream dashboard metadata and tiles via Server-Sent Events. Sends metadata first, then tiles as they are rendered.
dashboards_stream_tiles_retrieve 6 params → 200
POST
/api/projects/{project_id}/dashboards/bulk_update_tags/
Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove…
dashboards_bulk_update_tags_create 2 params body → 200
POST
/api/projects/{project_id}/dashboards/create_from_template_json/
dashboards_create_from_template_json_create 2 params body → 200
POST
/api/projects/{project_id}/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.
dashboards_create_unlisted_dashboard_create 2 params body → 200
GET
/api/projects/{project_id}/data_color_themes/
data_color_themes_list 3 params → 200
POST
/api/projects/{project_id}/data_color_themes/
data_color_themes_create 1 param body → 201
GET
/api/projects/{project_id}/data_color_themes/{id}/
data_color_themes_retrieve 2 params → 200
PUT
/api/projects/{project_id}/data_color_themes/{id}/
data_color_themes_update 2 params body → 200
PATCH
/api/projects/{project_id}/data_color_themes/{id}/
data_color_themes_partial_update 2 params body → 200
DELETE
/api/projects/{project_id}/data_color_themes/{id}/
data_color_themes_destroy 2 params → 204

Schemas 27

The contract defines 27 schemas that model the data the API accepts and returns. The most detailed are Dashboard (31 properties), PatchedDashboard (31 properties), DashboardBasic (19 properties), UserBasic (9 properties). Each schema is shown below with its type and property counts.

NullEnum
DashboardCollaborator
object
7 properties 7 required
RunInsightsResponse
object
1 property 1 required
BulkUpdateTagsResponse
object
2 properties 2 required
BulkUpdateTagsError
object
2 properties 2 required
DataColorTheme
object
6 properties 5 required
PaginatedDashboardBasicList
object
4 properties 2 required
ActionEnum
string
add - add remove - remove set - set
Dashboard
object
Serializer mixin that handles tags for objects.
31 properties 16 required
BulkUpdateTagsRequest
object
3 properties 3 required
CopyDashboardTileRequest
object
2 properties 2 required
RestrictionLevelEnum
integer
21 - Everyone in the project can edit 37 - Only those invited to this dashboard can edit
SharePassword
object
5 properties 4 required
PatchedDashboard
object
Serializer mixin that handles tags for objects.
31 properties
PatchedDataColorTheme
object
6 properties
SharingConfiguration
object
6 properties 3 required
InsightResult
object
InsightSerializer restricted to identifiers + result only.
5 properties 5 required
DashboardBasic
object
Serializer mixin that handles tags for objects.
19 properties 18 required
PaginatedDataColorThemeList
object
4 properties 2 required
BulkUpdateTagsItem
object
2 properties 2 required
ReorderTilesRequest
object
1 property 1 required
UserBasic
object
9 properties 4 required
CreationModeEnum
string
default - Default template - Template duplicate - Duplicate unlisted - Unlisted (product-embedded)
BlankEnum
RoleAtOrganizationEnum
string
engineering - Engineering data - Data product - Product Management founder - Founder leadership - Leadership marketing - Marketing sales - Sales / Success othe…
DashboardTileResult
object
DashboardTileSerializer restricted to tile id + insight result fields.
2 properties 1 required
EffectivePrivilegeLevelEnum
integer

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

posthog-dashboards-api-openapi.yml Raw ↑

Other APIs PostHog publishes across the network.

PostHog Capture API
PostHog Query API
PostHog Persons API
PostHog Feature Flags API
PostHog Experiments API
PostHog Insights API
PostHog Cohorts API
PostHog Annotations API
PostHog actions API
PostHog activity_log API
PostHog activity_logs API
PostHog advanced_activity_logs API
Where this information came from

This is an independent, third-party profile of PostHog dashboards API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.