Insights
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
List all insights
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- created_byinteger
- formatstringOne of:"csv""json"
- limitintegerNumber of results to return per page. 
- offsetintegerThe initial index from which to return the results. 
- short_idstring
Response
Request
GET 
Response
Status 200
Create insights
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
POST 
Response
Status 201
Retrieve insights
Path Parameters
- idintegerA unique integer value identifying this insight. 
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
- from_dashboardintegerWhen loading an insight for a dashboard pass a from_dashboardquery parameter containing the dashboard IDe.g. "/api/projects/{team_id}/insights/{insight_id}?from_dashboard={dashboard_id}"Insights can be added to more than one dashboard, this allows the insight to be loaded in the correct context. Using the correct cache and enriching the response with dashboard specific config (e.g. layouts or colors) 
- refreshbooleanThe client can request that an insight be refreshed by setting the `refresh=true` parameter. The server will then decide if the data should or not be refreshed based on a set of heuristics meant to determine the staleness of cached data. The result will contain as `is_cached` field that indicates whether the insight was actually refreshed or not through the request.
Response
Request
GET 
Response
Status 200
Update insights
Path Parameters
- idintegerA unique integer value identifying this insight. 
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
PATCH 
Response
Status 200
Delete insights
Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
Path Parameters
- idintegerA unique integer value identifying this insight. 
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request
DELETE 
Response
Status 405 No response body
Retrieve insights activity retrieve
Path Parameters
- idintegerA unique integer value identifying this insight. 
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create insights viewed
Path Parameters
- idintegerA unique integer value identifying this insight. 
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
POST 
Response
Status 200
Retrieve insights activity
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create insights cancel
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
POST 
Response
Status 200
Retrieve insights funnel
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- eventsarrayEvents to filter on. One of eventsoractionsis required.
- actionsarrayActions to filter on. One of eventsoractionsis required.
- propertiesFilter events by event property, person property, cohort, groups and more. 
- filter_test_accountsbooleanWhether to filter out internal and test accounts. See "project settings" in your PostHog account for the filters. 
- date_fromstringDefault:-7dWhat date to filter the results from. Can either be a date 2021-01-01, or a relative date, like-7dfor last seven days,-1mfor last month,mStartfor start of the month oryStartfor the start of the year.
- date_tostringDefault:-7dWhat date to filter the results to. Can either be a date 2021-01-01, or a relative date, like-7dfor last seven days,-1mfor last month,mStartfor start of the month oryStartfor the start of the year.
- breakdownstringA property or cohort to break down on. You can select the type of the property with breakdown_type. - event(default): a property key
- person: a person property key
- cohort: an array of cohort IDs (ie- [9581,5812])
 
- breakdown_typestringDefault:eventOne of:"event""person""cohort""group""session""hogql"Type of property to break down on. 
- funnel_window_intervalintegerDefault:14Funnel window size. Set in combination with funnel_window_interval, so defaults to 'days'. 
- funnel_window_interval_typestringDefault:daysOne of:"DAY""SECOND""MINUTE""HOUR""WEEK""MONTH"The type of interval. Used in combination with funnel_window_intervals.
- funnel_viz_typestringDefault:stepsOne of:"trends""time_to_convert""steps"The visualisation type. - stepsTrack instances progress between steps of the funnel
- trendsTrack how this funnel's conversion rate is trending over time.
- time_to_convertTrack how long it takes for instances to convert
 
- funnel_order_typestringDefault:orderedOne of:"strict""unordered""ordered"- ordered- Step B must happen after Step A, but any number events can happen between A and B.
- strict- Step B must happen directly after Step A without any events in between.
- unordered- Steps can be completed in any sequence.
 
- exclusionsarrayExclude users/groups that completed the specified event between two specific steps. Note that these users/groups will be completely excluded from the entire funnel. 
- aggregation_group_type_indexinteger0Aggregate by users or by groups. 0means user,>0means a group. See interface for the corresponding ID of the group.
- breakdown_limitintegerDefault:10
- funnel_window_daysintegerDefault:14(DEPRECATED) Funnel window size in days. Use funnel_window_intervalandfunnel_window_interval_type
Response
Request
POST 
Response
Status 200 Note, if funnel_viz_type is set the response will be different.
Retrieve insights funnel correlation
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create insights funnel correlation
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
POST 
Response
Status 200
Retrieve insights my last viewed
Returns basic details about the last 5 insights viewed by this user. Most recently viewed first.
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Retrieve insights path
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create insights path
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
POST 
Response
Status 200
Retrieve insights retention
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create insights timing
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- namestring
- derived_namestring
- filtersobject
- queryobjectQuery node JSON string 
- orderinteger
- deletedboolean
- dashboardsarrayDEPRECATED. Will be removed in a future release. Use dashboard_tiles instead. A dashboard ID for each of the dashboards that this insight is displayed on.
- descriptionstring
- tagsarray
- favoritedboolean
- savedboolean
Response
Request
POST 
Response
Status 200
Retrieve insights trend
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Response
Request
GET 
Response
Status 200
Create
Path Parameters
- project_idstringProject ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/. 
Query Parameters
- formatstringOne of:"csv""json"
Request Parameters
- eventsarrayEvents to filter on. One of eventsoractionsis required.
- actionsarrayActions to filter on. One of eventsoractionsis required.
- propertiesFilter events by event property, person property, cohort, groups and more. 
- filter_test_accountsbooleanWhether to filter out internal and test accounts. See "project settings" in your PostHog account for the filters. 
- date_fromstringDefault:-7dWhat date to filter the results from. Can either be a date 2021-01-01, or a relative date, like-7dfor last seven days,-1mfor last month,mStartfor start of the month oryStartfor the start of the year.
- date_tostringDefault:-7dWhat date to filter the results to. Can either be a date 2021-01-01, or a relative date, like-7dfor last seven days,-1mfor last month,mStartfor start of the month oryStartfor the start of the year.
- breakdownstringA property or cohort to break down on. You can select the type of the property with breakdown_type. - event(default): a property key
- person: a person property key
- cohort: an array of cohort IDs (ie- [9581,5812])
 
- breakdown_typestringDefault:eventOne of:"event""person""cohort""group""session""hogql"Type of property to break down on. 
- displaystringDefault:ActionsLineGraphOne of:"ActionsLineGraph""ActionsLineGraphCumulative""ActionsTable""ActionsPie""ActionsBar""ActionsBarValue""WorldMap""BoldNumber"How to display the data. Will change how the data is returned. 
- formulastringCombine the result of events or actions into a single number. For example A + Bor(A-B)/B. The letters correspond to the order of theeventsoractionslists.
- comparebooleanFor each returned result show the current period and the previous period. The result will contain compare:trueand acompare_labelwith eithercurrentorprevious.
Response
Request
POST 
Response
Status 200