DATA · DATA & ANALYTICS
Insights, dashboards, events, feature flags and cohorts in their own project.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
posthog_delete_api_organizations_by_idWRITEDelete organization via DELETE /api/organizations/{id}/
posthog_delete_api_organizations_by_organization_id_domains_by_idWRITEDelete organization domain via DELETE /api/organizations/{organization_id}/domains/{id}/
posthog_delete_api_organizations_by_organization_id_invites_by_idWRITEDelete organization invite via DELETE /api/organizations/{organization_id}/invites/{id}/
posthog_delete_api_organizations_by_organization_id_members_by_user_uuidWRITEDelete organization member via DELETE /api/organizations/{organization_id}/members/{user__uuid}/
posthog_delete_api_organizations_by_organization_id_projects_by_idWRITEDelete project via DELETE /api/organizations/{organization_id}/projects/{id}/ Projects for the current organization.
posthog_delete_api_organizations_by_organization_id_roles_by_idWRITEDelete role via DELETE /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_delete_api_organizations_by_organization_id_roles_by_role_id_role_memberships_by_idWRITEDelete role membership via DELETE /api/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_delete_api_projects_by_project_id_actions_by_idWRITEDelete action via DELETE /api/projects/{project_id}/actions/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_alerts_by_idWRITEDelete alert via DELETE /api/projects/{project_id}/alerts/{id}/
posthog_delete_api_projects_by_project_id_annotations_by_idWRITEDelete annotation via DELETE /api/projects/{project_id}/annotations/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_cohorts_by_idWRITEDelete cohort via DELETE /api/projects/{project_id}/cohorts/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_comments_by_idWRITEDelete comment via DELETE /api/projects/{project_id}/comments/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_dashboard_templates_by_idWRITEDelete dashboard template via DELETE /api/projects/{project_id}/dashboard_templates/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_dashboards_by_dashboard_id_collaborators_by_user_uuidWRITEDelete dashboard collaborator via DELETE /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/{user__uuid}/
posthog_delete_api_projects_by_project_id_dashboards_by_dashboard_id_sharing_passwords_by_password_idWRITEDelete dashboard sharing password via DELETE /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/{password_id}/ Delete a password from the sharing configuration.
posthog_delete_api_projects_by_project_id_dashboards_by_idWRITEDelete dashboard via DELETE /api/projects/{project_id}/dashboards/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_early_access_feature_by_idWRITEDelete early access feature via DELETE /api/projects/{project_id}/early_access_feature/{id}/
posthog_delete_api_projects_by_project_id_event_definitions_by_idWRITEDelete event definition via DELETE /api/projects/{project_id}/event_definitions/{id}/
posthog_delete_api_projects_by_project_id_experiment_holdouts_by_idWRITEDelete experiment holdout via DELETE /api/projects/{project_id}/experiment_holdouts/{id}/
posthog_delete_api_projects_by_project_id_experiment_saved_metrics_by_idWRITEDelete experiment saved metric via DELETE /api/projects/{project_id}/experiment_saved_metrics/{id}/
posthog_delete_api_projects_by_project_id_experiments_by_idWRITEDelete experiment via DELETE /api/projects/{project_id}/experiments/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_feature_flags_by_idWRITEDelete feature flag via DELETE /api/projects/{project_id}/feature_flags/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_groups_types_by_group_type_indexWRITEDelete group type via DELETE /api/projects/{project_id}/groups_types/{group_type_index}/
posthog_delete_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_idWRITEDelete group type metric via DELETE /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/
posthog_delete_api_projects_by_project_id_insight_variables_by_idWRITEDelete insight variable via DELETE /api/projects/{project_id}/insight_variables/{id}/
posthog_delete_api_projects_by_project_id_insights_by_idWRITEDelete insight via DELETE /api/projects/{project_id}/insights/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_insights_by_insight_id_sharing_passwords_by_password_idWRITEDelete insight sharing password via DELETE /api/projects/{project_id}/insights/{insight_id}/sharing/passwords/{password_id}/ Delete a password from the sharing configuration.
posthog_delete_api_projects_by_project_id_property_definitions_by_idWRITEDelete property definition via DELETE /api/projects/{project_id}/property_definitions/{id}/
posthog_delete_api_projects_by_project_id_query_by_idWRITEDelete query via DELETE /api/projects/{project_id}/query/{id}/ (Experimental)
posthog_delete_api_projects_by_project_id_session_recording_playlists_by_short_id_recordings_by_session_recording_idWRITEDelete session recording playlist recording via DELETE /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/
posthog_delete_api_projects_by_project_id_session_recordings_by_idWRITEDelete session recording via DELETE /api/projects/{project_id}/session_recordings/{id}/
posthog_delete_api_projects_by_project_id_session_recordings_by_recording_id_sharing_passwords_by_password_idWRITEDelete session recording sharing password via DELETE /api/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/{password_id}/ Delete a password from the sharing configuration.
posthog_delete_api_projects_by_project_id_subscriptions_by_idWRITEDelete subscription via DELETE /api/projects/{project_id}/subscriptions/{id}/ Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
posthog_delete_api_projects_by_project_id_surveys_by_idWRITEDelete survey via DELETE /api/projects/{project_id}/surveys/{id}/
posthog_get_api_organizationsREADList organizations via GET /api/organizations/
posthog_get_api_organizations_by_idREADGet organization via GET /api/organizations/{id}/
posthog_get_api_organizations_by_organization_id_domainsREADList organization domains via GET /api/organizations/{organization_id}/domains/
posthog_get_api_organizations_by_organization_id_domains_by_idREADGet organization domain via GET /api/organizations/{organization_id}/domains/{id}/
posthog_get_api_organizations_by_organization_id_invitesREADList organization invites via GET /api/organizations/{organization_id}/invites/
posthog_get_api_organizations_by_organization_id_membersREADList organization members via GET /api/organizations/{organization_id}/members/
posthog_get_api_organizations_by_organization_id_projectsREADList projects via GET /api/organizations/{organization_id}/projects/ Projects for the current organization.
posthog_get_api_organizations_by_organization_id_projects_by_idREADGet project via GET /api/organizations/{organization_id}/projects/{id}/ Retrieve a project and its settings.
posthog_get_api_organizations_by_organization_id_projects_by_id_event_ingestion_restrictionsREADGet project event ingestion restrictions via GET /api/organizations/{organization_id}/projects/{id}/event_ingestion_restrictions/ Projects for the current organization.
posthog_get_api_organizations_by_organization_id_rolesREADList roles via GET /api/organizations/{organization_id}/roles/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_get_api_organizations_by_organization_id_roles_by_idREADGet role via GET /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_get_api_organizations_by_organization_id_roles_by_role_id_role_membershipsREADGet role memberships via GET /api/organizations/{organization_id}/roles/{role_id}/role_memberships/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_get_api_organizations_by_organization_id_roles_by_role_id_role_memberships_by_idREADGet role membership via GET /api/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_get_api_projects_by_project_id_actionsREADList actions via GET /api/projects/{project_id}/actions/
posthog_get_api_projects_by_project_id_actions_by_idREADGet action via GET /api/projects/{project_id}/actions/{id}/
posthog_get_api_projects_by_project_id_actions_by_id_referencesREADGet action references via GET /api/projects/{project_id}/actions/{id}/references/
posthog_get_api_projects_by_project_id_activity_logREADList activity log via GET /api/projects/{project_id}/activity_log/
posthog_get_api_projects_by_project_id_alertsREADList alerts via GET /api/projects/{project_id}/alerts/
posthog_get_api_projects_by_project_id_alerts_by_idREADGet alert via GET /api/projects/{project_id}/alerts/{id}/
posthog_get_api_projects_by_project_id_annotationsREADList annotations via GET /api/projects/{project_id}/annotations/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.
posthog_get_api_projects_by_project_id_annotations_by_idREADGet annotation via GET /api/projects/{project_id}/annotations/{id}/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.
posthog_get_api_projects_by_project_id_cohortsREADList cohorts via GET /api/projects/{project_id}/cohorts/
posthog_get_api_projects_by_project_id_cohorts_activityREADGet cohorts activity via GET /api/projects/{project_id}/cohorts/activity/
posthog_get_api_projects_by_project_id_cohorts_by_idREADGet cohort via GET /api/projects/{project_id}/cohorts/{id}/
posthog_get_api_projects_by_project_id_cohorts_by_id_activityREADGet cohort activity via GET /api/projects/{project_id}/cohorts/{id}/activity/
posthog_get_api_projects_by_project_id_cohorts_by_id_calculation_historyREADGet cohort calculation history via GET /api/projects/{project_id}/cohorts/{id}/calculation_history/
posthog_get_api_projects_by_project_id_cohorts_by_id_personsREADGet cohort persons via GET /api/projects/{project_id}/cohorts/{id}/persons/
posthog_get_api_projects_by_project_id_cohorts_by_id_used_inREADGet cohort used in via GET /api/projects/{project_id}/cohorts/{id}/used_in/
posthog_get_api_projects_by_project_id_commentsREADList comments via GET /api/projects/{project_id}/comments/
posthog_get_api_projects_by_project_id_comments_by_idREADGet comment via GET /api/projects/{project_id}/comments/{id}/
posthog_get_api_projects_by_project_id_comments_by_id_threadREADGet comment thread via GET /api/projects/{project_id}/comments/{id}/thread/
posthog_get_api_projects_by_project_id_comments_countREADGet comments count via GET /api/projects/{project_id}/comments/count/
posthog_get_api_projects_by_project_id_dashboard_templatesREADList dashboard templates via GET /api/projects/{project_id}/dashboard_templates/
posthog_get_api_projects_by_project_id_dashboard_templates_by_idREADGet dashboard template via GET /api/projects/{project_id}/dashboard_templates/{id}/
posthog_get_api_projects_by_project_id_dashboardsREADList dashboards via GET /api/projects/{project_id}/dashboards/
posthog_get_api_projects_by_project_id_dashboards_by_dashboard_id_collaboratorsREADGet dashboard collaborators via GET /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/
posthog_get_api_projects_by_project_id_dashboards_by_dashboard_id_sharingREADGet dashboard sharing via GET /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/
posthog_get_api_projects_by_project_id_dashboards_by_idREADGet dashboard via GET /api/projects/{project_id}/dashboards/{id}/
posthog_get_api_projects_by_project_id_early_access_featureREADList early access features via GET /api/projects/{project_id}/early_access_feature/
posthog_get_api_projects_by_project_id_early_access_feature_by_idREADGet early access feature via GET /api/projects/{project_id}/early_access_feature/{id}/
posthog_get_api_projects_by_project_id_elementsREADList elements via GET /api/projects/{project_id}/elements/
posthog_get_api_projects_by_project_id_elements_statsREADGet elements stats via GET /api/projects/{project_id}/elements/stats/ Counts of $autocapture, $rageclick, and $dead_click events grouped by the element chain they occurred on, ordered by count. Defaults to all three event types; narrow with the include parameter.
posthog_get_api_projects_by_project_id_elements_valuesREADGet elements values via GET /api/projects/{project_id}/elements/values/
posthog_get_api_projects_by_project_id_event_definitionsREADList event definitions via GET /api/projects/{project_id}/event_definitions/
posthog_get_api_projects_by_project_id_event_definitions_by_idREADGet event definition via GET /api/projects/{project_id}/event_definitions/{id}/
posthog_get_api_projects_by_project_id_event_definitions_by_nameREADGet event definitions by name via GET /api/projects/{project_id}/event_definitions/by_name/ Get event definition by exact name
posthog_get_api_projects_by_project_id_event_definitions_primary_propertiesREADGet event definitions primary properties via GET /api/projects/{project_id}/event_definitions/primary_properties/ Resolve team-configured primary properties for event definitions. The response only contains entries where a non-null primary_property is set on the EventDefinition. Callers should fall back to the core taxonomy defaults client-side for...
posthog_get_api_projects_by_project_id_eventsREADList events via GET /api/projects/{project_id}/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...
posthog_get_api_projects_by_project_id_events_by_idREADGet event via GET /api/projects/{project_id}/events/{id}/
posthog_get_api_projects_by_project_id_events_valuesREADGet events values via GET /api/projects/{project_id}/events/values/
posthog_get_api_projects_by_project_id_experiment_holdoutsREADList experiment holdouts via GET /api/projects/{project_id}/experiment_holdouts/
posthog_get_api_projects_by_project_id_experiment_holdouts_by_idREADGet experiment holdout via GET /api/projects/{project_id}/experiment_holdouts/{id}/
posthog_get_api_projects_by_project_id_experiment_saved_metricsREADList experiment saved metrics via GET /api/projects/{project_id}/experiment_saved_metrics/
posthog_get_api_projects_by_project_id_experiment_saved_metrics_by_idREADGet experiment saved metric via GET /api/projects/{project_id}/experiment_saved_metrics/{id}/
posthog_get_api_projects_by_project_id_experimentsREADList experiments via GET /api/projects/{project_id}/experiments/ List experiments for the current project. Supports filtering by status and archival state.
posthog_get_api_projects_by_project_id_experiments_by_idREADGet experiment via GET /api/projects/{project_id}/experiments/{id}/ Retrieve a single experiment by ID, including its current status, metrics, feature flag, and results metadata.
posthog_get_api_projects_by_project_id_experiments_by_id_activityREADGet experiment activity via GET /api/projects/{project_id}/experiments/{id}/activity/ Change history for this experiment. Returns a paginated audit trail of changes to the experiment, its holdouts and shared metrics, and its linked feature flag: who made each change, what changed (field-level before/after values), and when....
posthog_get_api_projects_by_project_id_exportsREADList exports via GET /api/projects/{project_id}/exports/
posthog_get_api_projects_by_project_id_exports_by_idREADGet export via GET /api/projects/{project_id}/exports/{id}/
posthog_get_api_projects_by_project_id_feature_flagsREADList feature flags via GET /api/projects/{project_id}/feature_flags/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_activityREADGet feature flags activity via GET /api/projects/{project_id}/feature_flags/activity/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_by_idREADGet feature flag via GET /api/projects/{project_id}/feature_flags/{id}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_by_id_activityREADGet feature flag activity via GET /api/projects/{project_id}/feature_flags/{id}/activity/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_by_id_dependent_flagsREADGet feature flag dependent flags via GET /api/projects/{project_id}/feature_flags/{id}/dependent_flags/ Get other active flags that depend on this flag.
posthog_get_api_projects_by_project_id_feature_flags_by_id_remote_configREADGet feature flag remote config via GET /api/projects/{project_id}/feature_flags/{id}/remote_config/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_by_id_statusREADGet feature flag status via GET /api/projects/{project_id}/feature_flags/{id}/status/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_by_id_versions_by_version_numberREADGet feature flag version via GET /api/projects/{project_id}/feature_flags/{id}/versions/{version_number}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_evaluation_reasonsREADGet feature flags evaluation reasons via GET /api/projects/{project_id}/feature_flags/evaluation_reasons/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_feature_flags_my_flagsREADGet feature flags my flags via GET /api/projects/{project_id}/feature_flags/my_flags/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_get_api_projects_by_project_id_groupsREADList groups via GET /api/projects/{project_id}/groups/ List all groups of a specific group type. You must pass ?group_type_index= in the URL. To get a list of valid group types, call /api/:project_id/groups_types/. Uses forward-only keyset pagination via the `cursor` parameter. The `previous`...
posthog_get_api_projects_by_project_id_groups_activityREADGet groups activity via GET /api/projects/{project_id}/groups/activity/
posthog_get_api_projects_by_project_id_groups_findREADFind groups via GET /api/projects/{project_id}/groups/find/
posthog_get_api_projects_by_project_id_groups_property_valuesREADGet groups property values via GET /api/projects/{project_id}/groups/property_values/
posthog_get_api_projects_by_project_id_groups_relatedREADGet groups related via GET /api/projects/{project_id}/groups/related/
posthog_get_api_projects_by_project_id_groups_typesREADList group types via GET /api/projects/{project_id}/groups_types/
posthog_get_api_projects_by_project_id_groups_types_by_group_type_index_metricsREADGet group type metrics via GET /api/projects/{project_id}/groups_types/{group_type_index}/metrics/
posthog_get_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_idREADGet group type metric via GET /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/
posthog_get_api_projects_by_project_id_heatmapsREADList heatmaps via GET /api/projects/{project_id}/heatmaps/ Aggregated heatmap interactions for a page. For type 'click'/'rageclick'/'mousemove' each result is a point with relative x, absolute client-y, and a count. For type 'scrolldepth' the response is scroll-depth buckets instead (cumulative...
posthog_get_api_projects_by_project_id_heatmaps_eventsREADGet heatmaps events via GET /api/projects/{project_id}/heatmaps/events/ Drill into the individual session interactions behind one or more heatmap coordinates. Pass the 'points' you want to inspect (from the heatmaps list response) to get the underlying per-session events, so you can jump to the session...
posthog_get_api_projects_by_project_id_insight_variablesREADList insight variables via GET /api/projects/{project_id}/insight_variables/
posthog_get_api_projects_by_project_id_insight_variables_by_idREADGet insight variable via GET /api/projects/{project_id}/insight_variables/{id}/
posthog_get_api_projects_by_project_id_insightsREADList insights via GET /api/projects/{project_id}/insights/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +...
posthog_get_api_projects_by_project_id_insights_activityREADGet insights activity via GET /api/projects/{project_id}/insights/activity/ Project-wide audit trail across all insights — who created, edited, deleted, or restored insights, what changed (with before/after diffs), and when. Useful for surfacing what people (or agents) have been working on recently.
posthog_get_api_projects_by_project_id_insights_by_idREADGet insight via GET /api/projects/{project_id}/insights/{id}/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +...
posthog_get_api_projects_by_project_id_insights_by_id_activityREADGet insight activity via GET /api/projects/{project_id}/insights/{id}/activity/ Audit trail for a single insight — every change made to it, by whom, and when. Use this when you want the change history of a specific insight; use the project-wide activity endpoint for a broader view.
posthog_get_api_projects_by_project_id_insights_by_insight_id_sharingREADGet insight sharing via GET /api/projects/{project_id}/insights/{insight_id}/sharing/
posthog_get_api_projects_by_project_id_insights_by_insight_id_thresholdsREADGet insight thresholds via GET /api/projects/{project_id}/insights/{insight_id}/thresholds/
posthog_get_api_projects_by_project_id_insights_by_insight_id_thresholds_by_idREADGet insight threshold via GET /api/projects/{project_id}/insights/{insight_id}/thresholds/{id}/
posthog_get_api_projects_by_project_id_personsREADList persons via GET /api/projects/{project_id}/persons/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_get_api_projects_by_project_id_persons_activityREADGet persons activity via GET /api/projects/{project_id}/persons/activity/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_get_api_projects_by_project_id_persons_by_idREADGet person via GET /api/projects/{project_id}/persons/{id}/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_get_api_projects_by_project_id_persons_by_id_activityREADGet person activity via GET /api/projects/{project_id}/persons/{id}/activity/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_get_api_projects_by_project_id_persons_cohortsREADGet persons cohorts via GET /api/projects/{project_id}/persons/cohorts/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_get_api_projects_by_project_id_persons_deletion_statusREADGet persons deletion status via GET /api/projects/{project_id}/persons/deletion_status/ List the status of queued event deletions for persons. When you delete a person with `delete_events=true`, an async deletion is queued. Use this endpoint to check whether those deletions are still pending or have been completed.
posthog_get_api_projects_by_project_id_persons_properties_at_timeREADGet persons properties at time via GET /api/projects/{project_id}/persons/properties_at_time/ Get person properties as they existed at a specific point in time. This endpoint reconstructs person properties by querying ClickHouse events for $set and $set_once operations up to the specified timestamp. Query parameters: - distinct_id...
posthog_get_api_projects_by_project_id_persons_valuesREADGet persons values via GET /api/projects/{project_id}/persons/values/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_get_api_projects_by_project_id_property_definitionsREADList property definitions via GET /api/projects/{project_id}/property_definitions/
posthog_get_api_projects_by_project_id_property_definitions_by_idREADGet property definition via GET /api/projects/{project_id}/property_definitions/{id}/
posthog_get_api_projects_by_project_id_property_definitions_seen_togetherREADGet property definitions seen together via GET /api/projects/{project_id}/property_definitions/seen_together/ Allows a caller to provide a list of event names and a single property name Returns a map of the event names to a boolean representing whether that property has ever been seen with that event_name
posthog_get_api_projects_by_project_id_query_by_idREADGet query via GET /api/projects/{project_id}/query/{id}/ (Experimental)
posthog_get_api_projects_by_project_id_session_recording_playlistsREADList session recording playlists via GET /api/projects/{project_id}/session_recording_playlists/ Override list to include synthetic playlists. Synthetics have no DB row, so we compute each one's position in the merged sort and split the requested page between synthetics and a DB queryset slice. The merge/rank/sort is all in-memory, so...
posthog_get_api_projects_by_project_id_session_recording_playlists_by_short_idREADGet session recording playlist via GET /api/projects/{project_id}/session_recording_playlists/{short_id}/
posthog_get_api_projects_by_project_id_session_recording_playlists_by_short_id_recordingsREADGet session recording playlist recordings via GET /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/
posthog_get_api_projects_by_project_id_session_recordingsREADList session recordings via GET /api/projects/{project_id}/session_recordings/
posthog_get_api_projects_by_project_id_session_recordings_by_idREADGet session recording via GET /api/projects/{project_id}/session_recordings/{id}/
posthog_get_api_projects_by_project_id_session_recordings_by_recording_id_sharingREADGet session recording sharing via GET /api/projects/{project_id}/session_recordings/{recording_id}/sharing/
posthog_get_api_projects_by_project_id_sessions_property_definitionsREADGet sessions property definitions via GET /api/projects/{project_id}/sessions/property_definitions/
posthog_get_api_projects_by_project_id_sessions_valuesREADGet sessions values via GET /api/projects/{project_id}/sessions/values/
posthog_get_api_projects_by_project_id_subscriptionsREADList subscriptions via GET /api/projects/{project_id}/subscriptions/
posthog_get_api_projects_by_project_id_subscriptions_by_idREADGet subscription via GET /api/projects/{project_id}/subscriptions/{id}/
posthog_get_api_projects_by_project_id_subscriptions_summary_quotaREADGet subscriptions summary quota via GET /api/projects/{project_id}/subscriptions/summary_quota/
posthog_get_api_projects_by_project_id_surveysREADList surveys via GET /api/projects/{project_id}/surveys/
posthog_get_api_projects_by_project_id_surveys_activityREADGet surveys activity via GET /api/projects/{project_id}/surveys/activity/
posthog_get_api_projects_by_project_id_surveys_by_idREADGet survey via GET /api/projects/{project_id}/surveys/{id}/
posthog_get_api_projects_by_project_id_surveys_by_id_activityREADGet survey activity via GET /api/projects/{project_id}/surveys/{id}/activity/
posthog_get_api_projects_by_project_id_surveys_by_id_responsesREADGet survey responses via GET /api/projects/{project_id}/surveys/{id}/responses/ List survey responses for a specific survey, with question text resolved server-side so callers do not have to map opaque `$survey_response_<id>` keys. Each row carries `distinct_id`, `session_id`, `submitted_at`, and an `extra` block...
posthog_get_api_projects_by_project_id_surveys_by_id_statsREADGet survey stats via GET /api/projects/{project_id}/surveys/{id}/stats/ Get survey response statistics for a specific survey. Args: date_from: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) date_to: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z) exclude_archived: Optional...
posthog_get_api_projects_by_project_id_surveys_responses_countREADGet surveys responses count via GET /api/projects/{project_id}/surveys/responses_count/ Get response counts for all surveys. Args: exclude_archived: Optional boolean to exclude archived responses (default: false, includes archived) survey_ids: Optional comma-separated list of survey IDs to filter by Returns: Dictionary...
posthog_get_api_projects_by_project_id_surveys_statsREADGet surveys stats via GET /api/projects/{project_id}/surveys/stats/ Get aggregated response statistics across all surveys. Args: date_from: Optional ISO timestamp for start date (e.g. 2024-01-01T00:00:00Z) date_to: Optional ISO timestamp for end date (e.g. 2024-01-31T23:59:59Z) Returns: Aggregated...
posthog_get_api_usersREADList users via GET /api/users/
posthog_get_api_users_by_uuidREADGet user via GET /api/users/{uuid}/ Retrieve a user's profile and settings. Pass `@me` as the UUID to fetch the authenticated user; non-staff callers may only access their own account.
posthog_patch_api_organizations_by_idWRITEUpdate organization via PATCH /api/organizations/{id}/
posthog_patch_api_organizations_by_organization_id_domains_by_idWRITEUpdate organization domain via PATCH /api/organizations/{organization_id}/domains/{id}/
posthog_patch_api_organizations_by_organization_id_members_by_user_uuidWRITEUpdate organization member via PATCH /api/organizations/{organization_id}/members/{user__uuid}/
posthog_patch_api_organizations_by_organization_id_projects_by_idWRITEUpdate project via PATCH /api/organizations/{organization_id}/projects/{id}/ Update one or more of a project's settings. Only the fields included in the request body are changed.
posthog_patch_api_organizations_by_organization_id_projects_by_id_add_product_intentWRITEAdd product intent project via PATCH /api/organizations/{organization_id}/projects/{id}/add_product_intent/ Projects for the current organization.
posthog_patch_api_organizations_by_organization_id_projects_by_id_complete_product_onboardingWRITEComplete product onboarding project via PATCH /api/organizations/{organization_id}/projects/{id}/complete_product_onboarding/ Projects for the current organization.
posthog_patch_api_organizations_by_organization_id_roles_by_idWRITEUpdate role via PATCH /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_patch_api_projects_by_project_id_actions_by_idWRITEUpdate action via PATCH /api/projects/{project_id}/actions/{id}/
posthog_patch_api_projects_by_project_id_alerts_by_idWRITEUpdate alert via PATCH /api/projects/{project_id}/alerts/{id}/
posthog_patch_api_projects_by_project_id_annotations_by_idWRITEUpdate annotation via PATCH /api/projects/{project_id}/annotations/{id}/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.
posthog_patch_api_projects_by_project_id_cohorts_by_idWRITEUpdate cohort via PATCH /api/projects/{project_id}/cohorts/{id}/
posthog_patch_api_projects_by_project_id_cohorts_by_id_add_persons_to_static_cohortWRITEAdd persons to static cohort via PATCH /api/projects/{project_id}/cohorts/{id}/add_persons_to_static_cohort/
posthog_patch_api_projects_by_project_id_cohorts_by_id_remove_person_from_static_cohortWRITERemove person from static cohort via PATCH /api/projects/{project_id}/cohorts/{id}/remove_person_from_static_cohort/
posthog_patch_api_projects_by_project_id_comments_by_idWRITEUpdate comment via PATCH /api/projects/{project_id}/comments/{id}/
posthog_patch_api_projects_by_project_id_dashboard_templates_by_idWRITEUpdate dashboard template via PATCH /api/projects/{project_id}/dashboard_templates/{id}/
posthog_patch_api_projects_by_project_id_dashboards_by_idWRITEUpdate dashboard via PATCH /api/projects/{project_id}/dashboards/{id}/
posthog_patch_api_projects_by_project_id_dashboards_by_id_move_tileWRITEMove tile dashboard via PATCH /api/projects/{project_id}/dashboards/{id}/move_tile/
posthog_patch_api_projects_by_project_id_early_access_feature_by_idWRITEUpdate early access feature via PATCH /api/projects/{project_id}/early_access_feature/{id}/
posthog_patch_api_projects_by_project_id_event_definitions_by_idWRITEUpdate event definition via PATCH /api/projects/{project_id}/event_definitions/{id}/
posthog_patch_api_projects_by_project_id_experiment_holdouts_by_idWRITEUpdate experiment holdout via PATCH /api/projects/{project_id}/experiment_holdouts/{id}/
posthog_patch_api_projects_by_project_id_experiment_saved_metrics_by_idWRITEUpdate experiment saved metric via PATCH /api/projects/{project_id}/experiment_saved_metrics/{id}/
posthog_patch_api_projects_by_project_id_experiments_by_idWRITEUpdate experiment via PATCH /api/projects/{project_id}/experiments/{id}/ Update an experiment. Use this to modify experiment properties such as name, description, metrics, variants, and configuration. Metrics can be added, changed and removed at any time. Feature-flag config (variants, rollout, payloads) is...
posthog_patch_api_projects_by_project_id_feature_flags_by_idWRITEUpdate feature flag via PATCH /api/projects/{project_id}/feature_flags/{id}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_patch_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_idWRITEUpdate group type metric via PATCH /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/
posthog_patch_api_projects_by_project_id_insight_variables_by_idWRITEUpdate insight variable via PATCH /api/projects/{project_id}/insight_variables/{id}/
posthog_patch_api_projects_by_project_id_insights_by_idWRITEUpdate insight via PATCH /api/projects/{project_id}/insights/{id}/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +...
posthog_patch_api_projects_by_project_id_persons_by_idWRITEUpdate person via PATCH /api/projects/{project_id}/persons/{id}/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_patch_api_projects_by_project_id_property_definitions_by_idWRITEUpdate property definition via PATCH /api/projects/{project_id}/property_definitions/{id}/
posthog_patch_api_projects_by_project_id_session_recording_playlists_by_short_idWRITEUpdate session recording playlist via PATCH /api/projects/{project_id}/session_recording_playlists/{short_id}/
posthog_patch_api_projects_by_project_id_session_recordings_by_idWRITEUpdate session recording via PATCH /api/projects/{project_id}/session_recordings/{id}/
posthog_patch_api_projects_by_project_id_subscriptions_by_idWRITEUpdate subscription via PATCH /api/projects/{project_id}/subscriptions/{id}/
posthog_patch_api_projects_by_project_id_surveys_by_idWRITEUpdate survey via PATCH /api/projects/{project_id}/surveys/{id}/
posthog_patch_api_users_by_uuidWRITEUpdate user via PATCH /api/users/{uuid}/ Update one or more of the authenticated user's profile fields or settings.
posthog_post_api_organizationsWRITECreate organization via POST /api/organizations/
posthog_post_api_organizations_by_organization_id_domainsWRITECreate organization domain via POST /api/organizations/{organization_id}/domains/
posthog_post_api_organizations_by_organization_id_invitesWRITECreate organization invite via POST /api/organizations/{organization_id}/invites/
posthog_post_api_organizations_by_organization_id_invites_bulkWRITEBulk organization invites via POST /api/organizations/{organization_id}/invites/bulk/
posthog_post_api_organizations_by_organization_id_projectsWRITECreate project via POST /api/organizations/{organization_id}/projects/ Projects for the current organization.
posthog_post_api_organizations_by_organization_id_rolesWRITECreate role via POST /api/organizations/{organization_id}/roles/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_post_api_organizations_by_organization_id_roles_by_role_id_role_membershipsWRITECreate role memberships via POST /api/organizations/{organization_id}/roles/{role_id}/role_memberships/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_post_api_projects_by_project_id_actionsWRITECreate action via POST /api/projects/{project_id}/actions/
posthog_post_api_projects_by_project_id_alertsWRITECreate alert via POST /api/projects/{project_id}/alerts/
posthog_post_api_projects_by_project_id_alerts_by_id_test_deliveryWRITETest delivery alert via POST /api/projects/{project_id}/alerts/{id}/test-delivery/ Send a synthetic test notification to subscribed users and every active destination on this alert.
posthog_post_api_projects_by_project_id_alerts_simulateWRITESimulate alerts via POST /api/projects/{project_id}/alerts/simulate/ Simulate a detector on an insight's historical data. Read-only — no AlertCheck records are created.
posthog_post_api_projects_by_project_id_annotationsWRITECreate annotation via POST /api/projects/{project_id}/annotations/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.
posthog_post_api_projects_by_project_id_cohortsWRITECreate cohort via POST /api/projects/{project_id}/cohorts/
posthog_post_api_projects_by_project_id_commentsWRITECreate comment via POST /api/projects/{project_id}/comments/ Create a comment. Support messages are deduplicated: an identical message from the same author on the same ticket within a short window returns the original comment with a 200 instead of creating a second one, and a 409 while a concurrent...
posthog_post_api_projects_by_project_id_dashboard_templatesWRITECreate dashboard template via POST /api/projects/{project_id}/dashboard_templates/
posthog_post_api_projects_by_project_id_dashboardsWRITECreate dashboard via POST /api/projects/{project_id}/dashboards/
posthog_post_api_projects_by_project_id_dashboards_by_dashboard_id_collaboratorsWRITECreate dashboard collaborators via POST /api/projects/{project_id}/dashboards/{dashboard_id}/collaborators/
posthog_post_api_projects_by_project_id_dashboards_by_dashboard_id_sharing_passwordsWRITECreate dashboard sharing passwords via POST /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/passwords/ Create a new password for the sharing configuration.
posthog_post_api_projects_by_project_id_dashboards_by_dashboard_id_sharing_refreshWRITECreate dashboard sharing refresh via POST /api/projects/{project_id}/dashboards/{dashboard_id}/sharing/refresh/
posthog_post_api_projects_by_project_id_dashboards_by_id_create_text_tileWRITECreate text tile dashboard via POST /api/projects/{project_id}/dashboards/{id}/create_text_tile/ Add a markdown text tile to a dashboard. Text tiles render as markdown blocks on the dashboard — useful as section headings, dividers, or annotations between insight tiles to give the dashboard structure.
posthog_post_api_projects_by_project_id_dashboards_by_id_delete_tileWRITEDelete tile dashboard via POST /api/projects/{project_id}/dashboards/{id}/delete_tile/ Soft-delete a single tile from a dashboard. Works for text, insight, and button tiles. The underlying Insight, Text, or ButtonTile object is preserved — only the dashboard tile is hidden. To delete the entire dashboard, use the dashboard...
posthog_post_api_projects_by_project_id_dashboards_by_id_reorder_tilesWRITEReorder tiles dashboard via POST /api/projects/{project_id}/dashboards/{id}/reorder_tiles/
posthog_post_api_projects_by_project_id_dashboards_by_id_update_text_tileWRITEUpdate text tile dashboard via POST /api/projects/{project_id}/dashboards/{id}/update_text_tile/ Update the markdown body, layout, or color of an existing text tile on a dashboard.
posthog_post_api_projects_by_project_id_early_access_featureWRITECreate early access feature via POST /api/projects/{project_id}/early_access_feature/
posthog_post_api_projects_by_project_id_event_definitionsWRITECreate event definition via POST /api/projects/{project_id}/event_definitions/
posthog_post_api_projects_by_project_id_event_definitions_bulk_update_tagsWRITEBulk update tags event definitions via POST /api/projects/{project_id}/event_definitions/bulk_update_tags/ Add, remove, or replace tags across multiple event definitions in one request. Overrides ``TaggedItemViewSetMixin.bulk_update_tags``, which assumes integer PKs and runs object-level access-control filtering. Event definitions use UUID PKs...
posthog_post_api_projects_by_project_id_event_definitions_bulk_update_verifiedWRITEBulk update verified event definitions via POST /api/projects/{project_id}/event_definitions/bulk_update_verified/ Mark multiple event definitions as verified or unverified in one request. In the same vein as ``bulk_update_tags``, but ``verified`` lives on the enterprise ``EnterpriseEventDefinition`` extension rather than the base row, so this action...
posthog_post_api_projects_by_project_id_experiment_holdoutsWRITECreate experiment holdout via POST /api/projects/{project_id}/experiment_holdouts/
posthog_post_api_projects_by_project_id_experiment_saved_metricsWRITECreate experiment saved metric via POST /api/projects/{project_id}/experiment_saved_metrics/
posthog_post_api_projects_by_project_id_experimentsWRITECreate experiment via POST /api/projects/{project_id}/experiments/ Create a new experiment in draft status with optional metrics.
posthog_post_api_projects_by_project_id_experiments_by_id_archiveWRITEArchive experiment via POST /api/projects/{project_id}/experiments/{id}/archive/ Archive an ended experiment. Hides the experiment from the default list view. The experiment can be restored at any time by updating archived=false. When the linked feature flag is still enabled, pass disable_feature_flag=true to also...
posthog_post_api_projects_by_project_id_experiments_by_id_copy_to_projectWRITECopy to project experiment via POST /api/projects/{project_id}/experiments/{id}/copy_to_project/ Copy an experiment into another project in the same organization as a new draft.
posthog_post_api_projects_by_project_id_experiments_by_id_duplicateWRITEDuplicate experiment via POST /api/projects/{project_id}/experiments/{id}/duplicate/ Mixin for ViewSets to handle approval-gate exceptions raised from decorated serializers. Intercepts ApprovalRequired (409) and PolicyConflict (400) raised by the @approval_gate decorator on serializer methods and converts them into the...
posthog_post_api_projects_by_project_id_experiments_by_id_endWRITEEnd experiment via POST /api/projects/{project_id}/experiments/{id}/end/ End a running experiment without shipping a variant. Sets end_date to now and marks the experiment as stopped. The feature flag is NOT modified — users continue to see their assigned variants and exposure events ($feature_flag_called)...
posthog_post_api_projects_by_project_id_experiments_by_id_launchWRITELaunch experiment via POST /api/projects/{project_id}/experiments/{id}/launch/ Launch a draft experiment. Validates the experiment is in draft state, activates its linked feature flag, sets start_date to the current server time, and transitions the experiment to running. Returns 400 if the experiment has already been...
posthog_post_api_projects_by_project_id_experiments_by_id_pauseWRITEPause experiment via POST /api/projects/{project_id}/experiments/{id}/pause/ Pause a running experiment. Deactivates the linked feature flag so it is no longer returned by the /decide endpoint. Users fall back to the application default (typically the control experience), and no new exposure events are recorded...
posthog_post_api_projects_by_project_id_experiments_by_id_resetWRITEReset experiment via POST /api/projects/{project_id}/experiments/{id}/reset/ Reset an experiment back to draft state. Clears start/end dates, conclusion, archived flag, and any flag-cleanup task pointer. The feature flag is left unchanged — users continue to see their assigned variants. Previously collected events...
posthog_post_api_projects_by_project_id_experiments_by_id_resumeWRITEResume experiment via POST /api/projects/{project_id}/experiments/{id}/resume/ Resume a paused experiment. Reactivates the linked feature flag so it is returned by /decide again. Users are re-bucketed deterministically into the same variants they had before the pause, and exposure tracking resumes. Returns 400 if the...
posthog_post_api_projects_by_project_id_experiments_by_id_ship_variantWRITEShip variant experiment via POST /api/projects/{project_id}/experiments/{id}/ship_variant/ Ship a variant and (optionally) end the experiment. Updates the feature flag so the selected variant gets 100% of the variant distribution. By default, existing release conditions on the flag are preserved untouched — the variant is served...
posthog_post_api_projects_by_project_id_experiments_by_id_unarchiveWRITEUnarchive experiment via POST /api/projects/{project_id}/experiments/{id}/unarchive/ Unarchive an archived experiment. Restores the experiment to the default list view. Returns 400 if the experiment is not currently archived.
posthog_post_api_projects_by_project_id_exportsWRITECreate export via POST /api/projects/{project_id}/exports/
posthog_post_api_projects_by_project_id_feature_flagsWRITECreate feature flag via POST /api/projects/{project_id}/feature_flags/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_post_api_projects_by_project_id_feature_flags_bulk_deleteWRITEBulk delete feature flags via POST /api/projects/{project_id}/feature_flags/bulk_delete/ Bulk delete feature flags by filter criteria or explicit IDs. Accepts either: - {"filters": {...}} - Same filter params as list endpoint (search, active, type, etc.) - {"ids": [...]} - Explicit list of flag IDs (no limit) Returns same...
posthog_post_api_projects_by_project_id_feature_flags_bulk_update_tagsWRITEBulk update tags feature flags via POST /api/projects/{project_id}/feature_flags/bulk_update_tags/ Bulk update tags on multiple objects. PAT access: this action has no ``required_scopes=`` on the decorator — inheriting viewsets must add ``"bulk_update_tags"`` to their ``scope_object_write_actions`` list to accept personal API keys....
posthog_post_api_projects_by_project_id_feature_flags_by_id_test_evaluationWRITETest evaluation feature flag via POST /api/projects/{project_id}/feature_flags/{id}/test_evaluation/ Test feature flag evaluation against a specific user at an optional point in time. This endpoint allows testing how a feature flag would evaluate for a specific user, optionally at a historical timestamp. When a timestamp is provided, both...
posthog_post_api_projects_by_project_id_feature_flags_user_blast_radiusWRITECreate feature flags user blast radius via POST /api/projects/{project_id}/feature_flags/user_blast_radius/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_post_api_projects_by_project_id_groupsWRITECreate group via POST /api/projects/{project_id}/groups/
posthog_post_api_projects_by_project_id_groups_delete_propertyWRITEDelete property groups via POST /api/projects/{project_id}/groups/delete_property/
posthog_post_api_projects_by_project_id_groups_types_by_group_type_index_metricsWRITECreate group type metrics via POST /api/projects/{project_id}/groups_types/{group_type_index}/metrics/
posthog_post_api_projects_by_project_id_groups_update_propertyWRITEUpdate property groups via POST /api/projects/{project_id}/groups/update_property/
posthog_post_api_projects_by_project_id_insight_variablesWRITECreate insight variable via POST /api/projects/{project_id}/insight_variables/
posthog_post_api_projects_by_project_id_insightsWRITECreate insight via POST /api/projects/{project_id}/insights/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +...
posthog_post_api_projects_by_project_id_insights_bulk_deleteWRITEBulk delete insights via POST /api/projects/{project_id}/insights/bulk_delete/ Soft-delete insights in bulk by ID. Mirrors the single-insight delete: sets deleted=True, soft-deletes the insights' dashboard tiles, and removes their linked alerts. Insights the requester cannot edit are skipped and reported in...
posthog_post_api_projects_by_project_id_insights_bulk_restoreWRITEBulk restore insights via POST /api/projects/{project_id}/insights/bulk_restore/ Restore soft-deleted insights in bulk by ID — the inverse of bulk_delete. Sets deleted=False and re-activates the insights' dashboard tiles on dashboards that still exist. Linked alerts are not restored (they are removed on delete)....
posthog_post_api_projects_by_project_id_insights_by_insight_id_sharing_passwordsWRITECreate insight sharing passwords via POST /api/projects/{project_id}/insights/{insight_id}/sharing/passwords/ Create a new password for the sharing configuration.
posthog_post_api_projects_by_project_id_insights_by_insight_id_sharing_refreshWRITECreate insight sharing refresh via POST /api/projects/{project_id}/insights/{insight_id}/sharing/refresh/
posthog_post_api_projects_by_project_id_insights_viewedWRITEViewed insights via POST /api/projects/{project_id}/insights/viewed/ Record that the current user has just viewed one or more insights. Submitted ids that do not belong to the current project or that point at deleted insights are silently dropped, as are views from impersonated staff-support sessions....
posthog_post_api_projects_by_project_id_persons_batch_by_distinct_idsWRITECreate persons batch by distinct ids via POST /api/projects/{project_id}/persons/batch_by_distinct_ids/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_post_api_projects_by_project_id_persons_batch_by_uuidsWRITECreate persons batch by uuids via POST /api/projects/{project_id}/persons/batch_by_uuids/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_post_api_projects_by_project_id_persons_bulk_deleteWRITEBulk delete persons via POST /api/projects/{project_id}/persons/bulk_delete/ This endpoint allows you to bulk delete persons, either by the PostHog person IDs or by distinct IDs. You can pass in a maximum of 1000 IDs per call. Only events captured before the request will be deleted.
posthog_post_api_projects_by_project_id_persons_by_id_delete_propertyWRITEDelete property person via POST /api/projects/{project_id}/persons/{id}/delete_property/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_post_api_projects_by_project_id_persons_by_id_splitWRITESplit person via POST /api/projects/{project_id}/persons/{id}/split/ Split distinct_ids off a merged person. Two mutually exclusive modes: - **`distinct_ids_to_split`** (recommended for surgical edits): moves only the listed distinct_ids off this person onto new single-id persons. The original person keeps...
posthog_post_api_projects_by_project_id_persons_by_id_update_propertyWRITEUpdate property person via POST /api/projects/{project_id}/persons/{id}/update_property/ This endpoint is meant for reading and deleting persons. To create or update persons, we recommend using the [capture API](https://posthog.com/docs/api/capture), the `$set` and `$unset`...
posthog_post_api_projects_by_project_id_persons_reset_person_distinct_idWRITEReset person distinct id via POST /api/projects/{project_id}/persons/reset_person_distinct_id/ Reset a distinct_id for a deleted person. This allows the distinct_id to be used again.
posthog_post_api_projects_by_project_id_queryWRITECreate query via POST /api/projects/{project_id}/query/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +...
posthog_post_api_projects_by_project_id_session_recording_playlistsWRITECreate session recording playlist via POST /api/projects/{project_id}/session_recording_playlists/
posthog_post_api_projects_by_project_id_session_recording_playlists_by_short_id_recordings_by_session_recording_idWRITECreate session recording playlist recording via POST /api/projects/{project_id}/session_recording_playlists/{short_id}/recordings/{session_recording_id}/
posthog_post_api_projects_by_project_id_session_recordings_by_recording_id_sharing_passwordsWRITECreate session recording sharing passwords via POST /api/projects/{project_id}/session_recordings/{recording_id}/sharing/passwords/ Create a new password for the sharing configuration.
posthog_post_api_projects_by_project_id_session_recordings_by_recording_id_sharing_refreshWRITECreate session recording sharing refresh via POST /api/projects/{project_id}/session_recordings/{recording_id}/sharing/refresh/
posthog_post_api_projects_by_project_id_subscriptionsWRITECreate subscription via POST /api/projects/{project_id}/subscriptions/
posthog_post_api_projects_by_project_id_subscriptions_by_id_test_deliveryWRITETest delivery subscription via POST /api/projects/{project_id}/subscriptions/{id}/test-delivery/
posthog_post_api_projects_by_project_id_surveysWRITECreate survey via POST /api/projects/{project_id}/surveys/
posthog_post_api_projects_by_project_id_surveys_by_id_launchWRITELaunch survey via POST /api/projects/{project_id}/surveys/{id}/launch/ Launch a survey by setting `start_date` to the current time. No-op if the survey is already launched (start_date set in the past) — returns the existing state unchanged. Does not affect archived surveys or surveys with an end_date in the...
posthog_post_api_projects_by_project_id_surveys_by_id_responses_by_response_uuid_archiveWRITECreate survey responses archive via POST /api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/archive/ Archive a single survey response.
posthog_post_api_projects_by_project_id_surveys_by_id_responses_by_response_uuid_unarchiveWRITECreate survey responses unarchive via POST /api/projects/{project_id}/surveys/{id}/responses/{response_uuid}/unarchive/ Unarchive a single survey response.
posthog_post_api_projects_by_project_id_surveys_by_id_stopWRITEStop survey via POST /api/projects/{project_id}/surveys/{id}/stop/ Stop a survey by setting `end_date` to the current time. No new responses are accepted after this; existing responses remain available. No-op if the survey already has an end_date in the past.
posthog_put_api_organizations_by_idWRITEReplace organization via PUT /api/organizations/{id}/
posthog_put_api_organizations_by_organization_id_domains_by_idWRITEReplace organization domain via PUT /api/organizations/{organization_id}/domains/{id}/
posthog_put_api_organizations_by_organization_id_members_by_user_uuidWRITEReplace organization member via PUT /api/organizations/{organization_id}/members/{user__uuid}/
posthog_put_api_organizations_by_organization_id_projects_by_idWRITEReplace project via PUT /api/organizations/{organization_id}/projects/{id}/ Replace a project and its settings. Prefer the PATCH endpoint for partial updates — PUT requires every writable field to be provided.
posthog_put_api_organizations_by_organization_id_roles_by_idWRITEReplace role via PUT /api/organizations/{organization_id}/roles/{id}/ Role endpoints disclose member records, so they scope them the same way the members list does when the org restricts member list visibility.
posthog_put_api_projects_by_project_id_actions_by_idWRITEReplace action via PUT /api/projects/{project_id}/actions/{id}/
posthog_put_api_projects_by_project_id_alerts_by_idWRITEReplace alert via PUT /api/projects/{project_id}/alerts/{id}/
posthog_put_api_projects_by_project_id_annotations_by_idWRITEReplace annotation via PUT /api/projects/{project_id}/annotations/{id}/ Create, Read, Update and Delete annotations. [See docs](https://posthog.com/docs/data/annotations) for more information on annotations.
posthog_put_api_projects_by_project_id_cohorts_by_idWRITEReplace cohort via PUT /api/projects/{project_id}/cohorts/{id}/
posthog_put_api_projects_by_project_id_comments_by_idWRITEReplace comment via PUT /api/projects/{project_id}/comments/{id}/
posthog_put_api_projects_by_project_id_dashboard_templates_by_idWRITEReplace dashboard template via PUT /api/projects/{project_id}/dashboard_templates/{id}/
posthog_put_api_projects_by_project_id_dashboards_by_idWRITEReplace dashboard via PUT /api/projects/{project_id}/dashboards/{id}/
posthog_put_api_projects_by_project_id_early_access_feature_by_idWRITEReplace early access feature via PUT /api/projects/{project_id}/early_access_feature/{id}/
posthog_put_api_projects_by_project_id_event_definitions_by_idWRITEReplace event definition via PUT /api/projects/{project_id}/event_definitions/{id}/
posthog_put_api_projects_by_project_id_experiment_holdouts_by_idWRITEReplace experiment holdout via PUT /api/projects/{project_id}/experiment_holdouts/{id}/
posthog_put_api_projects_by_project_id_experiment_saved_metrics_by_idWRITEReplace experiment saved metric via PUT /api/projects/{project_id}/experiment_saved_metrics/{id}/
posthog_put_api_projects_by_project_id_experiments_by_idWRITEReplace experiment via PUT /api/projects/{project_id}/experiments/{id}/ Mixin for ViewSets to handle approval-gate exceptions raised from decorated serializers. Intercepts ApprovalRequired (409) and PolicyConflict (400) raised by the @approval_gate decorator on serializer methods and converts them into the...
posthog_put_api_projects_by_project_id_feature_flags_by_idWRITEReplace feature flag via PUT /api/projects/{project_id}/feature_flags/{id}/ Create, read, update and delete feature flags. [See docs](https://posthog.com/docs/feature-flags) for more information on feature flags. If you're looking to use feature flags on your application, you can either use our JavaScript Library...
posthog_put_api_projects_by_project_id_groups_types_by_group_type_index_metrics_by_idWRITEReplace group type metric via PUT /api/projects/{project_id}/groups_types/{group_type_index}/metrics/{id}/
posthog_put_api_projects_by_project_id_insight_variables_by_idWRITEReplace insight variable via PUT /api/projects/{project_id}/insight_variables/{id}/
posthog_put_api_projects_by_project_id_insights_by_idWRITEReplace insight via PUT /api/projects/{project_id}/insights/{id}/ DRF ViewSet mixin that gates coalesced responses behind permission checks. The QueryCoalescingMiddleware attaches cached response data to request.META["_coalesced_response"] for followers. This mixin runs DRF's initial() (auth +...
posthog_put_api_projects_by_project_id_persons_by_idWRITEReplace person via PUT /api/projects/{project_id}/persons/{id}/ Only for setting properties on the person. "properties" from the request data will be updated via a "$set" event. This means that only the properties listed will be updated, but other properties won't be removed nor updated. If you would...
posthog_put_api_projects_by_project_id_property_definitions_by_idWRITEReplace property definition via PUT /api/projects/{project_id}/property_definitions/{id}/
posthog_put_api_projects_by_project_id_session_recording_playlists_by_short_idWRITEReplace session recording playlist via PUT /api/projects/{project_id}/session_recording_playlists/{short_id}/
posthog_put_api_projects_by_project_id_session_recordings_by_idWRITEReplace session recording via PUT /api/projects/{project_id}/session_recordings/{id}/
posthog_put_api_projects_by_project_id_subscriptions_by_idWRITEReplace subscription via PUT /api/projects/{project_id}/subscriptions/{id}/
posthog_put_api_projects_by_project_id_surveys_by_idWRITEReplace survey via PUT /api/projects/{project_id}/surveys/{id}/
Put PostHog behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.