Endpoints

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

Endpoints

GET
POST
GET
PATCH
DELETE
GET
GET
POST
GET
GET
POST
GET
POST
GET

Retrieve environments endpoints

Required API key scopes

endpoint:read

Path parameters

  • project_id
    string

Example request

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

Example response

Status 200 No response body

Create environments endpoints

Create a new endpoint

Required API key scopes

endpoint:write

Path parameters

  • project_id
    string

Request parameters

  • cache_age_seconds
    number
  • derived_from_insight
    string
  • description
    string
  • is_active
    boolean
  • is_materialized
    boolean
  • name
    string
  • query
  • sync_frequency

Example request

POST /api/environments/:project_id/endpoints
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/endpoints/\
-d cache_age_seconds="number"

Example response

Status 201 No response body

Retrieve environments endpoints retrieve

Retrieve an endpoint.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string

Example request

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

Example response

Status 200 No response body

Update environments endpoints

Path parameters

  • name
    string
  • project_id
    string

Example request

PATCH /api/environments/:project_id/endpoints/:name
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/endpoints/:name/

Example response

Status 200 No response body

Delete environments endpoints

Delete an endpoint and clean up materialized query.

Required API key scopes

endpoint:write

Path parameters

  • name
    string
  • project_id
    string

Example request

DELETE /api/environments/:project_id/endpoints/:name
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/endpoints/:name/

Example response

Status 204 No response body

Retrieve environments endpoints materialization status

Get materialization status for an endpoint.

Path parameters

  • name
    string
  • project_id
    string

Example request

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

Example response

Status 200 No response body

Retrieve environments endpoints run

Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string

Example request

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

Example response

Status 200 No response body

Create environments endpoints run

Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string

Request parameters

  • client_query_id
    string
  • filters_override
  • query_override
    object
  • refresh
    Default: blocking
  • variables
    object

Example request

POST /api/environments/:project_id/endpoints/:name/run
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/endpoints/:name/run/\
-d client_query_id="string"

Example response

Status 200 No response body

Retrieve environments endpoints versions

List all versions for an endpoint.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string

Example request

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

Example response

Status 200 No response body

Retrieve environments endpoints versions retrieve

Get details of a specific endpoint version.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string
  • version_number
    string

Example request

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

Example response

Status 200 No response body

Create environments endpoints last execution times

Get the last execution times in the past 6 months for multiple endpoints.

Path parameters

  • project_id
    string

Request parameters

  • names
    array

Response


Example request

POST /api/environments/:project_id/endpoints/last_execution_times
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/endpoints/last_execution_times/\
-d names="array"

Example response

Status 200
RESPONSE
{
"query_status": {
"complete": false,
"dashboard_id": null,
"end_time": null,
"error": false,
"error_message": null,
"expiration_time": null,
"id": "string",
"insight_id": null,
"labels": null,
"pickup_time": null,
"query_async": true,
"query_progress": {
"active_cpu_time": 0,
"bytes_read": 0,
"estimated_rows_total": 0,
"rows_read": 0,
"time_elapsed": 0
},
"results": null,
"start_time": null,
"task_id": null,
"team_id": 0
}
}

Retrieve endpoints

Required API key scopes

endpoint:read

Path parameters

  • project_id
    string

Example request

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

Example response

Status 200 No response body

Retrieve endpoints

Required API key scopes

endpoint:read

Path parameters

  • project_id
    string

Example request

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

Example response

Status 200 No response body

Create endpoints

Create a new endpoint

Required API key scopes

endpoint:write

Path parameters

  • project_id
    string

Request parameters

  • cache_age_seconds
    number
  • derived_from_insight
    string
  • description
    string
  • is_active
    boolean
  • is_materialized
    boolean
  • name
    string
  • query
  • sync_frequency

Example request

POST /api/projects/:project_id/endpoints
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/endpoints/\
-d cache_age_seconds="number"

Example response

Status 201 No response body

Create endpoints

Create a new endpoint

Required API key scopes

endpoint:write

Path parameters

  • project_id
    string

Request parameters

  • cache_age_seconds
    number
  • derived_from_insight
    string
  • description
    string
  • is_active
    boolean
  • is_materialized
    boolean
  • name
    string
  • query
  • sync_frequency

Example request

POST /api/projects/:project_id/endpoints
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/endpoints/\
-d cache_age_seconds="number"

Example response

Status 201 No response body

Retrieve endpoints retrieve

Retrieve an endpoint.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string

Example request

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

Example response

Status 200 No response body

Retrieve endpoints retrieve

Retrieve an endpoint.

Required API key scopes

endpoint:read

Path parameters

  • name
    string
  • project_id
    string

Example request

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

Example response

Status 200 No response body
Next page →

Community questions

Questions about this page? or post a community question.