Session
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
List all session recordings
Required API key scopes
session_recording:read
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Query parameters
- limitinteger
Number of results to return per page.
- offsetinteger
The initial index from which to return the results.
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
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}]}
Retrieve session recordings
Required API key scopes
session_recording:read
Path parameters
- idstring
A UUID string identifying this session recording.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
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
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}
Delete session recordings
Required API key scopes
session_recording:write
Path parameters
- idstring
A UUID string identifying this session recording.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
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
Status 204 No response body
Create session recordings persist
Path parameters
- idstring
A UUID string identifying this session recording.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- person
Response
Request
POST
/api /projects /:project_id /session_recordings /:id /persist
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl-H 'Content-Type: application/json'\-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/:id/persist/\-d distinct_id="string"
Response
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}
Retrieve 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
- or from Redis if the session is newer than our ingestion limit.
Clients need to call this API twice. First without a source parameter to get a list of sources supported by the given session. And then once for each source in the returned list to get the actual snapshots.
NB version 1 of this API has been deprecated and ClickHouse stored snapshots are no longer supported.
Path parameters
- idstring
A UUID string identifying this session recording.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
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
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}
Create session recordings summarize
Path parameters
- idstring
A UUID string identifying this session recording.
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Request parameters
- person
Response
Request
POST
/api /projects /:project_id /session_recordings /:id /summarize
export POSTHOG_PERSONAL_API_KEY=[your personal api key]curl-H 'Content-Type: application/json'\-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \https://app.posthog.com/api/projects/:project_id/session_recordings/:id/summarize/\-d distinct_id="string"
Response
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}
List all session recordings sharing
Required API key scopes
sharing_configuration:read
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
- recording_idstring
Request
GET
/api /projects /:project_id /session_recordings /:recording_id /sharing
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/:recording_id/sharing/
Response
Status 200
{"created_at": "2019-08-24T14:15:22Z","enabled": true,"access_token": "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
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
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
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}
Retrieve session recordings properties
Path parameters
- project_idstring
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
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
Status 200
{"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": null,"created_at": "2019-08-24T14:15:22Z","uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"},"storage": "string"}