Session

For instructions on how to authenticate to use this endpoint, see API overview.

List all session recordings

Required API key scopes

session_recording:read

Path parameters

  • project_id
    string

    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

  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}
]
}

Retrieve session recordings

Required API key scopes

session_recording:read

Path parameters

  • id
    string

    A UUID string identifying this session recording.

  • project_id
    string

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

Delete session recordings

Required API key scopes

session_recording:write

Path parameters

  • id
    string

    A UUID string identifying this session recording.

  • project_id
    string

    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

  • id
    string

    A UUID string identifying this session recording.

  • project_id
    string

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

Retrieve session recordings similar sessions

Path parameters

  • id
    string

    A UUID string identifying this session recording.

  • project_id
    string

    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/similar_sessions
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/similar_sessions/

Response

Status 200
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

Retrieve session recordings snapshots

Snapshots can be loaded from multiple places:

  1. From S3 if the session is older than our ingestion limit. This will be multiple files that can be streamed to the client
  2. 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

  • id
    string

    A UUID string identifying this session recording.

  • project_id
    string

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

Create session recordings summarize

Path parameters

  • id
    string

    A UUID string identifying this session recording.

  • project_id
    string

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

List all session recordings sharing

Required API key scopes

sharing_configuration:read

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

  • recording_id
    string

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
RESPONSE
{
"created_at": "2019-08-24T14:15:22Z",
"enabled": true,
"access_token": "string"
}

Retrieve session recordings error clusters

Path parameters

  • project_id
    string

    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/error_clusters
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/error_clusters/

Response

Status 200
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "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_id
    string

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

Retrieve session recordings properties

Path parameters

  • project_id
    string

    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
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": null,
"created_at": "2019-08-24T14:15:22Z",
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
},
"storage": "string",
"snapshot_source": "string"
}

Questions?

Was this page useful?