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
PATCH
POST
GET
POST
POST
GET
POST
GET

List all environments dashboards

Required API key scopes

dashboard:read

Path parameters

  • environment_id
    string

Query parameters

  • format
    string
    One of: "json""txt"
  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/environments/:environment_id/dashboards
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": 0,
"name": "string",
"description": "string",
"pinned": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"last_accessed_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z",
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"tags": [
null
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string",
"access_control_version": "string",
"last_refresh": "2019-08-24T14:15:22Z",
"team_id": 0
}
]
}

Create environments dashboards

Required API key scopes

dashboard:write

Path parameters

  • environment_id
    string

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Response


Example request

POST /api/environments/:environment_id/dashboards
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/\
-d name="string"

Example response

Status 201
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"pinned": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"last_accessed_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z",
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"breakdown_colors": null,
"data_color_theme_id": 0,
"tags": [
null
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string",
"access_control_version": "string",
"last_refresh": "2019-08-24T14:15:22Z",
"persisted_filters": {
"property1": null,
"property2": null
},
"persisted_variables": {
"property1": null,
"property2": null
},
"team_id": 0,
"tiles": [
{
"property1": null,
"property2": null
}
],
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"_create_in_folder": "string"
}

List all environments dashboards sharing

Required API key scopes

sharing_configuration:read

Path parameters

  • dashboard_id
    integer
  • environment_id
    string

Example request

GET /api/environments/:environment_id/dashboards/:dashboard_id/sharing
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:dashboard_id/sharing/

Example response

Status 200
RESPONSE
{
"created_at": "2019-08-24T14:15:22Z",
"enabled": true,
"access_token": "string",
"settings": null,
"password_required": true,
"share_passwords": "string"
}

Create environments dashboards sharing passwords

Create a new password for the sharing configuration.

Required API key scopes

sharing_configuration:write

Path parameters

  • dashboard_id
    integer
  • environment_id
    string

Request parameters

  • enabled
    boolean
  • settings
  • password_required
    boolean

Response


Example request

POST /api/environments/:environment_id/dashboards/:dashboard_id/sharing/passwords
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:dashboard_id/sharing/passwords/\
-d created_at="string"

Example response

Status 200
RESPONSE
{
"created_at": "2019-08-24T14:15:22Z",
"enabled": true,
"access_token": "string",
"settings": null,
"password_required": true,
"share_passwords": "string"
}

Delete environments dashboards sharing passwords

Delete a password from the sharing configuration.

Required API key scopes

sharing_configuration:write

Path parameters

  • dashboard_id
    integer
  • environment_id
    string
  • password_id
    string

Example request

DELETE /api/environments/:environment_id/dashboards/:dashboard_id/sharing/passwords/:password_id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:dashboard_id/sharing/passwords/:password_id/

Example response

Status 204 No response body

Create environments dashboards sharing refresh

Required API key scopes

sharing_configuration:write

Path parameters

  • dashboard_id
    integer
  • environment_id
    string

Request parameters

  • enabled
    boolean
  • settings
  • password_required
    boolean

Response


Example request

POST /api/environments/:environment_id/dashboards/:dashboard_id/sharing/refresh
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:dashboard_id/sharing/refresh/\
-d created_at="string"

Example response

Status 200
RESPONSE
{
"created_at": "2019-08-24T14:15:22Z",
"enabled": true,
"access_token": "string",
"settings": null,
"password_required": true,
"share_passwords": "string"
}

Retrieve environments dashboards

Required API key scopes

dashboard:read

Path parameters

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Response


Example request

GET /api/environments/:environment_id/dashboards/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/

Example response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"pinned": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"last_accessed_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z",
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"breakdown_colors": null,
"data_color_theme_id": 0,
"tags": [
null
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string",
"access_control_version": "string",
"last_refresh": "2019-08-24T14:15:22Z",
"persisted_filters": {
"property1": null,
"property2": null
},
"persisted_variables": {
"property1": null,
"property2": null
},
"team_id": 0,
"tiles": [
{
"property1": null,
"property2": null
}
],
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"_create_in_folder": "string"
}

Update environments dashboards

Required API key scopes

dashboard:write

Path parameters

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Response


Example request

PATCH /api/environments/:environment_id/dashboards/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/\
-d name="string"

Example response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"description": "string",
"pinned": true,
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
},
"last_accessed_at": "2019-08-24T14:15:22Z",
"last_viewed_at": "2019-08-24T14:15:22Z",
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"breakdown_colors": null,
"data_color_theme_id": 0,
"tags": [
null
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string",
"access_control_version": "string",
"last_refresh": "2019-08-24T14:15:22Z",
"persisted_filters": {
"property1": null,
"property2": null
},
"persisted_variables": {
"property1": null,
"property2": null
},
"team_id": 0,
"tiles": [
{
"property1": null,
"property2": null
}
],
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"_create_in_folder": "string"
}

Delete environments dashboards

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

Required API key scopes

dashboard:write

Path parameters

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Example request

DELETE /api/environments/:environment_id/dashboards/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/

Example 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

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Example request

POST /api/environments/:environment_id/dashboards/:id/analyze_refresh_result
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/analyze_refresh_result/\
-d name="string"

Example response

Status 200 No response body

Update environments dashboards move tile

Path parameters

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Example request

PATCH /api/environments/:environment_id/dashboards/:id/move_tile
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/move_tile/\
-d name="string"

Example response

Status 200 No response body

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

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Example request

POST /api/environments/:environment_id/dashboards/:id/snapshot
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/snapshot/\
-d name="string"

Example 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

  • environment_id
    string
  • id
    integer

Query parameters

  • format
    string
    One of: "json""txt"

Example request

GET /api/environments/:environment_id/dashboards/:id/stream_tiles
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/:id/stream_tiles/

Example response

Status 200 No response body

Create environments dashboards create from template json

Path parameters

  • environment_id
    string

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Example request

POST /api/environments/:environment_id/dashboards/create_from_template_json
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/create_from_template_json/\
-d name="string"

Example 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.

Path parameters

  • environment_id
    string

Query parameters

  • format
    string
    One of: "json""txt"

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • last_accessed_at
    string
  • deleted
    boolean
  • breakdown_colors
  • data_color_theme_id
    integer
  • tags
    array
  • restriction_level
  • last_refresh
    string
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
    Default: false
  • _create_in_folder
    string

Example request

POST /api/environments/:environment_id/dashboards/create_unlisted_dashboard
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/dashboards/create_unlisted_dashboard/\
-d name="string"

Example response

Status 200 No response body

List all environments data color themes

Required API key scopes

project:read

Path parameters

  • environment_id
    string

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/environments/:environment_id/data_color_themes
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/data_color_themes/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": 0,
"name": "string",
"colors": null,
"is_global": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
}
}
]
}

Create environments data color themes

Required API key scopes

project:write

Path parameters

  • environment_id
    string

Request parameters

  • name
    string
  • colors

Response


Example request

POST /api/environments/:environment_id/data_color_themes
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/data_color_themes/\
-d name="string"

Example response

Status 201
RESPONSE
{
"id": 0,
"name": "string",
"colors": null,
"is_global": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
}
}

Retrieve environments data color themes

Required API key scopes

project:read

Path parameters

  • environment_id
    string
  • id
    integer

Response


Example request

GET /api/environments/:environment_id/data_color_themes/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/data_color_themes/:id/

Example response

Status 200
RESPONSE
{
"id": 0,
"name": "string",
"colors": null,
"is_global": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {
"property1": null,
"property2": null
},
"role_at_organization": "engineering"
}
}
Next page →

Community questions

Questions about this page? or post a community question.