PostHog · Schema

DataTableNode

A/B TestingAnalyticsFeature FlagsOpen SourceProduct AnalyticsSession Recording

Properties

Name Type Description
allowSorting boolean Can the user click on column headers to sort the table? (default: true)
columns array Columns shown in the table, unless the `source` provides them.
context object Context for the table, used by components like ColumnConfigurator
contextKey string Context key for universal column configuration (e.g., "survey:123")
defaultColumns array Default columns to use when resetting column configuration
embedded boolean Uses the embedded version of LemonTable
expandable boolean Can expand row to show raw event data (default: true)
full boolean Show with most visual options enabled. Used in scenes.
hiddenColumns array Columns that aren't shown in the table, even if in columns or returned data
kind string
pinnedColumns array Columns that are sticky when scrolling horizontally
propertiesViaUrl boolean Link properties via the URL (default: false)
response object
showActions boolean Show the kebab menu at the end of the row
showColumnConfigurator boolean Show a button to configure the table's columns if possible
showCount boolean Show count of total and filtered results
showDateRange boolean Show date range selector
showElapsedTime boolean Show the time it takes to run a query
showEventFilter boolean Include an event filter above the table (EventsNode only)
showEventsFilter boolean Include an events filter above the table to filter by multiple events (EventsQuery only)
showExport boolean Show the export button
showHogQLEditor boolean Include a HogQL query editor above HogQL tables
showOpenEditorButton boolean Show a button to open the current query as a new insight. (default: true)
showPersistentColumnConfigurator boolean Show a button to configure and persist the table's default columns if possible
showPropertyFilter object Include a property filter above the table
showRecordingColumn boolean Show a recording column for events with session recordings
showReload boolean Show a reload button
showResultsTable boolean Show a results table
showSavedFilters boolean Show saved filters feature for this table (requires uniqueKey)
showSavedQueries boolean Shows a list of saved queries
showSearch boolean Include a free text search field (PersonsNode only)
showSourceQueryOptions boolean Show actors query options and back to source
showTableViews boolean Show table views feature for this table (requires uniqueKey)
showTestAccountFilters boolean Show filter to exclude test accounts
showTimings boolean Show a detailed query timing breakdown
source object Source of the events
tags object
version number version of the node, used for schema migrations
View JSON Schema on GitHub

JSON Schema

posthog-datatablenode-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/DataTableNode",
  "title": "DataTableNode",
  "additionalProperties": false,
  "properties": {
    "allowSorting": {
      "default": null,
      "description": "Can the user click on column headers to sort the table? (default: true)",
      "title": "Allowsorting",
      "type": "boolean",
      "nullable": true
    },
    "columns": {
      "default": null,
      "description": "Columns shown in the table, unless the `source` provides them.",
      "title": "Columns",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "context": {
      "default": null,
      "description": "Context for the table, used by components like ColumnConfigurator",
      "allOf": [
        {
          "$ref": "#/components/schemas/DataTableNodeViewPropsContext"
        }
      ],
      "nullable": true
    },
    "contextKey": {
      "default": null,
      "description": "Context key for universal column configuration (e.g., \"survey:123\")",
      "title": "Contextkey",
      "type": "string",
      "nullable": true
    },
    "defaultColumns": {
      "default": null,
      "description": "Default columns to use when resetting column configuration",
      "title": "Defaultcolumns",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "embedded": {
      "default": null,
      "description": "Uses the embedded version of LemonTable",
      "title": "Embedded",
      "type": "boolean",
      "nullable": true
    },
    "expandable": {
      "default": null,
      "description": "Can expand row to show raw event data (default: true)",
      "title": "Expandable",
      "type": "boolean",
      "nullable": true
    },
    "full": {
      "default": null,
      "description": "Show with most visual options enabled. Used in scenes.",
      "title": "Full",
      "type": "boolean",
      "nullable": true
    },
    "hiddenColumns": {
      "default": null,
      "description": "Columns that aren't shown in the table, even if in columns or returned data",
      "title": "Hiddencolumns",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "kind": {
      "default": "DataTableNode",
      "title": "Kind",
      "type": "string",
      "enum": [
        "DataTableNode"
      ]
    },
    "pinnedColumns": {
      "default": null,
      "description": "Columns that are sticky when scrolling horizontally",
      "title": "Pinnedcolumns",
      "items": {
        "type": "string"
      },
      "type": "array",
      "nullable": true
    },
    "propertiesViaUrl": {
      "default": null,
      "description": "Link properties via the URL (default: false)",
      "title": "Propertiesviaurl",
      "type": "boolean",
      "nullable": true
    },
    "response": {
      "default": null,
      "title": "Response",
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "$ref": "#/components/schemas/Response"
        },
        {
          "$ref": "#/components/schemas/Response1"
        },
        {
          "$ref": "#/components/schemas/Response2"
        },
        {
          "$ref": "#/components/schemas/Response3"
        },
        {
          "$ref": "#/components/schemas/Response4"
        },
        {
          "$ref": "#/components/schemas/Response5"
        },
        {
          "$ref": "#/components/schemas/Response6"
        },
        {
          "$ref": "#/components/schemas/Response8"
        },
        {
          "$ref": "#/components/schemas/Response9"
        },
        {
          "$ref": "#/components/schemas/Response10"
        },
        {
          "$ref": "#/components/schemas/Response11"
        },
        {
          "$ref": "#/components/schemas/Response12"
        },
        {
          "$ref": "#/components/schemas/Response13"
        },
        {
          "$ref": "#/components/schemas/Response14"
        },
        {
          "$ref": "#/components/schemas/Response15"
        },
        {
          "$ref": "#/components/schemas/Response16"
        },
        {
          "$ref": "#/components/schemas/Response18"
        },
        {
          "$ref": "#/components/schemas/Response19"
        },
        {
          "$ref": "#/components/schemas/Response20"
        },
        {
          "$ref": "#/components/schemas/Response21"
        },
        {
          "$ref": "#/components/schemas/Response22"
        },
        {
          "$ref": "#/components/schemas/Response23"
        },
        {
          "$ref": "#/components/schemas/Response24"
        },
        {
          "$ref": "#/components/schemas/Response25"
        },
        {
          "$ref": "#/components/schemas/Response26"
        }
      ],
      "nullable": true
    },
    "showActions": {
      "default": null,
      "description": "Show the kebab menu at the end of the row",
      "title": "Showactions",
      "type": "boolean",
      "nullable": true
    },
    "showColumnConfigurator": {
      "default": null,
      "description": "Show a button to configure the table's columns if possible",
      "title": "Showcolumnconfigurator",
      "type": "boolean",
      "nullable": true
    },
    "showCount": {
      "default": null,
      "description": "Show count of total and filtered results",
      "title": "Showcount",
      "type": "boolean",
      "nullable": true
    },
    "showDateRange": {
      "default": null,
      "description": "Show date range selector",
      "title": "Showdaterange",
      "type": "boolean",
      "nullable": true
    },
    "showElapsedTime": {
      "default": null,
      "description": "Show the time it takes to run a query",
      "title": "Showelapsedtime",
      "type": "boolean",
      "nullable": true
    },
    "showEventFilter": {
      "default": null,
      "description": "Include an event filter above the table (EventsNode only)",
      "title": "Showeventfilter",
      "type": "boolean",
      "nullable": true
    },
    "showEventsFilter": {
      "default": null,
      "description": "Include an events filter above the table to filter by multiple events (EventsQuery only)",
      "title": "Showeventsfilter",
      "type": "boolean",
      "nullable": true
    },
    "showExport": {
      "default": null,
      "description": "Show the export button",
      "title": "Showexport",
      "type": "boolean",
      "nullable": true
    },
    "showHogQLEditor": {
      "default": null,
      "description": "Include a HogQL query editor above HogQL tables",
      "title": "Showhogqleditor",
      "type": "boolean",
      "nullable": true
    },
    "showOpenEditorButton": {
      "default": null,
      "description": "Show a button to open the current query as a new insight. (default: true)",
      "title": "Showopeneditorbutton",
      "type": "boolean",
      "nullable": true
    },
    "showPersistentColumnConfigurator": {
      "default": null,
      "description": "Show a button to configure and persist the table's default columns if possible",
      "title": "Showpersistentcolumnconfigurator",
      "type": "boolean",
      "nullable": true
    },
    "showPropertyFilter": {
      "default": null,
      "description": "Include a property filter above the table",
      "title": "Showpropertyfilter",
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/components/schemas/TaxonomicFilterGroupType"
          },
          "type": "array"
        }
      ],
      "nullable": true
    },
    "showRecordingColumn": {
      "default": null,
      "description": "Show a recording column for events with session recordings",
      "title": "Showrecordingcolumn",
      "type": "boolean",
      "nullable": true
    },
    "showReload": {
      "default": null,
      "description": "Show a reload button",
      "title": "Showreload",
      "type": "boolean",
      "nullable": true
    },
    "showResultsTable": {
      "default": null,
      "description": "Show a results table",
      "title": "Showresultstable",
      "type": "boolean",
      "nullable": true
    },
    "showSavedFilters": {
      "default": null,
      "description": "Show saved filters feature for this table (requires uniqueKey)",
      "title": "Showsavedfilters",
      "type": "boolean",
      "nullable": true
    },
    "showSavedQueries": {
      "default": null,
      "description": "Shows a list of saved queries",
      "title": "Showsavedqueries",
      "type": "boolean",
      "nullable": true
    },
    "showSearch": {
      "default": null,
      "description": "Include a free text search field (PersonsNode only)",
      "title": "Showsearch",
      "type": "boolean",
      "nullable": true
    },
    "showSourceQueryOptions": {
      "default": null,
      "description": "Show actors query options and back to source",
      "title": "Showsourcequeryoptions",
      "type": "boolean",
      "nullable": true
    },
    "showTableViews": {
      "default": null,
      "description": "Show table views feature for this table (requires uniqueKey)",
      "title": "Showtableviews",
      "type": "boolean",
      "nullable": true
    },
    "showTestAccountFilters": {
      "default": null,
      "description": "Show filter to exclude test accounts",
      "title": "Showtestaccountfilters",
      "type": "boolean",
      "nullable": true
    },
    "showTimings": {
      "default": null,
      "description": "Show a detailed query timing breakdown",
      "title": "Showtimings",
      "type": "boolean",
      "nullable": true
    },
    "source": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/EventsNode"
        },
        {
          "$ref": "#/components/schemas/EventsQuery"
        },
        {
          "$ref": "#/components/schemas/PersonsNode"
        },
        {
          "$ref": "#/components/schemas/ActorsQuery"
        },
        {
          "$ref": "#/components/schemas/GroupsQuery"
        },
        {
          "$ref": "#/components/schemas/HogQLQuery"
        },
        {
          "$ref": "#/components/schemas/WebOverviewQuery"
        },
        {
          "$ref": "#/components/schemas/WebStatsTableQuery"
        },
        {
          "$ref": "#/components/schemas/WebExternalClicksTableQuery"
        },
        {
          "$ref": "#/components/schemas/WebGoalsQuery"
        },
        {
          "$ref": "#/components/schemas/WebVitalsQuery"
        },
        {
          "$ref": "#/components/schemas/WebVitalsPathBreakdownQuery"
        },
        {
          "$ref": "#/components/schemas/SessionAttributionExplorerQuery"
        },
        {
          "$ref": "#/components/schemas/SessionsQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueAnalyticsGrossRevenueQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueAnalyticsMetricsQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueAnalyticsMRRQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueAnalyticsOverviewQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueAnalyticsTopCustomersQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueExampleEventsQuery"
        },
        {
          "$ref": "#/components/schemas/RevenueExampleDataWarehouseTablesQuery"
        },
        {
          "$ref": "#/components/schemas/MarketingAnalyticsTableQuery"
        },
        {
          "$ref": "#/components/schemas/MarketingAnalyticsAggregatedQuery"
        },
        {
          "$ref": "#/components/schemas/NonIntegratedConversionsTableQuery"
        },
        {
          "$ref": "#/components/schemas/ErrorTrackingQuery"
        },
        {
          "$ref": "#/components/schemas/ErrorTrackingIssueCorrelationQuery"
        },
        {
          "$ref": "#/components/schemas/ExperimentFunnelsQuery"
        },
        {
          "$ref": "#/components/schemas/ExperimentTrendsQuery"
        },
        {
          "$ref": "#/components/schemas/TracesQuery"
        },
        {
          "$ref": "#/components/schemas/TraceQuery"
        },
        {
          "$ref": "#/components/schemas/EndpointsUsageTableQuery"
        }
      ],
      "description": "Source of the events",
      "title": "Source"
    },
    "tags": {
      "default": null,
      "allOf": [
        {
          "$ref": "#/components/schemas/QueryLogTags"
        }
      ],
      "nullable": true
    },
    "version": {
      "default": null,
      "description": "version of the node, used for schema migrations",
      "title": "Version",
      "type": "number",
      "nullable": true
    }
  },
  "required": [
    "source"
  ],
  "type": "object"
}