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.
Endpoints
List all dashboards
Required API key scopes
dashboard:read
Path parameters
- project_idstring
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
- limitinteger
Number of results to return per page.
- offsetinteger
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
{"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"},"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"}]}
Create dashboards
Required API key scopes
dashboard:write
Path parameters
- project_idstring
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
- namestring
- descriptionstring
- pinnedboolean
- deletedboolean
- use_templatestring
- use_dashboardinteger
- delete_insightsboolean
- tagsarray
- 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
{"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"},"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","access_control_version": "string"}
List all dashboards collaborators
Required API key scopes
dashboard:read
Path parameters
- dashboard_idinteger
- project_idstring
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
{"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},"role_at_organization": "engineering"},"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_idinteger
- project_idstring
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_uuidstring
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
{"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},"role_at_organization": "engineering"},"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_idinteger
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
- user__uuidstring
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_idinteger
- project_idstring
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
{"created_at": "2019-08-24T14:15:22Z","enabled": true,"access_token": "string"}
Retrieve dashboards
Required API key scopes
dashboard:read
Path parameters
- idinteger
A unique integer value identifying this dashboard.
- project_idstring
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
{"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"},"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","access_control_version": "string"}
Update dashboards
Required API key scopes
dashboard:write
Path parameters
- idinteger
A unique integer value identifying this dashboard.
- project_idstring
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
- namestring
- descriptionstring
- pinnedboolean
- deletedboolean
- use_templatestring
- use_dashboardinteger
- delete_insightsboolean
- tagsarray
- 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
{"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"},"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","access_control_version": "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
- idinteger
A unique integer value identifying this dashboard.
- project_idstring
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
Update dashboards move tile
Path parameters
- idinteger
A unique integer value identifying this dashboard.
- project_idstring
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
- namestring
- descriptionstring
- pinnedboolean
- deletedboolean
- use_templatestring
- use_dashboardinteger
- delete_insightsboolean
- tagsarray
- 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_idstring
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
- namestring
- descriptionstring
- pinnedboolean
- deletedboolean
- use_templatestring
- use_dashboardinteger
- delete_insightsboolean
- tagsarray
- 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
Community questions
Automaticly create Dashboard
Hey everyone!
Our team is working on automatically creating personalized dashboards whenever a new client group is added.
We attempted to use the dashboard API with the following POST request:
data = {"name": "Test_from_json","use_template": '01875ce8-88f1-0000-6eed-381aaa9bb017',}response = requests.post(f"https://eu.posthog.com/api/projects/{project_id}/dashboards/create_from_template_json/",headers=headers,json=data)print(response)However, we're receiving a 403 response:
<Response [403]>We've ensured that the API key being used has full access for testing purposes. Could anyone help us understand what might be going wrong here?
Additionally, if this endpoint has been deprecated, could you please point us towards the current method for automating dashboard creation?
Thanks so much for your help!
— Jimini AI Team
Share Dashboard
How to share a dashboard via api and get a link to a frame? I have communities on my project. I need to implement statistics output for each of them. Maybe you have solutions for this?