Environments-4

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

Delete environments 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/environments/: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/environments/:project_id/dashboards/:dashboard_id/collaborators/:user__uuid/

Response

Status 204 No response body

Delete environments 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/environments/: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/environments/:project_id/dashboards/:dashboard_id/collaborators/:user__uuid/

Response

Status 204 No response body

List all environments 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/environments/: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/environments/:project_id/dashboards/:dashboard_id/sharing/

Response

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

List all environments 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/environments/: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/environments/:project_id/dashboards/:dashboard_id/sharing/

Response

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

Retrieve environments dashboards

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.

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/environments/: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/environments/: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
},
"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"
}

Retrieve environments dashboards

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.

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/environments/: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/environments/: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
},
"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 environments dashboards

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.

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/environments/: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/environments/: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
},
"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 environments dashboards

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.

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/environments/: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/environments/: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
},
"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 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

  • 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/environments/: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/environments/:project_id/dashboards/:id/

Response

Status 405 No response body

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

  • 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/environments/: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/environments/:project_id/dashboards/:id/

Response

Status 405 No response body

Update environments dashboards move tile

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.

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

Response

Status 200 No response body

Update environments dashboards move tile

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.

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

Response

Status 200 No response body

Create environments dashboards create from template json

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.

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/environments/: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/environments/:project_id/dashboards/create_from_template_json/\
-d name="string"

Response

Status 200 No response body

Create environments dashboards create from template json

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.

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/environments/: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/environments/:project_id/dashboards/create_from_template_json/\
-d name="string"

Response

Status 200 No response body

List all environments events

    This endpoint allows you to list and filter events.
    It is effectively deprecated and is kept only for backwards compatibility.
    If you ever ask about it you will be advised to not use it...
    If you want to ad-hoc list or aggregate events, use the Query endpoint instead.
    If you want to export all events or many pages of events you should use our CDP/Batch Exports products instead.
    

Required API key scopes

query: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

  • after
    string

    Only return events with a timestamp after this time.

  • before
    string

    Only return events with a timestamp before this time.

  • distinct_id
    integer

    Filter list by distinct id.

  • event
    string

    Filter list by event. For example user sign up or $pageview.

  • format
    string
    One of: "csv""json"
  • limit
    integer

    The maximum number of results to return

  • offset
    integer

    The initial index from which to return the results.

  • person_id
    integer

    Filter list by person id.

  • properties
    Click to open
    array

    Filter events by event property, person property, cohort, groups and more.

  • select
    array

    (Experimental) JSON-serialized array of HogQL expressions to return

  • where
    array

    (Experimental) JSON-serialized array of HogQL expressions that must pass

Response


Request

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

Response

Status 200
RESPONSE
{
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"results": [
{
"id": "string",
"distinct_id": "string",
"properties": "string",
"event": "string",
"timestamp": "string",
"person": "string",
"elements": "string",
"elements_chain": "string"
}
]
}

List all environments events

    This endpoint allows you to list and filter events.
    It is effectively deprecated and is kept only for backwards compatibility.
    If you ever ask about it you will be advised to not use it...
    If you want to ad-hoc list or aggregate events, use the Query endpoint instead.
    If you want to export all events or many pages of events you should use our CDP/Batch Exports products instead.
    

Required API key scopes

query: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

  • after
    string

    Only return events with a timestamp after this time.

  • before
    string

    Only return events with a timestamp before this time.

  • distinct_id
    integer

    Filter list by distinct id.

  • event
    string

    Filter list by event. For example user sign up or $pageview.

  • format
    string
    One of: "csv""json"
  • limit
    integer

    The maximum number of results to return

  • offset
    integer

    The initial index from which to return the results.

  • person_id
    integer

    Filter list by person id.

  • properties
    Click to open
    array

    Filter events by event property, person property, cohort, groups and more.

  • select
    array

    (Experimental) JSON-serialized array of HogQL expressions to return

  • where
    array

    (Experimental) JSON-serialized array of HogQL expressions that must pass

Response


Request

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

Response

Status 200
RESPONSE
{
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"results": [
{
"id": "string",
"distinct_id": "string",
"properties": "string",
"event": "string",
"timestamp": "string",
"person": "string",
"elements": "string",
"elements_chain": "string"
}
]
}

Retrieve environments events

Required API key scopes

query:read

Path parameters

  • id
    string
  • 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

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

Response


Request

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

Response

Status 200
RESPONSE
{
"id": "string",
"distinct_id": "string",
"properties": "string",
"event": "string",
"timestamp": "string",
"person": "string",
"elements": "string",
"elements_chain": "string"
}

Retrieve environments events

Required API key scopes

query:read

Path parameters

  • id
    string
  • 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

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

Response


Request

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

Response

Status 200
RESPONSE
{
"id": "string",
"distinct_id": "string",
"properties": "string",
"event": "string",
"timestamp": "string",
"person": "string",
"elements": "string",
"elements_chain": "string"
}
Next page →

Community questions

Was this page useful?