PostHog · Schema

RecordingsQuery

A/B TestingAnalyticsFeature FlagsOpen SourceProduct AnalyticsSession Recording

Properties

Name Type Description
actions array
after string Cursor for pagination. Contains the ordering value and session_id from the last record of the previous page.
comment_text object
console_log_filters array
date_from string
date_to string
distinct_ids array
events array
filter_test_accounts boolean
having_predicates array
kind string
limit integer
modifiers object Modifiers used when performing the query
offset integer
operand object
order object
order_direction object Replay originally had all ordering as descending by specifying the field name, this runs counter to Django behavior where the field name specifies ascending sorting (e.g. the_field_name) and -the_fiel
person_uuid string
properties array
response object
session_ids array
session_recording_id string If provided, this recording will be fetched and prepended to the results, even if it doesn't match the filters
tags object
user_modified_filters object
version number version of the node, used for schema migrations
View JSON Schema on GitHub

JSON Schema

posthog-recordingsquery-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/RecordingsQuery",
  "title": "RecordingsQuery",
  "additionalProperties": false,
  "properties": {
    "actions": {
      "default": null,
      "title": "Actions",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array",
      "nullable": true
    },
    "after": {
      "default": null,
      "description": "Cursor for pagination. Contains the ordering value and session_id from the last record of the previous page.",
      "title": "After",
      "type": "string",
      "nullable": true
    },
    "comment_text": {
      "default": null,
      "allOf": [
        {
          "$ref": "#/components/schemas/RecordingPropertyFilter"
        }
      ],
      "nullable": true
    },
    "console_log_filters": {
      "default": null,
      "title": "Console Log Filters",
      "items": {
        "$ref": "#/components/schemas/LogEntryPropertyFilter"
      },
      "type": "array",
      "nullable": true
    },
    "date_from": {
      "default": "-3d",
      "title": "Date From",
      "type": "string",
      "nullable": true
    },
    "date_to": {
      "default": null,
      "title": "Date To",
      "type": "string",
      "nullable": true
    },
    "distinct_ids": {
      "default": null,
      "title": "Distinct Ids",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "events": {
      "default": null,
      "title": "Events",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array",
      "nullable": true
    },
    "filter_test_accounts": {
      "default": null,
      "title": "Filter Test Accounts",
      "type": "boolean",
      "nullable": true
    },
    "having_predicates": {
      "default": null,
      "title": "Having Predicates",
      "items": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/EventPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/PersonPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/ElementPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/EventMetadataPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/SessionPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/CohortPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/RecordingPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/LogEntryPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/GroupPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/FeaturePropertyFilter"
          },
          {
            "$ref": "#/components/schemas/FlagPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/HogQLPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/EmptyPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/DataWarehousePropertyFilter"
          },
          {
            "$ref": "#/components/schemas/DataWarehousePersonPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/ErrorTrackingIssueFilter"
          },
          {
            "$ref": "#/components/schemas/LogPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/SpanPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/RevenueAnalyticsPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/WorkflowVariablePropertyFilter"
          }
        ]
      },
      "type": "array",
      "nullable": true
    },
    "kind": {
      "default": "RecordingsQuery",
      "title": "Kind",
      "type": "string",
      "enum": [
        "RecordingsQuery"
      ]
    },
    "limit": {
      "default": null,
      "title": "Limit",
      "type": "integer",
      "nullable": true
    },
    "modifiers": {
      "default": null,
      "description": "Modifiers used when performing the query",
      "allOf": [
        {
          "$ref": "#/components/schemas/HogQLQueryModifiers"
        }
      ],
      "nullable": true
    },
    "offset": {
      "default": null,
      "title": "Offset",
      "type": "integer",
      "nullable": true
    },
    "operand": {
      "default": "AND",
      "allOf": [
        {
          "$ref": "#/components/schemas/FilterLogicalOperator"
        }
      ],
      "nullable": true
    },
    "order": {
      "default": "start_time",
      "allOf": [
        {
          "$ref": "#/components/schemas/RecordingOrder"
        }
      ],
      "nullable": true
    },
    "order_direction": {
      "default": "DESC",
      "description": "Replay originally had all ordering as descending by specifying the field name, this runs counter to Django behavior where the field name specifies ascending sorting (e.g. the_field_name) and -the_field_name would indicate descending order to avoid invalidating or migrating all existing filters we keep DESC as the default or allow specification of an explicit order direction here",
      "allOf": [
        {
          "$ref": "#/components/schemas/RecordingOrderDirection"
        }
      ],
      "nullable": true
    },
    "person_uuid": {
      "default": null,
      "title": "Person Uuid",
      "type": "string",
      "nullable": true
    },
    "properties": {
      "default": null,
      "title": "Properties",
      "items": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/EventPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/PersonPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/ElementPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/EventMetadataPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/SessionPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/CohortPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/RecordingPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/LogEntryPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/GroupPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/FeaturePropertyFilter"
          },
          {
            "$ref": "#/components/schemas/FlagPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/HogQLPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/EmptyPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/DataWarehousePropertyFilter"
          },
          {
            "$ref": "#/components/schemas/DataWarehousePersonPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/ErrorTrackingIssueFilter"
          },
          {
            "$ref": "#/components/schemas/LogPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/SpanPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/RevenueAnalyticsPropertyFilter"
          },
          {
            "$ref": "#/components/schemas/WorkflowVariablePropertyFilter"
          }
        ]
      },
      "type": "array",
      "nullable": true
    },
    "response": {
      "default": null,
      "allOf": [
        {
          "$ref": "#/components/schemas/RecordingsQueryResponse"
        }
      ],
      "nullable": true
    },
    "session_ids": {
      "default": null,
      "title": "Session Ids",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "session_recording_id": {
      "default": null,
      "description": "If provided, this recording will be fetched and prepended to the results, even if it doesn't match the filters",
      "title": "Session Recording Id",
      "type": "string",
      "nullable": true
    },
    "tags": {
      "default": null,
      "allOf": [
        {
          "$ref": "#/components/schemas/QueryLogTags"
        }
      ],
      "nullable": true
    },
    "user_modified_filters": {
      "default": null,
      "title": "User Modified Filters",
      "additionalProperties": true,
      "type": "object",
      "nullable": true
    },
    "version": {
      "default": null,
      "description": "version of the node, used for schema migrations",
      "title": "Version",
      "type": "number",
      "nullable": true
    }
  },
  "type": "object"
}