Subscriptions

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

Endpoints

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

List all environments subscriptions

Also available via the PostHog MCP server:

  • subscriptions-listList subscriptions

Required API key scopes

subscription:read

Query parameters

  • created_by
    string
  • dashboard
    integer
  • insight
    integer
  • limit
    integer
  • offset
    integer
  • ordering
    string
  • resource_type
    string
    One of: "dashboard""insight"
  • search
    string
  • target_type
    string
    One of: "email""slack""webhook"

Response


Example request

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

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,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}
]
}

Create environments subscriptions

Also available via the PostHog MCP server:

  • subscriptions-createCreate subscription

Required API key scopes

subscription:write

Request parameters

  • dashboard
    integernull
  • insight
    integernull
  • dashboard_export_insights
    array
  • target_type
  • target_value
    string
  • frequency
  • interval
    integer
  • byweekday
    arraynull
  • bysetpos
    integernull
  • count
    integernull
  • start_date
    string
  • until_date
    stringnull
  • deleted
    boolean
  • enabled
    boolean
  • title
    stringnull
  • integration_id
    integernull
  • invite_message
    stringnull
  • summary_enabled
    boolean
  • summary_prompt_guide
    string

Response


Example request

POST /api/environments/:environment_id/subscriptions
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/subscriptions/\
-d target_type=undefined,\
-d target_value="string",\
-d frequency=undefined,\
-d start_date="string"

Example response

Status 201
RESPONSE
{
"id": 0,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}

Retrieve environments subscriptions

Also available via the PostHog MCP server:

  • subscriptions-retrieveGet subscription

Required API key scopes

subscription:read

Path parameters

  • id
    integer

Response


Example request

GET /api/environments/:environment_id/subscriptions/: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/subscriptions/:id/

Example response

Status 200
RESPONSE
{
"id": 0,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}

Update environments subscriptions

Also available via the PostHog MCP server:

  • subscriptions-partial-updateUpdate subscription

Required API key scopes

subscription:write

Path parameters

  • id
    integer

Request parameters

  • dashboard
    integernull
  • insight
    integernull
  • dashboard_export_insights
    array
  • target_type
  • target_value
    string
  • frequency
  • interval
    integer
  • byweekday
    arraynull
  • bysetpos
    integernull
  • count
    integernull
  • start_date
    string
  • until_date
    stringnull
  • deleted
    boolean
  • enabled
    boolean
  • title
    stringnull
  • integration_id
    integernull
  • invite_message
    stringnull
  • summary_enabled
    boolean
  • summary_prompt_guide
    string

Response


Example request

PATCH /api/environments/:environment_id/subscriptions/: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/subscriptions/:id/\
-d dashboard=["integer","null"]

Example response

Status 200
RESPONSE
{
"id": 0,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}

Delete environments subscriptions

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

Required API key scopes

subscription:write

Path parameters

  • id
    integer

Example request

DELETE /api/environments/:environment_id/subscriptions/: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/subscriptions/:id/

Example response

Status 405 No response body

Create environments subscriptions test delivery

Also available via the PostHog MCP server:

  • subscriptions-test-delivery-createSend test delivery

Required API key scopes

subscription:write

Path parameters

  • id
    integer

Example request

POST /api/environments/:environment_id/subscriptions/:id/test-delivery
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/subscriptions/:id/test-delivery/

Example response

Status 202 Test delivery workflow started

Retrieve environments subscriptions summary quota

Required API key scopes

subscription:read

Example request

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

Example response

Status 200 Org-wide AI summary quota: count of currently-active summaries and the limit for the org's plan tier. `limit` is null when no cap is configured.

List all subscriptions deliveries

Also available via the PostHog MCP server:

  • subscriptions-deliveries-listList subscription deliveries

Paginated delivery history for a subscription. Requires premium subscriptions.

Required API key scopes

subscription:read

Path parameters

  • subscription_id
    integer

Query parameters

  • cursor
    string
  • status
    string
    One of: "completed""failed""skipped""starting"

Response


Example request

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

Example response

Status 200
RESPONSE
{
"next": "http://api.example.org/accounts/?cursor=cD00ODY%3D\"",
"previous": "http://api.example.org/accounts/?cursor=cj0xJnA9NDg3",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"subscription": 0,
"temporal_workflow_id": "string",
"idempotency_key": "string",
"trigger_type": "string",
"scheduled_at": "2019-08-24T14:15:22Z",
"target_type": "string",
"target_value": "string",
"exported_asset_ids": [
-2147483648
],
"content_snapshot": null,
"recipient_results": null,
"status": "starting",
"error": null,
"created_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"change_summary": "string"
}
]
}

Retrieve subscriptions deliveries

Also available via the PostHog MCP server:

  • subscriptions-deliveries-retrieveGet subscription delivery

Fetch one delivery row by id.

Required API key scopes

subscription:read

Path parameters

  • id
    string
  • subscription_id
    integer

Response


Example request

GET /api/environments/:project_id/subscriptions/:subscription_id/deliveries/: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/subscriptions/:subscription_id/deliveries/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"subscription": 0,
"temporal_workflow_id": "string",
"idempotency_key": "string",
"trigger_type": "string",
"scheduled_at": "2019-08-24T14:15:22Z",
"target_type": "string",
"target_value": "string",
"exported_asset_ids": [
-2147483648
],
"content_snapshot": null,
"recipient_results": null,
"status": "starting",
"error": null,
"created_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"change_summary": "string"
}

List all subscriptions

Also available via the PostHog MCP server:

  • subscriptions-listList subscriptions

Required API key scopes

subscription:read

Query parameters

  • created_by
    string
  • dashboard
    integer
  • insight
    integer
  • limit
    integer
  • offset
    integer
  • ordering
    string
  • resource_type
    string
    One of: "dashboard""insight"
  • search
    string
  • target_type
    string
    One of: "email""slack""webhook"

Response


Example request

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

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,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}
]
}

Create subscriptions

Also available via the PostHog MCP server:

  • subscriptions-createCreate subscription

Required API key scopes

subscription:write

Request parameters

  • dashboard
    integernull
  • insight
    integernull
  • dashboard_export_insights
    array
  • target_type
  • target_value
    string
  • frequency
  • interval
    integer
  • byweekday
    arraynull
  • bysetpos
    integernull
  • count
    integernull
  • start_date
    string
  • until_date
    stringnull
  • deleted
    boolean
  • enabled
    boolean
  • title
    stringnull
  • integration_id
    integernull
  • invite_message
    stringnull
  • summary_enabled
    boolean
  • summary_prompt_guide
    string

Response


Example request

POST /api/projects/:project_id/subscriptions
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/subscriptions/\
-d target_type=undefined,\
-d target_value="string",\
-d frequency=undefined,\
-d start_date="string"

Example response

Status 201
RESPONSE
{
"id": 0,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}

Retrieve subscriptions

Also available via the PostHog MCP server:

  • subscriptions-retrieveGet subscription

Required API key scopes

subscription:read

Path parameters

  • id
    integer

Response


Example request

GET /api/projects/:project_id/subscriptions/: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/subscriptions/:id/

Example response

Status 200
RESPONSE
{
"id": 0,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}

Update subscriptions

Also available via the PostHog MCP server:

  • subscriptions-partial-updateUpdate subscription

Required API key scopes

subscription:write

Path parameters

  • id
    integer

Request parameters

  • dashboard
    integernull
  • insight
    integernull
  • dashboard_export_insights
    array
  • target_type
  • target_value
    string
  • frequency
  • interval
    integer
  • byweekday
    arraynull
  • bysetpos
    integernull
  • count
    integernull
  • start_date
    string
  • until_date
    stringnull
  • deleted
    boolean
  • enabled
    boolean
  • title
    stringnull
  • integration_id
    integernull
  • invite_message
    stringnull
  • summary_enabled
    boolean
  • summary_prompt_guide
    string

Response


Example request

PATCH /api/projects/:project_id/subscriptions/: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/subscriptions/:id/\
-d dashboard=["integer","null"]

Example response

Status 200
RESPONSE
{
"id": 0,
"dashboard": 0,
"insight": 0,
"insight_short_id": "string",
"resource_name": "string",
"dashboard_export_insights": [
0
],
"target_type": "email",
"target_value": "string",
"frequency": "daily",
"interval": -2147483648,
"byweekday": [
"monday"
],
"bysetpos": -2147483648,
"count": -2147483648,
"start_date": "2019-08-24T14:15:22Z",
"until_date": "2019-08-24T14:15:22Z",
"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": {},
"role_at_organization": "engineering"
},
"deleted": true,
"enabled": true,
"title": "string",
"summary": "string",
"next_delivery_date": "2019-08-24T14:15:22Z",
"integration_id": 0,
"invite_message": "string",
"summary_enabled": true,
"summary_prompt_guide": "string"
}

Delete subscriptions

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

Required API key scopes

subscription:write

Path parameters

  • id
    integer

Example request

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

Example response

Status 405 No response body

Create subscriptions test delivery

Also available via the PostHog MCP server:

  • subscriptions-test-delivery-createSend test delivery

Required API key scopes

subscription:write

Path parameters

  • id
    integer

Example request

POST /api/projects/:project_id/subscriptions/:id/test-delivery
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/subscriptions/:id/test-delivery/

Example response

Status 202 Test delivery workflow started

Retrieve subscriptions summary quota

Required API key scopes

subscription:read

Example request

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

Example response

Status 200 Org-wide AI summary quota: count of currently-active summaries and the limit for the org's plan tier. `limit` is null when no cap is configured.

Community questions

Questions about this page? or post a community question.