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 |
JSON Schema
{
"$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"
}