Session
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
List all session recordings
Path Parameters
- project_idstring
Query Parameters
- limitinteger
- offsetinteger
Response
Request
GET
/api /projects /:project_id /session_recordings
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/
Response
RESPONSE
{"count": 123,"next": "http://api.example.org/accounts/?offset=400&limit=100","previous": "http://api.example.org/accounts/?offset=200&limit=100","results": [{"id": "string","distinct_id": "string","viewed": "string","recording_duration": 0,"active_seconds": 0,"inactive_seconds": 0,"start_time": "2019-08-24T14:15:22Z","end_time": "2019-08-24T14:15:22Z","click_count": 0,"keypress_count": 0,"mouse_activity_count": 0,"console_log_count": 0,"console_warn_count": 0,"console_error_count": 0,"start_url": "string","person": {"id": 0,"name": "string","distinct_ids": ["string"],"properties": {"property1": null,"property2": null},"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string","pinned_count": "string"}]}
Retrieve session recordings
Path Parameters
- idstring
- project_idstring
Response
Request
GET
/api /projects /:project_id /session_recordings /:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/:id/
Response
RESPONSE
{"id": "string","distinct_id": "string","viewed": "string","recording_duration": 0,"active_seconds": 0,"inactive_seconds": 0,"start_time": "2019-08-24T14:15:22Z","end_time": "2019-08-24T14:15:22Z","click_count": 0,"keypress_count": 0,"mouse_activity_count": 0,"console_log_count": 0,"console_warn_count": 0,"console_error_count": 0,"start_url": "string","person": {"id": 0,"name": "string","distinct_ids": ["string"],"properties": {"property1": null,"property2": null},"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string","pinned_count": "string"}
Delete session recordings
Path Parameters
- idstring
- project_idstring
Request
DELETE
/api /projects /:project_id /session_recordings /:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl -X DELETE \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/:id/
Response
No responseRetrieve session recordings snapshots
Snapshots can be loaded from multiple places:
- From S3 if the session is older than our ingestion limit. This will be multiple files that can be streamed to the client
- From Redis if the session is newer than our ingestion limit.
- From Clickhouse whilst we are migrating to the new ingestion method
NB calling this API without version=2
in the query params or with no version is deprecated and will be removed in the future
Path Parameters
- idstring
- project_idstring
Response
Request
GET
/api /projects /:project_id /session_recordings /:id /snapshots
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/:id/snapshots/
Response
RESPONSE
{"id": "string","distinct_id": "string","viewed": "string","recording_duration": 0,"active_seconds": 0,"inactive_seconds": 0,"start_time": "2019-08-24T14:15:22Z","end_time": "2019-08-24T14:15:22Z","click_count": 0,"keypress_count": 0,"mouse_activity_count": 0,"console_log_count": 0,"console_warn_count": 0,"console_error_count": 0,"start_url": "string","person": {"id": 0,"name": "string","distinct_ids": ["string"],"properties": {"property1": null,"property2": null},"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string","pinned_count": "string"}
Retrieve session recordings matching events
Gets a list of event ids that match the given session recording filter.
The filter must include a single session ID.
And must include at least one event or action filter.
This API is intended for internal use and might have unannounced breaking changes.
Path Parameters
- project_idstring
Response
Request
GET
/api /projects /:project_id /session_recordings /matching_events
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/matching_events/
Response
RESPONSE
{"id": "string","distinct_id": "string","viewed": "string","recording_duration": 0,"active_seconds": 0,"inactive_seconds": 0,"start_time": "2019-08-24T14:15:22Z","end_time": "2019-08-24T14:15:22Z","click_count": 0,"keypress_count": 0,"mouse_activity_count": 0,"console_log_count": 0,"console_warn_count": 0,"console_error_count": 0,"start_url": "string","person": {"id": 0,"name": "string","distinct_ids": ["string"],"properties": {"property1": null,"property2": null},"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string","pinned_count": "string"}
Retrieve session recordings properties
Path Parameters
- project_idstring
Response
Request
GET
/api /projects /:project_id /session_recordings /properties
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl \-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/properties/
Response
RESPONSE
{"id": "string","distinct_id": "string","viewed": "string","recording_duration": 0,"active_seconds": 0,"inactive_seconds": 0,"start_time": "2019-08-24T14:15:22Z","end_time": "2019-08-24T14:15:22Z","click_count": 0,"keypress_count": 0,"mouse_activity_count": 0,"console_log_count": 0,"console_warn_count": 0,"console_error_count": 0,"start_url": "string","person": {"id": 0,"name": "string","distinct_ids": ["string"],"properties": {"property1": null,"property2": null},"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string","pinned_count": "string"}