Dashboards

For instructions on how to authenticate to use this endpoint, see API overview.

Adds an "access_controls" action to the viewset that handles access control for the given resource

Why a mixin? We want to easily add this to any existing resource, including providing easy helpers for adding access control info such as the current users access level to any response.

List all dashboards

Required API key scopes

dashboard:read

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Query parameters

  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    The initial index from which to return the results.

Response


Request

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

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
}
},
"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"
}
]
}

Create dashboards

Required API key scopes

dashboard:write

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • deleted
    boolean
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
  • tags
    array
  • restriction_level

Response


Request

POST /api/projects/:project_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/projects/:project_id/dashboards/\
-d name="string"

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
}
},
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"tags": [
null
],
"tiles": [
{
"property1": null,
"property2": null
}
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string"
}

List all dashboards collaborators

Required API key scopes

dashboard:read

Path parameters

  • dashboard_id
    integer
  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request

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

Response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"dashboard_id": 0,
"user": {
"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
}
},
"level": 21,
"added_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"user_uuid": "7c4d2d7d-8620-4fb3-967a-4a621082cf1f"
}

Create dashboards collaborators

Required API key scopes

dashboard:write

Path parameters

  • dashboard_id
    integer
  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request parameters

  • level
  • user_uuid
    string

Response


Request

POST /api/projects/:project_id/dashboards/:dashboard_id/collaborators
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/projects/:project_id/dashboards/:dashboard_id/collaborators/\
-d level=undefined,\
-d user_uuid="string"

Response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"dashboard_id": 0,
"user": {
"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
}
},
"level": 21,
"added_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"user_uuid": "7c4d2d7d-8620-4fb3-967a-4a621082cf1f"
}

Delete dashboards collaborators

Required API key scopes

dashboard:write

Path parameters

  • dashboard_id
    integer
  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

  • user__uuid
    string

Request

DELETE /api/projects/:project_id/dashboards/:dashboard_id/collaborators/:user__uuid
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X DELETE \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/dashboards/:dashboard_id/collaborators/:user__uuid/

Response

Status 204 No response body

List all dashboards sharing

Required API key scopes

sharing_configuration:read

Path parameters

  • dashboard_id
    integer
  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request

GET /api/projects/:project_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/projects/:project_id/dashboards/:dashboard_id/sharing/

Response

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

Retrieve dashboards

Required API key scopes

dashboard:read

Path parameters

  • id
    integer

    A unique integer value identifying this dashboard.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Response


Request

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

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
}
},
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"tags": [
null
],
"tiles": [
{
"property1": null,
"property2": null
}
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string"
}

Update dashboards

Required API key scopes

dashboard:write

Path parameters

  • id
    integer

    A unique integer value identifying this dashboard.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • deleted
    boolean
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
  • tags
    array
  • restriction_level

Response


Request

PATCH /api/projects/:project_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/projects/:project_id/dashboards/:id/\
-d name="string"

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
}
},
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"tags": [
null
],
"tiles": [
{
"property1": null,
"property2": null
}
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string"
}

Delete 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

  • id
    integer

    A unique integer value identifying this dashboard.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request

DELETE /api/projects/:project_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/projects/:project_id/dashboards/:id/

Response

Status 405 No response body

Retrieve dashboards access controls

Path parameters

  • id
    integer

    A unique integer value identifying this dashboard.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Response


Request

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

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
}
},
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"tags": [
null
],
"tiles": [
{
"property1": null,
"property2": null
}
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string"
}

Retrieve dashboards global access controls

Path parameters

  • id
    integer

    A unique integer value identifying this dashboard.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Response


Request

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

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
}
},
"is_shared": true,
"deleted": true,
"creation_mode": "default",
"use_template": "string",
"use_dashboard": 0,
"delete_insights": false,
"filters": {
"property1": null,
"property2": null
},
"variables": {
"property1": null,
"property2": null
},
"tags": [
null
],
"tiles": [
{
"property1": null,
"property2": null
}
],
"restriction_level": 21,
"effective_restriction_level": 21,
"effective_privilege_level": 21,
"user_access_level": "string"
}

Update dashboards move tile

Path parameters

  • id
    integer

    A unique integer value identifying this dashboard.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • deleted
    boolean
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
  • tags
    array
  • restriction_level

Request

PATCH /api/projects/:project_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/projects/:project_id/dashboards/:id/move_tile/\
-d name="string"

Response

Status 200 No response body

Create dashboards create from template json

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Request parameters

  • name
    string
  • description
    string
  • pinned
    boolean
  • deleted
    boolean
  • use_template
    string
  • use_dashboard
    integer
  • delete_insights
    boolean
  • tags
    array
  • restriction_level

Request

POST /api/projects/:project_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/projects/:project_id/dashboards/create_from_template_json/\
-d name="string"

Response

Status 200 No response body

Questions?

Was this page useful?