{ "opencollection": "1.0.0", "info": { "name": "PostHog actions persons API", "version": "1.0.0" }, "items": [ { "info": { "name": "persons", "type": "folder" }, "items": [ { "info": { "name": "environments_persons_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/", "params": [ { "name": "distinct_id", "value": "", "type": "query", "description": "Filter list by distinct id." }, { "name": "email", "value": "", "type": "query", "description": "Filter persons by email (exact match)" }, { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "properties", "value": "", "type": "query", "description": "Filter Persons by person properties." }, { "name": "search", "value": "", "type": "query", "description": "Search persons, either by email (full text search) or distinct_id (exact match)." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_update", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Only for setting properties on the person. \"properties\" from the request data will be updated via a \"$set\" event.\nThis means that only the properties listed will be updated, but other properties won't be removed nor updated.\nIf you would like to remove a property use the `delete_property` endpoint." }, { "info": { "name": "environments_persons_partial_update", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_activity_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/activity/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique integer value identifying this person." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_delete_property_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/delete_property/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_properties_timeline_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/properties_timeline/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique integer value identifying this person." } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_split_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/split/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique integer value identifying this person." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_update_property_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/:id/update_property/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_all_activity_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/activity/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_batch_by_distinct_ids_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/batch_by_distinct_ids/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_batch_by_uuids_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/batch_by_uuids/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_bulk_delete_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/bulk_delete/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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." }, { "info": { "name": "environments_persons_cohorts_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/cohorts/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "person_id", "value": "", "type": "query", "description": "The person ID or UUID to get cohorts for." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_deletion_status_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/deletion_status/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "person_uuid", "value": "", "type": "query", "description": "Filter by a specific person UUID." }, { "name": "status", "value": "", "type": "query", "description": "Filter by deletion status: 'pending', 'completed', or 'all'." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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." }, { "info": { "name": "environments_persons_funnel_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/funnel/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_funnel_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/funnel/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_funnel_correlation_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/funnel/correlation/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_funnel_correlation_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/funnel/correlation/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_lifecycle_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/lifecycle/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_properties_at_time_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/properties_at_time/", "params": [ { "name": "debug", "value": "", "type": "query", "description": "Whether to include debug information with raw events (only works when DEBUG=True, default: false)" }, { "name": "distinct_id", "value": "", "type": "query", "description": "The distinct_id of the person (mutually exclusive with person_id)" }, { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "include_set_once", "value": "", "type": "query", "description": "Whether to handle $set_once operations (default: false)" }, { "name": "person_id", "value": "", "type": "query", "description": "The person_id (UUID) to build properties for (mutually exclusive with distinct_id)" }, { "name": "timestamp", "value": "", "type": "query", "description": "ISO datetime string for the point in time (e.g., '2023-06-15T14:30:00Z')" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get person properties as they existed at a specific point in time.\n\nThis endpoint reconstructs person properties by querying ClickHouse events\nfor $set and $set_once operations up to the specified timestamp.\n\nQuery parameters:\n- distinct_id: The distinct_id of the person\n- timestamp: ISO datetime string for the point in time (e.g., \"2023-06-15T14:30:00Z\")\n- include_set_once: Whether to handle $set_once operations (default: false)\n- debug: Whether to include debug information with raw events (def" }, { "info": { "name": "environments_persons_reset_person_distinct_id_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:environment_id/persons/reset_person_distinct_id/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Reset a distinct_id for a deleted person. This allows the distinct_id to be used again." }, { "info": { "name": "environments_persons_trends_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/trends/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "environments_persons_values_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:environment_id/persons/values/", "params": [ { "name": "environment_id", "value": "", "type": "path", "description": "Deprecated. Use /api/projects/{project_id}/ instead." }, { "name": "format", "value": "", "type": "query" }, { "name": "key", "value": "", "type": "query", "description": "The person property key to get values for (e.g., 'email', 'plan', 'role')." }, { "name": "value", "value": "", "type": "query", "description": "Optional search string to filter values (case-insensitive substring match)." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/", "params": [ { "name": "distinct_id", "value": "", "type": "query", "description": "Filter list by distinct id." }, { "name": "email", "value": "", "type": "query", "description": "Filter persons by email (exact match)" }, { "name": "format", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "properties", "value": "", "type": "query", "description": "Filter Persons by person properties." }, { "name": "search", "value": "", "type": "query", "description": "Search persons, either by email (full text search) or distinct_id (exact match)." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_update", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Only for setting properties on the person. \"properties\" from the request data will be updated via a \"$set\" event.\nThis means that only the properties listed will be updated, but other properties won't be removed nor updated.\nIf you would like to remove a property use the `delete_property` endpoint." }, { "info": { "name": "persons_partial_update", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_activity_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/activity/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique integer value identifying this person." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_delete_property_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/delete_property/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_properties_timeline_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/properties_timeline/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique integer value identifying this person." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_split_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/split/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique integer value identifying this person." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_update_property_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/:id/update_property/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "id", "value": "", "type": "path", "description": "A unique value identifying this person. Accepts both numeric ID and UUID." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_all_activity_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/activity/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_batch_by_distinct_ids_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/batch_by_distinct_ids/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_batch_by_uuids_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/batch_by_uuids/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_bulk_delete_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/bulk_delete/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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." }, { "info": { "name": "persons_cohorts_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/cohorts/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "person_id", "value": "", "type": "query", "description": "The person ID or UUID to get cohorts for." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_deletion_status_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/deletion_status/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "person_uuid", "value": "", "type": "query", "description": "Filter by a specific person UUID." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "status", "value": "", "type": "query", "description": "Filter by deletion status: 'pending', 'completed', or 'all'." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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." }, { "info": { "name": "persons_funnel_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/funnel/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_funnel_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/funnel/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_funnel_correlation_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/funnel/correlation/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_funnel_correlation_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/funnel/correlation/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_lifecycle_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/lifecycle/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_properties_at_time_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/properties_at_time/", "params": [ { "name": "debug", "value": "", "type": "query", "description": "Whether to include debug information with raw events (only works when DEBUG=True, default: false)" }, { "name": "distinct_id", "value": "", "type": "query", "description": "The distinct_id of the person (mutually exclusive with person_id)" }, { "name": "format", "value": "", "type": "query" }, { "name": "include_set_once", "value": "", "type": "query", "description": "Whether to handle $set_once operations (default: false)" }, { "name": "person_id", "value": "", "type": "query", "description": "The person_id (UUID) to build properties for (mutually exclusive with distinct_id)" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "timestamp", "value": "", "type": "query", "description": "ISO datetime string for the point in time (e.g., '2023-06-15T14:30:00Z')" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get person properties as they existed at a specific point in time.\n\nThis endpoint reconstructs person properties by querying ClickHouse events\nfor $set and $set_once operations up to the specified timestamp.\n\nQuery parameters:\n- distinct_id: The distinct_id of the person\n- timestamp: ISO datetime string for the point in time (e.g., \"2023-06-15T14:30:00Z\")\n- include_set_once: Whether to handle $set_once operations (default: false)\n- debug: Whether to include debug information with raw events (def" }, { "info": { "name": "persons_reset_person_distinct_id_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/persons/reset_person_distinct_id/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Reset a distinct_id for a deleted person. This allows the distinct_id to be used again." }, { "info": { "name": "persons_trends_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/trends/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." }, { "info": { "name": "persons_values_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/persons/values/", "params": [ { "name": "format", "value": "", "type": "query" }, { "name": "key", "value": "", "type": "query", "description": "The person property key to get values for (e.g., 'email', 'plan', 'role')." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "value", "value": "", "type": "query", "description": "Optional search string to filter values (case-insensitive substring match)." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "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` [properties](https://posthog.com/docs/product-analytics/user-properties), or one of our SDKs." } ] } ], "bundled": true }