openapi: 3.0.0
info:
title: Lightdash AiAgents Charts API
version: 0.3156.1
description: 'Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens
'
license:
name: MIT
contact:
name: Lightdash Support
email: support@lightdash.com
url: https://docs.lightdash.com/help-and-contact/contact/contact_info/
servers:
- url: /
tags:
- name: Charts
paths:
/api/v1/saved/{chartUuid}/results:
post:
operationId: PostChartResults
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRunQueryResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: 'Deprecated — use the v2 Execute saved chart endpoint instead.
This endpoint was deprecated on 20 March 2025 and is past its sunset date (30 April 2025) — it may be removed at any time. Migrate to the v2 async query flow: Execute saved chart, then Get results.'
summary: Run chart query
tags:
- Charts
deprecated: true
security: []
parameters:
- description: chartUuid for the chart to run
in: path
name: chartUuid
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
invalidateCache:
type: boolean
type: object
x-mint:
content: '
**This endpoint is deprecated and past its sunset date (30 April 2025) — it may be removed at any time.**
Migrate to the v2 async query flow: [Execute saved chart](https://docs.lightdash.com/api-reference/v2/execute-saved-chart) (`POST /api/v2/projects/{projectUuid}/query/chart`) to start the query, then [Get results](https://docs.lightdash.com/api-reference/v2/get-results) to fetch rows. See also [Cancel query](https://docs.lightdash.com/api-reference/v2/cancel-query) and [Download results](https://docs.lightdash.com/api-reference/v2/download-results).
'
/api/v1/saved/{chartUuid}/chart-and-results:
post:
operationId: PostDashboardTile
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRunQueryResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: 'Deprecated — use the v2 Execute dashboard chart endpoint instead.
This endpoint was deprecated on 20 March 2025 and is past its sunset date (20 June 2025) — it may be removed at any time. Migrate to the v2 async query flow: Execute dashboard chart, then Get results.'
summary: Get chart and results
tags:
- Charts
deprecated: true
security: []
parameters:
- in: path
name: chartUuid
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
autoRefresh:
type: boolean
dateZoom:
$ref: '#/components/schemas/DateZoom'
dashboardUuid:
type: string
dashboardSorts:
items:
$ref: '#/components/schemas/SortField'
type: array
invalidateCache:
type: boolean
dashboardFilters:
$ref: '#/components/schemas/AnyType'
required:
- dashboardUuid
- dashboardSorts
- dashboardFilters
type: object
x-mint:
content: '
**This endpoint is deprecated and past its sunset date (20 June 2025) — it may be removed at any time.**
Migrate to the v2 async query flow: [Execute dashboard chart](https://docs.lightdash.com/api-reference/v2/execute-dashboard-chart) (`POST /api/v2/projects/{projectUuid}/query/dashboard-chart`) to start the query, then [Get results](https://docs.lightdash.com/api-reference/v2/get-results) to fetch rows. See also [Cancel query](https://docs.lightdash.com/api-reference/v2/cancel-query) and [Download results](https://docs.lightdash.com/api-reference/v2/download-results).
'
/api/v1/saved/{chartUuid}/history:
get:
operationId: GetChartHistory
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGetChartHistoryResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get chart version history from last 30 days
summary: Get chart version history
tags:
- Charts
security: []
parameters:
- description: chartUuid for the chart
in: path
name: chartUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/version/{versionUuid}:
get:
operationId: GetChartVersion
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiGetChartVersionResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get chart version
summary: Get chart version
tags:
- Charts
security: []
parameters:
- description: chartUuid for the chart
in: path
name: chartUuid
required: true
schema:
type: string
- description: versionUuid for the chart version
in: path
name: versionUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/version/{versionUuid}/results:
post:
operationId: getChartVersionResults
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiRunQueryResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: 'Deprecated — use the v2 Execute saved chart endpoint instead.
This endpoint was deprecated on 20 March 2025 and is past its sunset date (30 April 2025) — it may be removed at any time. Migrate to the v2 async query flow: Execute saved chart, then Get results.'
summary: Get chart version results
tags:
- Charts
deprecated: true
security: []
parameters:
- description: chartUuid for the chart to run
in: path
name: chartUuid
required: true
schema:
type: string
- description: versionUuid for the chart version
in: path
name: versionUuid
required: true
schema:
type: string
x-mint:
content: '
**This endpoint is deprecated and past its sunset date (30 April 2025) — it may be removed at any time.**
Migrate to the v2 async query flow: [Execute saved chart](https://docs.lightdash.com/api-reference/v2/execute-saved-chart) (`POST /api/v2/projects/{projectUuid}/query/chart`) to run the chart''s latest version, then [Get results](https://docs.lightdash.com/api-reference/v2/get-results) to fetch rows. Running a query for a specific chart version has no v2 equivalent.
'
/api/v1/saved/{chartUuid}/rollback/{versionUuid}:
post:
operationId: postChartVersionRollback
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSuccessEmpty'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Rollback chart to version
summary: Rollback chart to version
tags:
- Charts
security: []
parameters:
- description: chartUuid for the chart to run
in: path
name: chartUuid
required: true
schema:
type: string
- description: versionUuid for the chart version
in: path
name: versionUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/calculate-total:
post:
operationId: CalculateTotalFromSavedChart
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiCalculateTotalResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Calculate metric totals from a saved chart
summary: Calculate total from saved chart
tags:
- Charts
deprecated: true
security: []
parameters:
- description: chartUuid for the chart to run
in: path
name: chartUuid
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
properties:
parameters:
$ref: '#/components/schemas/ParametersValuesMap'
invalidateCache:
type: boolean
dashboardFilters:
$ref: '#/components/schemas/AnyType'
type: object
/api/v1/saved/{chartUuid}/promote:
post:
operationId: promoteChart
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPromoteChartResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Promote chart to its upstream project
summary: Promote chart
tags:
- Charts
security: []
parameters:
- description: chartUuid for the chart to run
in: path
name: chartUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/promoteDiff:
get:
operationId: promoteChartDiff
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPromotionChangesResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get diff from chart to promote
summary: Get chart promotion diff
tags:
- Charts
security: []
parameters:
- description: chartUuid for the chart to check diff
in: path
name: chartUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/schedulers:
get:
operationId: getSavedChartSchedulers
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSavedChartSchedulersResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get schedulers for a saved chart
summary: List saved chart schedulers
tags:
- Charts
deprecated: true
security: []
parameters:
- in: path
name: chartUuid
required: true
schema:
type: string
post:
operationId: createSavedChartScheduler
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiCreateSavedChartSchedulerResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Create a scheduler for a saved chart
summary: Create saved chart scheduler
tags:
- Charts
security: []
parameters:
- in: path
name: chartUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/export:
post:
operationId: exportSavedChartImage
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiExportChartImageResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Export a saved chart as a PNG image
summary: Export chart image
tags:
- Charts
security: []
parameters:
- description: chartUuid for the chart to export
in: path
name: chartUuid
required: true
schema:
type: string
/api/v1/saved/{chartUuid}/verification:
post:
operationId: verifyChart
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiContentVerificationResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Verify a chart
summary: Verify chart
tags:
- Charts
security: []
parameters:
- description: The uuid of the chart to verify
in: path
name: chartUuid
required: true
schema:
type: string
delete:
operationId: unverifyChart
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiContentVerificationDeleteResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Remove verification from a chart
summary: Unverify chart
tags:
- Charts
security: []
parameters:
- description: The uuid of the chart to unverify
in: path
name: chartUuid
required: true
schema:
type: string
/api/v2/saved/{chartUuid}/schedulers:
get:
operationId: getSavedChartSchedulers
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSavedChartPaginatedSchedulersResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get all schedulers for a saved chart
summary: List chart schedulers
tags:
- Charts
security: []
parameters:
- description: The uuid of the chart
in: path
name: chartUuid
required: true
schema:
type: string
- description: number of items per page
in: query
name: pageSize
required: false
schema:
format: double
type: number
- description: page number
in: query
name: page
required: false
schema:
format: double
type: number
- description: filter schedulers by name
in: query
name: searchQuery
required: false
schema:
type: string
- description: comma-separated list of scheduler formats to include
in: query
name: formats
required: false
schema:
type: string
- description: include the most recent run for each scheduler
in: query
name: includeLatestRun
required: false
schema:
type: boolean
/api/v2/saved/{chartUuid}/schedulers/{schedulerUuid}/runs:
get:
operationId: getSavedChartSchedulerRuns
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSchedulerRunsResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get the run history of a single scheduler on a chart
summary: List chart scheduler runs
tags:
- Charts
security: []
parameters:
- description: The uuid of the chart
in: path
name: chartUuid
required: true
schema:
type: string
- description: The uuid of the scheduler
in: path
name: schedulerUuid
required: true
schema:
type: string
- description: number of items per page
in: query
name: pageSize
required: false
schema:
format: double
type: number
- description: page number
in: query
name: page
required: false
schema:
format: double
type: number
- description: filter runs by scheduler name
in: query
name: searchQuery
required: false
schema:
type: string
- description: column to sort by (scheduledTime, createdAt)
in: query
name: sortBy
required: false
schema:
type: string
enum:
- scheduledTime
- createdAt
- description: sort direction (asc or desc)
in: query
name: sortDirection
required: false
schema:
type: string
enum:
- asc
- desc
- description: comma-separated list of run statuses to include
in: query
name: statuses
required: false
schema:
type: string
- description: comma-separated list of destination types to include
in: query
name: destinations
required: false
schema:
type: string
/api/v2/projects/{projectUuid}/saved/{chartUuidOrSlug}:
get:
operationId: getProjectSavedChart
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSavedChartResponse'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Get a saved chart by uuid or slug within a project
summary: Get chart
tags:
- Charts
security: []
parameters:
- in: path
name: projectUuid
required: true
schema:
type: string
- in: path
name: chartUuidOrSlug
required: true
schema:
type: string
delete:
operationId: deleteProjectSavedChart
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ApiSuccessEmpty'
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorPayload'
description: Delete a saved chart by uuid or slug within a project
summary: Delete chart
tags:
- Charts
security: []
parameters:
- in: path
name: projectUuid
required: true
schema:
type: string
- in: path
name: chartUuidOrSlug
required: true
schema:
type: string
components:
schemas:
ConditionalFormattingWithFilterOperator:
anyOf:
- $ref: '#/components/schemas/ConditionalFormattingWithValues_number-or-string_'
- $ref: '#/components/schemas/ConditionalFormattingWithCompareTarget_number-or-string_'
DateZoom:
properties:
xAxisFieldId:
type: string
granularity:
anyOf:
- $ref: '#/components/schemas/DateGranularity'
- type: string
type: object
OrganizationMemberRole:
enum:
- member
- viewer
- interactive_viewer
- editor
- developer
- admin
type: string
KnexPaginatedData_SchedulerAndTargets-Array_:
properties:
pagination:
allOf:
- $ref: '#/components/schemas/KnexPaginateArgs'
- properties:
totalResults:
type: number
format: double
totalPageCount:
type: number
format: double
required:
- totalResults
- totalPageCount
type: object
data:
items:
$ref: '#/components/schemas/SchedulerAndTargets'
type: array
required:
- data
type: object
FieldUrl:
properties:
label:
type: string
url:
type: string
required:
- label
- url
type: object
DashboardTileTarget:
anyOf:
- $ref: '#/components/schemas/DashboardFieldTarget'
- type: boolean
enum:
- false
DateGranularity:
enum:
- Second
- Minute
- Hour
- Day
- Week
- Month
- Quarter
- Year
type: string
ChartType.TABLE:
enum:
- table
type: string
ResolvedProjectColorPalette:
properties:
source:
$ref: '#/components/schemas/ColorPaletteSource'
paletteName:
type: string
nullable: true
paletteUuid:
type: string
nullable: true
darkColors:
items:
type: string
type: array
nullable: true
colors:
items:
type: string
type: array
required:
- source
- paletteName
- paletteUuid
- darkColors
- colors
type: object
Record_string.MapFieldConfig_:
properties: {}
additionalProperties:
$ref: '#/components/schemas/MapFieldConfig'
type: object
description: Construct a type with a set of properties K of type T
MapTileBackground:
enum:
- none
- openstreetmap
- light
- dark
- satellite
- voyager
type: string
MapHexbinSizingMode:
enum:
- dynamic
- fixed
type: string
MarkLine:
properties:
label:
properties:
formatter:
type: string
description: Label formatter
type: object
description: Label configuration
lineStyle:
properties:
type:
type: string
description: Line type
width:
type: number
format: double
description: Line width
color:
type: string
description: Line color
required:
- type
- width
- color
type: object
description: Line style configuration
symbol:
type: string
description: Symbol at line endpoints
data:
items:
$ref: '#/components/schemas/MarkLineData'
type: array
description: Reference line data points
required:
- data
type: object
Metric:
properties:
fieldType:
$ref: '#/components/schemas/FieldType.METRIC'
type:
$ref: '#/components/schemas/MetricType'
name:
type: string
label:
type: string
table:
type: string
tableLabel:
type: string
sql:
type: string
description:
type: string
source:
$ref: '#/components/schemas/Source'
hidden:
type: boolean
compact:
$ref: '#/components/schemas/CompactOrAlias'
round:
type: number
format: double
format:
anyOf:
- $ref: '#/components/schemas/Format'
- type: string
separator:
$ref: '#/components/schemas/NumberSeparator'
description: 'Number separator style for grouping/decimal characters. Composes with
`format` (including ECMA-376 expressions) and `formatOptions` — it only
controls the separator characters, not the format shape.'
groupLabel:
type: string
deprecated: true
groups:
items:
type: string
type: array
urls:
items:
$ref: '#/components/schemas/FieldUrl'
type: array
index:
type: number
format: double
tags:
items:
type: string
type: array
parameterReferences:
items:
type: string
type: array
showUnderlyingValues:
items:
type: string
type: array
filters:
items:
$ref: '#/components/schemas/MetricFilterRule'
type: array
percentile:
type: number
format: double
distinctKeys:
items:
type: string
type: array
formatOptions:
$ref: '#/components/schemas/CustomFormat'
dimensionReference:
type: string
requiredAttributes:
$ref: '#/components/schemas/Record_string.string-or-string-Array_'
anyAttributes:
$ref: '#/components/schemas/Record_string.string-or-string-Array_'
defaultTimeDimension:
$ref: '#/components/schemas/DefaultTimeDimension'
spotlight:
properties:
owner:
type: string
defaultFilter:
$ref: '#/components/schemas/MetricFilterRule'
defaultSegment:
type: string
segmentBy:
items:
type: string
type: array
filterBy:
items:
type: string
type: array
categories:
items:
type: string
type: array
visibility:
type: string
enum:
- show
- hide
required:
- visibility
type: object
drivers:
items:
type: string
type: array
aiHint:
anyOf:
- type: string
- items:
type: string
type: array
richText:
type: string
required:
- fieldType
- type
- name
- label
- table
- tableLabel
- sql
- hidden
type: object
additionalProperties: true
PreAggregateMissReason.NO_PRE_AGGREGATES_DEFINED:
enum:
- no_pre_aggregates_defined
type: string
ApiSuccess_KnexPaginatedData_SchedulerRun-Array__:
properties:
results:
$ref: '#/components/schemas/KnexPaginatedData_SchedulerRun-Array_'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
ApiRunQueryResponse:
properties:
results:
properties:
fields:
$ref: '#/components/schemas/Record_string.Item-or-AdditionalMetric_'
rows:
items:
$ref: '#/components/schemas/AnyType'
type: array
cacheMetadata:
$ref: '#/components/schemas/CacheMetadata'
metricQuery:
$ref: '#/components/schemas/MetricQueryResponse'
required:
- rows
- cacheMetadata
- metricQuery
type: object
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
FieldType.METRIC:
enum:
- metric
type: string
SpaceMemberRole:
enum:
- viewer
- editor
- admin
type: string
FilterGroup:
anyOf:
- $ref: '#/components/schemas/OrFilterGroup'
- $ref: '#/components/schemas/AndFilterGroup'
RowLimit:
properties:
count:
type: number
format: double
description: Number of rows to show or hide
direction:
type: string
enum:
- first
- last
description: Whether to target the first or last N rows
mode:
type: string
enum:
- show
- hide
description: Whether to show or hide the selected rows
required:
- count
- direction
- mode
type: object
ApiErrorPayload:
properties:
error:
properties:
data:
$ref: '#/components/schemas/AnyType'
description: Optional data containing details of the error
message:
type: string
description: A friendly message summarising the error
name:
type: string
description: Unique name for the type of error
statusCode:
type: number
format: integer
description: HTTP status code
required:
- name
- statusCode
type: object
status:
type: string
enum:
- error
nullable: false
required:
- error
- status
type: object
description: 'The Error object is returned from the api any time there is an error.
The message contains'
CustomVis:
properties:
spec:
$ref: '#/components/schemas/Record_string.unknown_'
description: Custom visualization specification (Vega-Lite or other)
type: object
Pick_Metric.formatOptions_:
properties:
formatOptions:
$ref: '#/components/schemas/CustomFormat'
type: object
description: From T, pick a set of properties whose keys are in the union K
DashboardTileTypes.LOOM:
enum:
- loom
type: string
TreemapChartConfig:
properties:
config:
$ref: '#/components/schemas/TreemapChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.TREEMAP'
description: Type of chart visualization
required:
- type
type: object
PivotReference:
properties:
pivotValues:
items:
$ref: '#/components/schemas/PivotValue'
type: array
description: Pivot values for this reference (for pivoted data)
field:
type: string
description: Field ID being referenced
required:
- field
type: object
Pick_Dimension.formatOptions_:
properties:
formatOptions:
$ref: '#/components/schemas/CustomFormat'
type: object
description: From T, pick a set of properties whose keys are in the union K
NotificationFrequency:
enum:
- always
- once
type: string
OrFilterGroup:
properties:
or:
items:
$ref: '#/components/schemas/FilterGroupItem'
type: array
description: Array of filters or nested groups combined with OR logic
id:
type: string
description: Unique identifier for the filter group
required:
- or
- id
type: object
FixedWidthBinDimension:
properties:
id:
type: string
description: Unique identifier for the custom dimension
name:
type: string
description: Display name for the custom dimension
table:
type: string
description: Table this custom dimension belongs to
type:
$ref: '#/components/schemas/CustomDimensionType.BIN'
description: Type of custom dimension (bin or sql)
dimensionId:
$ref: '#/components/schemas/FieldId'
description: Field ID of the parent dimension to bin
binType:
$ref: '#/components/schemas/BinType.FIXED_WIDTH'
binWidth:
type: number
format: double
required:
- id
- name
- table
- type
- dimensionId
- binType
- binWidth
type: object
additionalProperties: true
ApiGetChartVersionResponse:
properties:
results:
$ref: '#/components/schemas/ChartVersion'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
ChartVersion:
properties:
chart:
$ref: '#/components/schemas/SavedChart'
createdBy:
allOf:
- $ref: '#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_'
nullable: true
createdAt:
type: string
format: date-time
versionUuid:
type: string
chartUuid:
type: string
required:
- chart
- createdBy
- createdAt
- versionUuid
- chartUuid
type: object
MapChart:
properties:
saveMapExtent:
type: boolean
description: Save the current map zoom/position
fieldConfig:
$ref: '#/components/schemas/Record_string.MapFieldConfig_'
description: Field-specific configuration for tooltips
noDataColor:
type: string
description: Color for regions with no data (hex code)
backgroundColor:
type: string
description: Background color for the map (hex code)
darkModeTileBackground:
$ref: '#/components/schemas/MapTileBackground'
description: Map tile background style for dark mode (uses dark default when undefined)
tileBackground:
$ref: '#/components/schemas/MapTileBackground'
description: Map tile background style
dataLayerOpacity:
type: number
format: double
description: Data layer opacity (0.1 to 1)
hexbinConfig:
properties:
emptyBinColor:
type: string
nullable: true
description: 'Fill color for empty bins. Hex6 (#rrggbb) = solid fill, hex8
(#rrggbbaa) = fill with alpha, null/undefined = outline only.'
showEmptyBins:
type: boolean
description: 'Render outlined empty cells across the visible map area, so the user
can see "where there is no data" relative to the hex grid.'
aggregation:
$ref: '#/components/schemas/MapHexbinAggregation'
description: Aggregation applied when valueBasis = FIELD. Defaults to SUM.
valueBasis:
$ref: '#/components/schemas/MapHexbinValueBasis'
description: 'What drives cell color: count of points (default) or an aggregation
over a chosen value field (controlled via the chart''s `valueFieldId`).'
fixedResolution:
type: number
format: double
description: H3 resolution (0-15) used when sizingMode is FIXED. Ignored otherwise.
sizingMode:
$ref: '#/components/schemas/MapHexbinSizingMode'
description: How bin size is determined. Defaults to DYNAMIC if unset.
opacity:
type: number
format: double
description: Opacity of hex polygons (0.1 to 1)
type: object
description: Configuration for H3 hexagonal binning visualization
heatmapConfig:
properties:
opacity:
type: number
format: double
description: Opacity of the heatmap layer
blur:
type: number
format: double
description: Blur amount for heat points
radius:
type: number
format: double
description: Radius of heat points
type: object
description: Configuration for heatmap visualization
sizeFieldId:
type: string
description: Field ID for bubble size (scatter maps)
maxBubbleSize:
type: number
format: double
description: Maximum bubble size for scatter maps
minBubbleSize:
type: number
format: double
description: Minimum bubble size for scatter maps
defaultCenterLon:
type: number
format: double
description: Default center longitude
defaultCenterLat:
type: number
format: double
description: Default center latitude
defaultZoom:
type: number
format: double
description: Default zoom level
colorOverrides:
$ref: '#/components/schemas/Record_string.string_'
description: Per-value color overrides for categorical color fields
colorRange:
items:
type: string
type: array
description: Array of colors for the value gradient
showLegend:
type: boolean
description: Show the map legend
valueFieldId:
type: string
description: Field ID for the value to display
geoJsonPropertyKey:
type: string
description: Property key in GeoJSON to match against data
locationFieldId:
type: string
description: Field ID for location/region names (area maps)
longitudeFieldId:
type: string
description: Field ID for longitude values
latitudeFieldId:
type: string
description: Field ID for latitude values
locationType:
$ref: '#/components/schemas/MapChartType'
description: How to display location data
customGeoJsonUrl:
type: string
description: URL to custom GeoJSON file
mapType:
$ref: '#/components/schemas/MapChartLocation'
description: Type of map to display
type: object
DashboardChartTileProperties:
properties:
properties:
properties:
chartSlug:
type: string
nullable: true
lastVersionChartKind:
allOf:
- $ref: '#/components/schemas/ChartKind'
nullable: true
chartName:
type: string
nullable: true
belongsToDashboard:
type: boolean
savedChartUuid:
type: string
nullable: true
hideTitle:
type: boolean
title:
type: string
required:
- savedChartUuid
type: object
type:
$ref: '#/components/schemas/DashboardTileTypes.SAVED_CHART'
required:
- properties
- type
type: object
PreAggregateMissReason.NON_ADDITIVE_METRIC:
enum:
- non_additive_metric
type: string
ChartType.PIE:
enum:
- pie
type: string
ApiCreateSavedChartSchedulerResponse:
properties:
results:
$ref: '#/components/schemas/SchedulerAndTargets'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
ProjectMemberRole:
enum:
- viewer
- interactive_viewer
- editor
- developer
- admin
type: string
DimensionOverrides:
properties: {}
additionalProperties:
$ref: '#/components/schemas/Pick_Dimension.formatOptions_'
type: object
BinType.FIXED_NUMBER:
enum:
- fixed_number
type: string
DashboardLoomTile:
allOf:
- $ref: '#/components/schemas/DashboardTileBase'
- $ref: '#/components/schemas/DashboardLoomTileProperties'
TreemapChart:
properties:
endColorThreshold:
type: number
format: double
description: Value threshold for end color
startColorThreshold:
type: number
format: double
description: Value threshold for start color
useDynamicColors:
type: boolean
description: Use dynamic color scaling based on values
endColor:
type: string
description: End color for color gradient (hex code)
startColor:
type: string
description: Start color for color gradient (hex code)
colorMetricId:
type: string
description: Field ID for node color value
sizeMetricId:
type: string
description: Field ID for node size
groupFieldIds:
items:
type: string
type: array
description: Field IDs for hierarchical grouping
leafDepth:
type: number
format: double
description: Depth of leaf nodes to display
visibleMin:
type: number
format: double
description: Minimum size for visible nodes
type: object
Record_string.Partial_PieChartValueOptions__:
properties: {}
additionalProperties:
$ref: '#/components/schemas/Partial_PieChartValueOptions_'
type: object
description: Construct a type with a set of properties K of type T
DashboardDataAppTile:
allOf:
- $ref: '#/components/schemas/DashboardTileBase'
- $ref: '#/components/schemas/DashboardDataAppTileProperties'
Record_string.DashboardTileTarget_:
properties: {}
additionalProperties:
$ref: '#/components/schemas/DashboardTileTarget'
type: object
description: Construct a type with a set of properties K of type T
TableCalculationTemplateType.PERCENT_OF_PREVIOUS_VALUE:
enum:
- percent_of_previous_value
type: string
CartesianSeriesType:
enum:
- line
- bar
- scatter
- area
type: string
TableCalculationType:
enum:
- number
- string
- date
- timestamp
- boolean
type: string
CustomGroupBinDimension:
properties:
id:
type: string
description: Unique identifier for the custom dimension
name:
type: string
description: Display name for the custom dimension
table:
type: string
description: Table this custom dimension belongs to
type:
$ref: '#/components/schemas/CustomDimensionType.BIN'
description: Type of custom dimension (bin or sql)
dimensionId:
$ref: '#/components/schemas/FieldId'
description: Field ID of the parent dimension to bin
binType:
$ref: '#/components/schemas/BinType.CUSTOM_GROUP'
customGroups:
items:
$ref: '#/components/schemas/BinGroup'
type: array
required:
- id
- name
- table
- type
- dimensionId
- binType
- customGroups
type: object
additionalProperties: true
Record_string.unknown_:
properties: {}
additionalProperties: {}
type: object
description: Construct a type with a set of properties K of type T
PreAggregateMissReason.EXPLORE_RESOLUTION_ERROR:
enum:
- explore_resolution_error
type: string
FrameBoundaryType:
enum:
- unbounded_preceding
- preceding
- current_row
- following
- unbounded_following
type: string
SankeyNodeLayout:
type: string
enum:
- multi-step
- merged
- direct
description: 'How nodes are laid out:
- `multi-step`: depth-unrolled journeys (default)
- `merged`: one node per label, journeys preserved (acyclic flows only)
- `direct`: two-column source→target pairs, no chaining'
SchedulerCsvOptions:
properties:
exportPivotedData:
type: boolean
asAttachment:
type: boolean
limit:
anyOf:
- type: number
format: double
- type: string
enum:
- table
- all
formatted:
type: boolean
required:
- limit
- formatted
type: object
SpaceAccess:
properties:
inheritedFrom:
type: string
enum:
- organization
- project
- group
- space_group
- parent_space
inheritedRole:
anyOf:
- $ref: '#/components/schemas/OrganizationMemberRole'
- $ref: '#/components/schemas/ProjectMemberRole'
projectRole:
$ref: '#/components/schemas/ProjectMemberRole'
hasDirectAccess:
type: boolean
role:
$ref: '#/components/schemas/SpaceMemberRole'
userUuid:
type: string
required:
- hasDirectAccess
- role
- userUuid
type: object
Partial_PieChartValueOptions_:
properties:
valueLabel:
type: string
enum:
- hidden
- inside
- outside
showValue:
type: boolean
showPercentage:
type: boolean
type: object
description: Make all properties in T optional
DashboardLoomTileProperties:
properties:
properties:
properties:
url:
type: string
hideTitle:
type: boolean
title:
type: string
required:
- url
- title
type: object
type:
$ref: '#/components/schemas/DashboardTileTypes.LOOM'
required:
- properties
- type
type: object
DashboardTab:
properties:
hidden:
type: boolean
order:
type: number
format: double
minimum: 0
name:
type: string
minLength: 1
uuid:
type: string
required:
- order
- name
- uuid
type: object
SpaceSummaryBase:
allOf:
- $ref: '#/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-inheritParentPermissions-or-projectMemberAccessRole-or-pinnedListUuid-or-pinnedListOrder-or-slug-or-parentSpaceUuid-or-path_'
- properties:
deletedBy:
properties:
lastName:
type: string
firstName:
type: string
userUuid:
type: string
required:
- lastName
- firstName
- userUuid
type: object
deletedAt:
type: string
format: date-time
appCount:
type: number
format: double
childSpaceCount:
type: number
format: double
dashboardCount:
type: number
format: double
chartCount:
type: number
format: double
required:
- appCount
- childSpaceCount
- dashboardCount
- chartCount
type: object
FormulaTableCalculation:
allOf:
- $ref: '#/components/schemas/TableCalculationBase'
- properties:
formula:
type: string
description: Spreadsheet-like formula compiled to SQL at query time
required:
- formula
type: object
DashboardSqlChartTile:
allOf:
- $ref: '#/components/schemas/DashboardTileBase'
- $ref: '#/components/schemas/DashboardSqlChartTileProperties'
SchedulerResourceType:
enum:
- chart
- dashboard
- sqlChart
- app
type: string
PreAggregateMissReason.METRIC_NOT_IN_PRE_AGGREGATE:
enum:
- metric_not_in_pre_aggregate
type: string
DashboardFilterRule:
allOf:
- $ref: '#/components/schemas/FilterRule_FilterOperator.DashboardFieldTarget.AnyType.AnyType_'
- properties:
lockedTabUuids:
items:
type: string
type: array
description: 'Tab UUIDs where this filter is locked. When the active tab is in this
list, viewers see the filter but cannot change it, and URL / embed
filter overrides targeting the same field are ignored on that tab.
Empty or omitted means the filter is not locked anywhere.'
singleValue:
type: boolean
label:
type: string
tileTargets:
$ref: '#/components/schemas/Record_string.DashboardTileTarget_'
type: object
FrameType:
enum:
- rows
- range
type: string
ApiGetChartHistoryResponse:
properties:
results:
$ref: '#/components/schemas/ChartHistory'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
FieldId:
type: string
XAxis:
allOf:
- $ref: '#/components/schemas/Axis'
- properties:
dataZoomItemCount:
type: number
format: double
description: Number of items visible at once in the data-zoom window
dataZoomAnchor:
type: string
enum:
- start
- end
description: Where the initial data-zoom window anchors when data zoom is enabled
enableDataZoom:
type: boolean
description: Enable data zoom slider for this axis
sortType:
$ref: '#/components/schemas/XAxisSortType'
description: How to sort the X axis
type: object
ChartType.CUSTOM:
enum:
- custom
type: string
BigNumber:
properties:
comparisonField:
type: string
conditionalFormattings:
items:
$ref: '#/components/schemas/ConditionalFormattingConfig'
type: array
description: Conditional formatting rules
comparisonLabel:
type: string
description: Custom label for the comparison value
flipColors:
type: boolean
description: Flip positive/negative colors (red for increase, green for decrease)
comparisonFormat:
$ref: '#/components/schemas/ComparisonFormatTypes'
description: Format for comparison value
showComparison:
type: boolean
description: Show comparison with previous value
showTableNamesInLabel:
type: boolean
description: Include table name in the label
showBigNumberLabel:
type: boolean
description: Show the label above the number
selectedField:
type: string
description: Field ID to display as the big number
style:
$ref: '#/components/schemas/CompactOrAlias'
description: Number formatting style (compact notation)
label:
type: string
description: Custom label for the big number
type: object
SchedulerRunStatus:
enum:
- completed
- partial_failure
- failed
- running
- scheduled
type: string
ChartType.MAP:
enum:
- map
type: string
CacheMetadata:
properties:
preAggregate:
properties:
reason:
$ref: '#/components/schemas/PreAggregateMatchMiss'
name:
type: string
hit:
type: boolean
required:
- hit
type: object
cacheHit:
type: boolean
cacheKey:
type: string
cacheExpiresAt:
type: string
format: date-time
cacheUpdatedTime:
type: string
format: date-time
required:
- cacheHit
type: object
DefaultTimeDimension:
properties:
interval:
$ref: '#/components/schemas/TimeFrames'
field:
type: string
required:
- interval
- field
type: object
Pick_LightdashUser.userUuid-or-firstName-or-lastName_:
properties: {}
type: object
description: From T, pick a set of properties whose keys are in the union K
SavedChartDAO:
$ref: '#/components/schemas/Omit_SavedChart.inheritsFromOrgOrProject-or-access_'
SchedulerFormat:
enum:
- csv
- xlsx
- image
- gsheets
- pdf
type: string
SchedulerRun:
properties:
format:
$ref: '#/components/schemas/SchedulerFormat'
createdByUserName:
type: string
createdByUserUuid:
type: string
resourceName:
type: string
resourceUuid:
type: string
resourceType:
$ref: '#/components/schemas/SchedulerResourceType'
logCounts:
$ref: '#/components/schemas/LogCounts'
details:
allOf:
- $ref: '#/components/schemas/Record_string.AnyType_'
nullable: true
createdAt:
type: string
format: date-time
runStatus:
$ref: '#/components/schemas/SchedulerRunStatus'
status:
$ref: '#/components/schemas/SchedulerJobStatus'
scheduledTime:
type: string
format: date-time
schedulerName:
type: string
schedulerUuid:
type: string
runId:
type: string
required:
- format
- createdByUserName
- createdByUserUuid
- resourceName
- resourceUuid
- resourceType
- logCounts
- details
- createdAt
- runStatus
- status
- scheduledTime
- schedulerName
- schedulerUuid
- runId
type: object
ApiContentVerificationDeleteResponse:
properties:
results: {}
status:
type: string
enum:
- ok
nullable: false
required:
- status
type: object
SchedulerGsheetsOptions:
properties:
tabName:
type: string
url:
type: string
gdriveOrganizationName:
type: string
gdriveName:
type: string
gdriveId:
type: string
required:
- url
- gdriveOrganizationName
- gdriveName
- gdriveId
type: object
SchedulerJobStatus:
enum:
- scheduled
- started
- completed
- error
type: string
MapHexbinAggregation:
enum:
- sum
- avg
- min
- max
type: string
DashboardMarkdownTileProperties:
properties:
properties:
properties:
hideFrame:
type: boolean
content:
type: string
title:
type: string
required:
- content
- title
type: object
type:
$ref: '#/components/schemas/DashboardTileTypes.MARKDOWN'
required:
- properties
- type
type: object
BinRange:
properties:
to:
type: number
format: double
description: End value for this bin range (undefined for the last range)
from:
type: number
format: double
description: Start value for this bin range (undefined for the first range)
type: object
FilterGroupItem:
anyOf:
- $ref: '#/components/schemas/FilterGroup'
- $ref: '#/components/schemas/FilterRule'
FieldTarget:
properties:
fieldId:
type: string
description: Field ID to filter on
required:
- fieldId
type: object
PivotValue:
properties:
value:
description: Pivot value
field:
type: string
description: Pivot field ID
required:
- value
- field
type: object
ColorPaletteSource:
anyOf:
- properties:
type:
type: string
enum:
- config
nullable: false
required:
- type
type: object
- properties:
type:
type: string
enum:
- default
nullable: false
required:
- type
type: object
- properties:
name:
type: string
uuid:
type: string
type:
type: string
enum:
- organization
nullable: false
required:
- name
- uuid
- type
type: object
- properties:
name:
type: string
uuid:
type: string
type:
type: string
enum:
- project
nullable: false
required:
- name
- uuid
- type
type: object
- properties:
name:
type: string
uuid:
type: string
type:
type: string
enum:
- space
nullable: false
required:
- name
- uuid
- type
type: object
- properties:
name:
type: string
uuid:
type: string
type:
type: string
enum:
- dashboard
nullable: false
required:
- name
- uuid
- type
type: object
- properties:
name:
type: string
uuid:
type: string
type:
type: string
enum:
- chart
nullable: false
required:
- name
- uuid
- type
type: object
description: 'Where a resolved colour palette came from. The `config` and `default` cases
carry no entity reference; the rest expose the UUID and human-readable name
of the entity (organization, project, space, dashboard or chart) that owns
the winning palette in the resolution chain.'
PreAggregateMissReason.GRANULARITY_TOO_FINE:
enum:
- granularity_too_fine
type: string
CartesianChartConfig:
properties:
config:
$ref: '#/components/schemas/CartesianChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.CARTESIAN'
description: Type of chart visualization
required:
- type
type: object
MetricOverrides:
properties: {}
additionalProperties:
$ref: '#/components/schemas/Pick_Metric.formatOptions_'
type: object
AppScheduler:
allOf:
- $ref: '#/components/schemas/SchedulerBase'
- properties:
appUuid:
type: string
savedSqlUuid:
type: number
enum:
- null
nullable: true
dashboardUuid:
type: number
enum:
- null
nullable: true
savedChartUuid:
type: number
enum:
- null
nullable: true
required:
- appUuid
- savedSqlUuid
- dashboardUuid
- savedChartUuid
type: object
ChartType.CARTESIAN:
enum:
- cartesian
type: string
GaugeChart:
properties:
customPercentageLabel:
type: string
description: Custom label for the percentage display
showPercentage:
type: boolean
description: Show value as percentage
customLabel:
type: string
description: Custom label for the gauge value
sections:
items:
$ref: '#/components/schemas/GaugeSection'
type: array
description: Color sections/ranges for the gauge
showAxisLabels:
type: boolean
description: Show min/max labels on the gauge
maxFieldId:
type: string
description: Field ID to use as the max value
max:
type: number
format: double
description: Maximum value for the gauge
min:
type: number
format: double
description: Minimum value for the gauge
selectedField:
type: string
description: Field ID for the gauge value
type: object
SchedulerBase:
properties:
projectName:
type: string
nullable: true
projectUuid:
type: string
nullable: true
includeLinks:
type: boolean
notificationFrequency:
$ref: '#/components/schemas/NotificationFrequency'
enabled:
type: boolean
thresholds:
items:
$ref: '#/components/schemas/ThresholdOptions'
type: array
options:
$ref: '#/components/schemas/SchedulerOptions'
appName:
type: string
nullable: true
appUuid:
type: string
nullable: true
savedSqlName:
type: string
nullable: true
savedSqlUuid:
type: string
nullable: true
dashboardName:
type: string
nullable: true
dashboardUuid:
type: string
nullable: true
savedChartName:
type: string
nullable: true
savedChartUuid:
type: string
nullable: true
projectSchedulerTimezone:
type: string
timezone:
type: string
cron:
type: string
format:
$ref: '#/components/schemas/SchedulerFormat'
createdByName:
type: string
nullable: true
createdBy:
type: string
updatedAt:
type: string
format: date-time
createdAt:
type: string
format: date-time
message:
type: string
name:
type: string
schedulerUuid:
type: string
required:
- includeLinks
- enabled
- options
- appName
- appUuid
- savedSqlName
- savedSqlUuid
- dashboardName
- dashboardUuid
- savedChartName
- savedChartUuid
- cron
- format
- createdByName
- createdBy
- updatedAt
- createdAt
- name
- schedulerUuid
type: object
Record_string.string-or-string-Array_:
properties: {}
additionalProperties:
anyOf:
- type: string
- items:
type: string
type: array
type: object
description: Construct a type with a set of properties K of type T
LegendPlacement:
type: string
enum:
- custom
- outsideRight
- outsideLeft
description: 'High-level legend placement preset. Set to ''outsideRight'' or ''outsideLeft'' to
render the legend beside the plot with reserved grid space. Undefined behaves
like ''custom'' (no override of the existing legend position fields).'
ConditionalFormattingMinMax_number-or-auto_:
properties:
max:
anyOf:
- type: number
format: double
- type: string
enum:
- auto
description: Maximum value (number or 'auto')
min:
anyOf:
- type: number
format: double
- type: string
enum:
- auto
description: Minimum value (number or 'auto')
required:
- max
- min
type: object
GaugeChartConfig:
properties:
config:
$ref: '#/components/schemas/GaugeChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.GAUGE'
description: Type of chart visualization
required:
- type
type: object
PreAggregateMissReason.USER_BYPASS:
enum:
- user_bypass
type: string
ColumnProperties:
properties:
width:
type: number
format: double
color:
type: string
description: Color for bar display style (hex code)
displayStyle:
type: string
enum:
- text
- bar
description: How to display the cell value
frozen:
type: boolean
description: Freeze the column (stick to left side)
name:
type: string
description: Custom display name for the column
visible:
type: boolean
description: Whether the column is visible
type: object
MapChartLocation:
enum:
- USA
- world
- europe
- custom
type: string
Filters:
properties:
tableCalculations:
$ref: '#/components/schemas/FilterGroup'
description: Table calculation filter group
metrics:
$ref: '#/components/schemas/FilterGroup'
description: Metric filter group
dimensions:
$ref: '#/components/schemas/FilterGroup'
description: Dimension filter group
type: object
PreAggregateMatchMiss:
anyOf:
- properties:
reason:
$ref: '#/components/schemas/PreAggregateMissReason.NO_PRE_AGGREGATES_DEFINED'
required:
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.DIMENSION_NOT_IN_PRE_AGGREGATE'
required:
- fieldId
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.METRIC_NOT_IN_PRE_AGGREGATE'
required:
- fieldId
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.NON_ADDITIVE_METRIC'
required:
- fieldId
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.CUSTOM_SQL_METRIC'
required:
- fieldId
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.FILTER_DIMENSION_NOT_IN_PRE_AGGREGATE'
required:
- fieldId
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.PRE_AGGREGATE_FILTER_NOT_SATISFIED'
required:
- fieldId
- reason
type: object
- properties:
preAggregateTimeDimension:
type: string
preAggregateGranularity:
$ref: '#/components/schemas/TimeFrames'
queryGranularity:
$ref: '#/components/schemas/TimeFrames'
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.GRANULARITY_TOO_FINE'
required:
- preAggregateTimeDimension
- preAggregateGranularity
- queryGranularity
- fieldId
- reason
type: object
- properties:
reason:
$ref: '#/components/schemas/PreAggregateMissReason.CUSTOM_DIMENSION_PRESENT'
required:
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.CUSTOM_METRIC_PRESENT'
required:
- fieldId
- reason
type: object
- properties:
fieldId:
$ref: '#/components/schemas/FieldId'
reason:
$ref: '#/components/schemas/PreAggregateMissReason.TABLE_CALCULATION_PRESENT'
required:
- fieldId
- reason
type: object
- properties:
preAggregateName:
type: string
reason:
$ref: '#/components/schemas/PreAggregateMissReason.USER_BYPASS'
required:
- preAggregateName
- reason
type: object
- properties:
reason:
$ref: '#/components/schemas/PreAggregateMissReason.EXPLORE_RESOLUTION_ERROR'
required:
- reason
type: object
- properties:
reason:
$ref: '#/components/schemas/PreAggregateMissReason.NO_ACTIVE_MATERIALIZATION'
required:
- reason
type: object
TableChart:
properties:
rowLimit:
$ref: '#/components/schemas/RowLimit'
description: Limit displayed rows to first/last N
metricsAsRows:
type: boolean
description: Display metrics as rows instead of columns
conditionalFormattings:
items:
$ref: '#/components/schemas/ConditionalFormattingConfig'
type: array
description: Conditional formatting rules
columns:
$ref: '#/components/schemas/Record_string.ColumnProperties_'
description: Column-specific configuration
showRowGrouping:
type: boolean
description: 'Visually deduplicate repeated row-index dimension values across consecutive
rows without showing aggregate subtotal rows. When `showSubtotals` is true,
grouping is implicitly active and this flag is ignored. Defaults to false.'
showSubtotalsExpanded:
type: boolean
description: Default subtotal rows to expanded (vs. collapsed). Only meaningful when showSubtotals is true.
showSubtotals:
type: boolean
description: Show subtotal rows
showResultsTotal:
type: boolean
description: Show total results count
hideRowNumbers:
type: boolean
description: Hide row number column
showTableNames:
type: boolean
description: Show table names in column headers
showRowCalculation:
type: boolean
description: Show row totals/calculations
showColumnCalculation:
type: boolean
description: Show column totals/calculations
type: object
DashboardParameters:
$ref: '#/components/schemas/Record_string.DashboardParameterValue_'
PromotionChanges:
properties:
dataApps:
items:
properties:
data:
$ref: '#/components/schemas/PromotedApp'
action:
$ref: '#/components/schemas/PromotionAction'
required:
- data
- action
type: object
type: array
sqlCharts:
items:
properties:
data:
$ref: '#/components/schemas/PromotedSqlChart'
action:
$ref: '#/components/schemas/PromotionAction'
required:
- data
- action
type: object
type: array
charts:
items:
properties:
data:
$ref: '#/components/schemas/PromotedChart'
action:
$ref: '#/components/schemas/PromotionAction'
required:
- data
- action
type: object
type: array
dashboards:
items:
properties:
data:
$ref: '#/components/schemas/PromotedDashboard'
action:
$ref: '#/components/schemas/PromotionAction'
required:
- data
- action
type: object
type: array
spaces:
items:
properties:
data:
$ref: '#/components/schemas/PromotedSpace'
action:
$ref: '#/components/schemas/PromotionAction'
required:
- data
- action
type: object
type: array
required:
- charts
- dashboards
- spaces
type: object
SchedulerEmailTarget:
properties:
recipient:
type: string
schedulerUuid:
type: string
updatedAt:
type: string
format: date-time
createdAt:
type: string
format: date-time
schedulerEmailTargetUuid:
type: string
required:
- recipient
- schedulerUuid
- updatedAt
- createdAt
- schedulerEmailTargetUuid
type: object
DashboardMarkdownTile:
allOf:
- $ref: '#/components/schemas/DashboardTileBase'
- $ref: '#/components/schemas/DashboardMarkdownTileProperties'
CompactOrAlias:
anyOf:
- $ref: '#/components/schemas/Compact'
- type: string
enum:
- K
- thousand
- M
- million
- B
- billion
- T
- trillion
- KB
- kilobyte
- MB
- megabyte
- GB
- gigabyte
- TB
- terabyte
- PB
- petabyte
- KiB
- kibibyte
- MiB
- mebibyte
- GiB
- gibibyte
- TiB
- tebibyte
- PiB
- pebibyte
CustomVisConfig:
properties:
config:
$ref: '#/components/schemas/CustomVis'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.CUSTOM'
description: Type of chart visualization
required:
- type
type: object
BinGroup:
properties:
values:
items:
$ref: '#/components/schemas/GroupValueRule'
type: array
description: Rules that match values into this group
name:
type: string
description: Display name for this group (e.g. "North America")
required:
- values
- name
type: object
PromotedSqlChart:
properties:
spacePath:
type: string
spaceSlug:
type: string
description:
type: string
nullable: true
name:
type: string
projectUuid:
type: string
slug:
type: string
oldUuid:
type: string
uuid:
type: string
required:
- spacePath
- spaceSlug
- description
- name
- projectUuid
- slug
- oldUuid
- uuid
type: object
? Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-inheritParentPermissions-or-projectMemberAccessRole-or-pinnedListUuid-or-pinnedListOrder-or-slug-or-parentSpaceUuid-or-path_
: properties:
name:
type: string
projectUuid:
type: string
organizationUuid:
type: string
uuid:
type: string
inheritParentPermissions:
type: boolean
projectMemberAccessRole:
allOf:
- $ref: '#/components/schemas/SpaceMemberRole'
nullable: true
pinnedListUuid:
type: string
nullable: true
pinnedListOrder:
type: number
format: double
nullable: true
slug:
type: string
parentSpaceUuid:
type: string
nullable: true
path:
type: string
required:
- name
- projectUuid
- organizationUuid
- uuid
- inheritParentPermissions
- projectMemberAccessRole
- pinnedListUuid
- pinnedListOrder
- slug
- parentSpaceUuid
- path
type: object
description: From T, pick a set of properties whose keys are in the union K
AdditionalMetric:
properties:
label:
type: string
description: Display label for the metric
type:
$ref: '#/components/schemas/MetricType'
description: Aggregation type
description:
type: string
description: Description of what the metric measures
sql:
type: string
description: SQL expression (e.g., ${TABLE}.column_name)
hidden:
type: boolean
description: Whether the metric is hidden from users
round:
type: number
format: double
description: Number of decimal places
compact:
$ref: '#/components/schemas/CompactOrAlias'
description: Compact format for large numbers
format:
anyOf:
- $ref: '#/components/schemas/Format'
- type: string
description: Format string (legacy format specification)
separator:
$ref: '#/components/schemas/NumberSeparator'
description: Number separator style for grouping/decimal characters
table:
type: string
description: Table name the metric belongs to
name:
type: string
description: Internal name of the metric
index:
type: number
format: double
description: Display order index
filters:
items:
$ref: '#/components/schemas/MetricFilterRule'
type: array
description: Filters to apply to this metric
baseDimensionName:
type: string
description: Name of the base dimension/column this metric aggregates
uuid:
type: string
nullable: true
description: Unique identifier for the metric
percentile:
type: number
format: double
description: Percentile value for percentile metrics
distinctKeys:
items:
type: string
type: array
formatOptions:
$ref: '#/components/schemas/CustomFormat'
description: Formatting configuration
generationType:
type: string
enum:
- periodOverPeriod
nullable: false
description: 'Optional marker for metrics generated by the system.
Currently used for Period-over-Period (PoP) previous-period metrics.'
baseMetricId:
$ref: '#/components/schemas/FieldId'
description: For PoP-generated metrics, the base metric id that this metric is derived from.
timeDimensionId:
$ref: '#/components/schemas/FieldId'
description: For PoP-generated metrics, the time dimension id used for the comparison.
granularity:
$ref: '#/components/schemas/TimeFrames'
description: For PoP-generated metrics, the granularity used for the comparison.
periodOffset:
type: number
format: double
description: For PoP-generated metrics, the number of periods to offset by (>= 1).
required:
- type
- sql
- table
- name
type: object
additionalProperties: true
Partial_CompleteEChartsConfig_:
properties:
legend:
$ref: '#/components/schemas/EchartsLegend'
description: Legend configuration
grid:
$ref: '#/components/schemas/EchartsGrid'
description: Grid (chart area) configuration
series:
items:
$ref: '#/components/schemas/Series'
type: array
description: Chart series configuration
xAxis:
items:
$ref: '#/components/schemas/XAxis'
type: array
description: X axis configuration
yAxis:
items:
$ref: '#/components/schemas/Axis'
type: array
description: Y axis configuration
tooltip:
type: string
description: Tooltip formatter template
tooltipSort:
$ref: '#/components/schemas/TooltipSortBy'
description: How to sort tooltip items
showAxisTicks:
type: boolean
description: Show tick marks on axes
axisLabelFontSize:
type: number
format: double
description: Font size for axis labels
axisTitleFontSize:
type: number
format: double
description: Font size for axis titles
type: object
description: Make all properties in T optional
Source:
properties:
content:
type: string
highlight:
properties:
end:
$ref: '#/components/schemas/SourcePosition'
start:
$ref: '#/components/schemas/SourcePosition'
required:
- end
- start
type: object
range:
properties:
end:
$ref: '#/components/schemas/SourcePosition'
start:
$ref: '#/components/schemas/SourcePosition'
required:
- end
- start
type: object
path:
type: string
required:
- content
- range
- path
type: object
ChartScheduler:
allOf:
- $ref: '#/components/schemas/SchedulerBase'
- properties:
appUuid:
type: number
enum:
- null
nullable: true
savedSqlUuid:
type: number
enum:
- null
nullable: true
dashboardUuid:
type: number
enum:
- null
nullable: true
savedChartUuid:
type: string
required:
- appUuid
- savedSqlUuid
- dashboardUuid
- savedChartUuid
type: object
FrameBoundary:
properties:
offset:
type: number
format: double
description: Offset for PRECEDING/FOLLOWING
type:
$ref: '#/components/schemas/FrameBoundaryType'
description: Boundary type
required:
- type
type: object
PieChartLegendPosition:
type: string
enum:
- horizontal
- vertical
nullable: false
DimensionType:
enum:
- string
- number
- timestamp
- date
- boolean
type: string
TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS:
enum:
- percent_change_from_previous
type: string
DashboardTileTypes.MARKDOWN:
enum:
- markdown
type: string
ThresholdOptions:
properties:
value:
type: number
format: double
fieldId:
type: string
operator:
$ref: '#/components/schemas/ThresholdOperator'
required:
- value
- fieldId
- operator
type: object
DashboardTileTypes.HEADING:
enum:
- heading
type: string
FunnelChartDataInput:
enum:
- row
- column
type: string
TooltipSortBy:
type: string
enum:
- default
- alphabetical
- value_ascending
- value_descending
DashboardTileTypes.SQL_CHART:
enum:
- sql_chart
type: string
SeriesMetadata:
properties:
color:
type: string
description: Color for the series
required:
- color
type: object
UpdatedByUser:
properties:
userUuid:
type: string
firstName:
type: string
lastName:
type: string
required:
- userUuid
- firstName
- lastName
type: object
additionalProperties: true
MetricQuery:
properties:
metadata:
properties:
hasADateDimension:
$ref: '#/components/schemas/Pick_CompiledDimension.label-or-name-or-table_'
required:
- hasADateDimension
type: object
pivotDimensions:
items:
$ref: '#/components/schemas/FieldId'
type: array
description: 'Dimension field IDs used as pivot columns (from chart''s pivotConfig.columns).
Used by row_total() to determine non-pivot dimensions for GROUP BY.'
timezone:
type: string
description: Timezone for date/time values (e.g., 'America/Los_Angeles', 'UTC')
dimensionOverrides:
$ref: '#/components/schemas/DimensionOverrides'
description: Override formatting options for existing dimensions
metricOverrides:
$ref: '#/components/schemas/MetricOverrides'
description: Override formatting options for existing metrics
customDimensions:
items:
$ref: '#/components/schemas/CustomDimension'
type: array
description: Custom dimensions defined inline
additionalMetrics:
items:
$ref: '#/components/schemas/AdditionalMetric'
type: array
description: Custom metrics defined inline (ad-hoc metrics not in the dbt model)
tableCalculations:
items:
$ref: '#/components/schemas/TableCalculation'
type: array
description: Custom calculations to perform on query results
limit:
type: number
format: double
description: Maximum number of rows to return
sorts:
items:
$ref: '#/components/schemas/SortField'
type: array
description: Sort configuration for query results
filters:
$ref: '#/components/schemas/Filters'
description: Filter rules to apply to the query
metrics:
items:
$ref: '#/components/schemas/FieldId'
type: array
description: List of metric field IDs to include
dimensions:
items:
$ref: '#/components/schemas/FieldId'
type: array
description: List of dimension field IDs to include
exploreName:
type: string
description: The name of the explore to query
required:
- tableCalculations
- limit
- sorts
- filters
- metrics
- dimensions
- exploreName
type: object
Record_string.SeriesMetadata_:
properties: {}
additionalProperties:
$ref: '#/components/schemas/SeriesMetadata'
type: object
description: Construct a type with a set of properties K of type T
Record_string.number_:
properties: {}
additionalProperties:
type: number
format: double
type: object
description: Construct a type with a set of properties K of type T
ChartKind:
enum:
- line
- horizontal_bar
- vertical_bar
- scatter
- area
- mixed
- pie
- table
- big_number
- funnel
- custom
- treemap
- gauge
- map
- sankey
type: string
SortField:
properties:
pivotValues:
items:
$ref: '#/components/schemas/PivotSortAnchor'
type: array
description: Pins the row-sort anchor to a specific pivot column. Ignored for non-pivoted results.
nullsFirst:
type: boolean
description: Sort null values first
descending:
type: boolean
description: Sort in descending order
fieldId:
type: string
description: Field ID to sort by
required:
- descending
- fieldId
type: object
MetricType:
enum:
- percentile
- average
- count
- count_distinct
- sum
- sum_distinct
- average_distinct
- min
- max
- percent_of_previous
- percent_of_total
- running_total
- number
- median
- string
- date
- timestamp
- boolean
type: string
PieChartValueLabel:
type: string
enum:
- hidden
- inside
- outside
nullable: false
DashboardHeadingTile:
allOf:
- $ref: '#/components/schemas/DashboardTileBase'
- $ref: '#/components/schemas/DashboardHeadingTileProperties'
NumberSeparator:
enum:
- default
- commaPeriod
- spacePeriod
- periodComma
- noSeparatorPeriod
- apostrophePeriod
type: string
SchedulerPdfOptions:
$ref: '#/components/schemas/Record_string.never_'
SchedulerImageOptions:
properties:
withPdf:
type: boolean
type: object
CustomBinDimension:
anyOf:
- $ref: '#/components/schemas/FixedNumberBinDimension'
- $ref: '#/components/schemas/FixedWidthBinDimension'
- $ref: '#/components/schemas/CustomRangeBinDimension'
- $ref: '#/components/schemas/CustomGroupBinDimension'
FiltersResponse:
properties:
tableCalculations:
$ref: '#/components/schemas/FilterGroupResponse'
metrics:
$ref: '#/components/schemas/FilterGroupResponse'
dimensions:
$ref: '#/components/schemas/FilterGroupResponse'
type: object
Partial_CompleteCartesianChartLayout_:
properties:
xField:
type: string
description: Field ID to use for the X axis
yField:
items:
type: string
type: array
description: Field IDs to use for the Y axis
flipAxes:
type: boolean
description: Swap X and Y axes (creates horizontal bar charts)
showGridX:
type: boolean
description: Show vertical grid lines
showGridY:
type: boolean
description: Show horizontal grid lines
showXAxis:
type: boolean
description: Show the X axis
showYAxis:
type: boolean
description: Show the Y axis
showLeftYAxis:
type: boolean
description: Controls left/primary Y-axis visibility
showRightYAxis:
type: boolean
description: Controls right/secondary Y-axis visibility
stack:
anyOf:
- type: string
- type: boolean
description: Stack series together (true for default stacking, or string for stack group name)
connectNulls:
type: boolean
description: Connect null data points with a line
colorByCategory:
type: boolean
description: Color each bar by its category value instead of using a single series color
categoryColorOverrides:
$ref: '#/components/schemas/Record_string.string_'
description: Per-category color overrides (maps category value to hex color)
type: object
description: Make all properties in T optional
DashboardTile:
anyOf:
- $ref: '#/components/schemas/DashboardChartTile'
- $ref: '#/components/schemas/DashboardMarkdownTile'
- $ref: '#/components/schemas/DashboardLoomTile'
- $ref: '#/components/schemas/DashboardSqlChartTile'
- $ref: '#/components/schemas/DashboardHeadingTile'
- $ref: '#/components/schemas/DashboardDataAppTile'
FilterGroupResponse:
anyOf:
- properties:
or:
items:
$ref: '#/components/schemas/AnyType'
type: array
id:
type: string
required:
- or
- id
type: object
- properties:
and:
items:
$ref: '#/components/schemas/AnyType'
type: array
id:
type: string
required:
- and
- id
type: object
PieChart:
properties:
metadata:
$ref: '#/components/schemas/Record_string.SeriesMetadata_'
description: Metadata for series (colors, etc.)
legendMaxItemLength:
type: number
format: double
description: Maximum character length for legend items
legendPosition:
$ref: '#/components/schemas/PieChartLegendPosition'
description: Legend position/orientation
showLegend:
type: boolean
description: Show the chart legend
groupSortOverrides:
items:
type: string
type: array
description: Custom sort order for groups/slices
groupValueOptionOverrides:
$ref: '#/components/schemas/Record_string.Partial_PieChartValueOptions__'
description: Per-slice value display options
groupColorOverrides:
$ref: '#/components/schemas/Record_string.string_'
description: Custom colors for each group/slice
groupLabelOverrides:
$ref: '#/components/schemas/Record_string.string_'
description: Custom labels for each group/slice
showPercentage:
type: boolean
description: Show percentage on slices
showValue:
type: boolean
description: Show the actual value on slices
valueLabel:
$ref: '#/components/schemas/PieChartValueLabel'
description: Position of value labels on slices
isDonut:
type: boolean
description: Display as donut chart with hole in center
metricId:
type: string
description: Field ID of the metric to display
groupFieldIds:
items:
type: string
type: array
description: Field IDs used for grouping/slicing the pie
type: object
GroupValueRule:
properties:
value:
type: string
matchType:
$ref: '#/components/schemas/GroupValueMatchType'
required:
- value
- matchType
type: object
MapFieldConfig:
properties:
label:
type: string
description: Custom label for the field
visible:
type: boolean
description: Whether to show this field in tooltips
type: object
FrameClause:
properties:
end:
$ref: '#/components/schemas/FrameBoundary'
description: End boundary of the frame
start:
$ref: '#/components/schemas/FrameBoundary'
description: Start boundary of the frame
frameType:
$ref: '#/components/schemas/FrameType'
description: Type of frame (ROWS or RANGE)
required:
- end
- frameType
type: object
EchartsLegend:
properties:
placement:
$ref: '#/components/schemas/LegendPlacement'
description: 'High-level placement preset. Overrides orient/top/right/bottom/left
when set to an outside value.'
icon:
type: string
enum:
- circle
- rect
- roundRect
- triangle
- diamond
- pin
- arrow
- none
description: Legend icon shape
align:
type: string
enum:
- auto
- left
- right
description: Legend alignment
height:
type: string
description: Legend height
width:
type: string
description: Legend width
left:
type: string
description: Left position
bottom:
type: string
description: Bottom position
right:
type: string
description: Right position
top:
type: string
description: Top position
orient:
type: string
enum:
- horizontal
- vertical
description: Legend orientation
type:
type: string
enum:
- plain
- scroll
description: Legend type (plain or scrollable)
show:
type: boolean
description: Show the legend
type: object
SankeyChartConfig:
properties:
config:
$ref: '#/components/schemas/SankeyChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.SANKEY'
description: Type of chart visualization
required:
- type
type: object
Pick_CompiledDimension.label-or-name-or-table_:
properties:
name:
type: string
label:
type: string
table:
type: string
required:
- name
- label
- table
type: object
description: From T, pick a set of properties whose keys are in the union K
ApiSavedChartResponse:
properties:
results:
$ref: '#/components/schemas/SavedChart'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
TableCalculationTemplateType.WINDOW_FUNCTION:
enum:
- window_function
type: string
ApiCalculateTotalResponse:
properties:
results:
$ref: '#/components/schemas/Record_string.number_'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
Axis:
properties:
rotate:
type: number
format: double
description: Rotation angle for axis labels
inverse:
type: boolean
description: Reverse the axis direction
maxOffset:
type: string
description: Offset from maximum value
minOffset:
type: string
description: Offset from minimum value
max:
type: string
description: Maximum value (or 'dataMax' for auto)
min:
type: string
description: Minimum value (or 'dataMin' for auto)
name:
type: string
description: Axis title
type: object
CartesianChartLayout:
$ref: '#/components/schemas/Partial_CompleteCartesianChartLayout_'
ApiSavedChartSchedulersResponse:
properties:
results:
items:
$ref: '#/components/schemas/SchedulerAndTargets'
type: array
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
SchedulerMsTeamsTarget:
properties:
webhook:
type: string
schedulerUuid:
type: string
updatedAt:
type: string
format: date-time
createdAt:
type: string
format: date-time
schedulerMsTeamsTargetUuid:
type: string
required:
- webhook
- schedulerUuid
- updatedAt
- createdAt
- schedulerMsTeamsTargetUuid
type: object
DashboardFilters:
properties:
tableCalculations:
items:
$ref: '#/components/schemas/DashboardFilterRule'
type: array
metrics:
items:
$ref: '#/components/schemas/DashboardFilterRule'
type: array
dimensions:
items:
$ref: '#/components/schemas/DashboardFilterRule'
type: array
required:
- tableCalculations
- metrics
- dimensions
type: object
DashboardTileBase:
$ref: '#/components/schemas/Required_CreateDashboardTileBase_'
KnexPaginatedData_SchedulerRun-Array_:
properties:
pagination:
allOf:
- $ref: '#/components/schemas/KnexPaginateArgs'
- properties:
totalResults:
type: number
format: double
totalPageCount:
type: number
format: double
required:
- totalResults
- totalPageCount
type: object
data:
items:
$ref: '#/components/schemas/SchedulerRun'
type: array
required:
- data
type: object
AnyType:
description: 'This AnyType is an alias for any
The goal is to make it easier to identify any type in the codebase
without having to eslint-disable all the time
These are only used on legacy `any` types, don''t use it for new types.
This is added on a separate file to avoid circular dependencies.'
TableCalculation:
anyOf:
- $ref: '#/components/schemas/SqlTableCalculation'
- $ref: '#/components/schemas/TemplateTableCalculation'
- $ref: '#/components/schemas/FormulaTableCalculation'
ApiSuccessEmpty:
properties:
results: {}
status:
type: string
enum:
- ok
nullable: false
required:
- status
type: object
TimeFrames:
enum:
- RAW
- YEAR
- QUARTER
- MONTH
- WEEK
- DAY
- HOUR
- MINUTE
- SECOND
- MILLISECOND
- DAY_OF_WEEK_INDEX
- DAY_OF_MONTH_NUM
- DAY_OF_YEAR_NUM
- WEEK_NUM
- MONTH_NUM
- QUARTER_NUM
- YEAR_NUM
- DAY_OF_WEEK_NAME
- MONTH_NAME
- QUARTER_NAME
- HOUR_OF_DAY_NUM
- MINUTE_OF_HOUR_NUM
type: string
XAxisSortType:
enum:
- default
- category
- bar_totals
type: string
FieldType:
enum:
- metric
- dimension
type: string
SankeyChart:
properties:
nodeLayout:
$ref: '#/components/schemas/SankeyNodeLayout'
description: How nodes are laid out across steps
orient:
type: string
enum:
- horizontal
- vertical
description: Orientation of the diagram
nodeAlign:
type: string
enum:
- left
- right
- justify
description: Node alignment
metricFieldId:
type: string
description: Field ID for the link value metric
targetFieldId:
type: string
description: Field ID for the target node dimension
sourceFieldId:
type: string
description: Field ID for the source node dimension
type: object
Record_string.never_:
properties: {}
type: object
description: Construct a type with a set of properties K of type T
FilterRule_FilterOperator.DashboardFieldTarget.AnyType.AnyType_:
properties:
values:
items:
$ref: '#/components/schemas/AnyType'
type: array
description: Values to filter by
operator:
$ref: '#/components/schemas/FilterOperator'
description: Filter operator
id:
type: string
description: Unique identifier for the filter
target:
$ref: '#/components/schemas/DashboardFieldTarget'
description: Target field for the filter
settings:
$ref: '#/components/schemas/AnyType'
description: Additional settings for date/time filters
disabled:
type: boolean
description: Whether this filter is disabled
required:
type: boolean
description: Whether this filter is required
caseSensitive:
type: boolean
description: 'Overrides the field/explore case-sensitivity for this rule only.
Used by internal features like autocomplete search that must always
match case-insensitively regardless of the field''s configured setting.'
required:
- operator
- id
- target
type: object
additionalProperties: true
FilterRule:
properties:
values:
items:
$ref: '#/components/schemas/AnyType'
type: array
description: Values to filter by
operator:
$ref: '#/components/schemas/FilterOperator'
description: Filter operator
id:
type: string
description: Unique identifier for the filter
target:
$ref: '#/components/schemas/FieldTarget'
description: Target field for the filter
settings:
$ref: '#/components/schemas/AnyType'
description: Additional settings for date/time filters
disabled:
type: boolean
description: Whether this filter is disabled
required:
type: boolean
description: Whether this filter is required
caseSensitive:
type: boolean
description: 'Overrides the field/explore case-sensitivity for this rule only.
Used by internal features like autocomplete search that must always
match case-insensitively regardless of the field''s configured setting.'
required:
- operator
- id
- target
type: object
additionalProperties: true
SchedulerGoogleChatTarget:
properties:
googleChatWebhook:
type: string
schedulerUuid:
type: string
updatedAt:
type: string
format: date-time
createdAt:
type: string
format: date-time
schedulerGoogleChatTargetUuid:
type: string
required:
- googleChatWebhook
- schedulerUuid
- updatedAt
- createdAt
- schedulerGoogleChatTargetUuid
type: object
PreAggregateMissReason.NO_ACTIVE_MATERIALIZATION:
enum:
- no_active_materialization
type: string
PreAggregateMissReason.PRE_AGGREGATE_FILTER_NOT_SATISFIED:
enum:
- pre_aggregate_filter_not_satisfied
type: string
SqlTableCalculation:
allOf:
- $ref: '#/components/schemas/TableCalculationBase'
- properties:
sql:
type: string
description: SQL expression for the calculation (can reference fields with ${table.field})
required:
- sql
type: object
PromotedDashboard:
allOf:
- $ref: '#/components/schemas/DashboardDAO'
- properties:
spacePath:
type: string
spaceSlug:
type: string
required:
- spacePath
- spaceSlug
type: object
PreAggregateMissReason.CUSTOM_DIMENSION_PRESENT:
enum:
- custom_dimension_present
type: string
DashboardDataAppTileProperties:
properties:
properties:
properties:
appDeletedAt:
type: string
nullable: true
appUuid:
type: string
hideTitle:
type: boolean
title:
type: string
required:
- appUuid
- title
type: object
type:
$ref: '#/components/schemas/DashboardTileTypes.DATA_APP'
required:
- properties
- type
type: object
Field:
properties:
fieldType:
$ref: '#/components/schemas/FieldType'
type:
type: string
name:
type: string
label:
type: string
table:
type: string
tableLabel:
type: string
sql:
type: string
description:
type: string
source:
$ref: '#/components/schemas/Source'
hidden:
type: boolean
compact:
$ref: '#/components/schemas/CompactOrAlias'
round:
type: number
format: double
format:
anyOf:
- $ref: '#/components/schemas/Format'
- type: string
separator:
$ref: '#/components/schemas/NumberSeparator'
description: 'Number separator style for grouping/decimal characters. Composes with
`format` (including ECMA-376 expressions) and `formatOptions` — it only
controls the separator characters, not the format shape.'
groupLabel:
type: string
deprecated: true
groups:
items:
type: string
type: array
urls:
items:
$ref: '#/components/schemas/FieldUrl'
type: array
index:
type: number
format: double
tags:
items:
type: string
type: array
parameterReferences:
items:
type: string
type: array
required:
- fieldType
- type
- name
- label
- table
- tableLabel
- sql
- hidden
type: object
additionalProperties: true
PreAggregateMissReason.DIMENSION_NOT_IN_PRE_AGGREGATE:
enum:
- dimension_not_in_pre_aggregate
type: string
PreAggregateMissReason.CUSTOM_SQL_METRIC:
enum:
- custom_sql_metric
type: string
FixedNumberBinDimension:
properties:
id:
type: string
description: Unique identifier for the custom dimension
name:
type: string
description: Display name for the custom dimension
table:
type: string
description: Table this custom dimension belongs to
type:
$ref: '#/components/schemas/CustomDimensionType.BIN'
description: Type of custom dimension (bin or sql)
dimensionId:
$ref: '#/components/schemas/FieldId'
description: Field ID of the parent dimension to bin
binType:
$ref: '#/components/schemas/BinType.FIXED_NUMBER'
binNumber:
type: number
format: double
required:
- id
- name
- table
- type
- dimensionId
- binType
- binNumber
type: object
additionalProperties: true
SqlChartScheduler:
allOf:
- $ref: '#/components/schemas/SchedulerBase'
- properties:
appUuid:
type: number
enum:
- null
nullable: true
savedSqlUuid:
type: string
dashboardUuid:
type: number
enum:
- null
nullable: true
savedChartUuid:
type: number
enum:
- null
nullable: true
required:
- appUuid
- savedSqlUuid
- dashboardUuid
- savedChartUuid
type: object
BinType.CUSTOM_RANGE:
enum:
- custom_range
type: string
PromotedApp:
properties:
name:
type: string
uuid:
type: string
required:
- name
- uuid
type: object
DashboardScheduler:
allOf:
- $ref: '#/components/schemas/SchedulerBase'
- properties:
selectedTabs:
items:
type: string
type: array
nullable: true
customViewportWidth:
type: number
format: double
parameters:
$ref: '#/components/schemas/ParametersValuesMap'
filters:
items:
$ref: '#/components/schemas/DashboardFilterRule'
type: array
appUuid:
type: number
enum:
- null
nullable: true
savedSqlUuid:
type: number
enum:
- null
nullable: true
dashboardUuid:
type: string
savedChartUuid:
type: number
enum:
- null
nullable: true
required:
- selectedTabs
- appUuid
- savedSqlUuid
- dashboardUuid
- savedChartUuid
type: object
ChartType.SANKEY:
enum:
- sankey
type: string
ConditionalFormattingConfigWithSingleColor:
properties:
applyTo:
$ref: '#/components/schemas/ConditionalFormattingColorApplyTo'
description: Apply formatting to cell background or text
rules:
items:
$ref: '#/components/schemas/ConditionalFormattingWithFilterOperator'
type: array
description: Rules for single-color conditional formatting
darkColor:
type: string
description: Color for dark mode
color:
type: string
description: Color for single-color conditional formatting
target:
allOf:
- $ref: '#/components/schemas/FieldTarget'
nullable: true
description: Target field for the formatting rule
required:
- rules
- color
- target
type: object
PromotedChart:
allOf:
- $ref: '#/components/schemas/SavedChartDAO'
- properties:
oldUuid:
type: string
spacePath:
type: string
spaceSlug:
type: string
required:
- oldUuid
- spacePath
- spaceSlug
type: object
MapChartType:
enum:
- scatter
- area
- heatmap
- hexbin
type: string
BaseFilterRule_FilterOperator.number-or-string_:
properties:
values:
items:
anyOf:
- type: number
format: double
- type: string
type: array
description: Values to filter by
operator:
$ref: '#/components/schemas/FilterOperator'
description: Filter operator
id:
type: string
description: Unique identifier for the filter rule
required:
- operator
- id
type: object
MarkLineData:
properties:
dynamicValue:
type: string
enum:
- average
nullable: false
description: Dynamic value type
label:
properties:
position:
type: string
enum:
- start
- middle
- end
description: Label position
formatter:
type: string
description: Label formatter
type: object
description: Label configuration for this data point
lineStyle:
properties:
color:
type: string
description: Line color
required:
- color
type: object
description: Line style for this data point
uuid:
type: string
description: Unique identifier for this mark line
type:
type: string
description: Point type (e.g., 'average')
value:
type: string
description: Value to display
name:
type: string
description: Name of the reference line
xAxis:
type: string
description: X axis value for vertical line
yAxis:
type: string
description: Y axis value for horizontal line
required:
- uuid
type: object
Record_string.ColumnProperties_:
properties: {}
additionalProperties:
$ref: '#/components/schemas/ColumnProperties'
type: object
description: Construct a type with a set of properties K of type T
GroupValueMatchType:
enum:
- exact
- startsWith
- endsWith
- includes
type: string
Compact:
enum:
- thousands
- millions
- billions
- trillions
- kilobytes
- megabytes
- gigabytes
- terabytes
- petabytes
- kibibytes
- mebibytes
- gibibytes
- tebibytes
- pebibytes
type: string
GaugeSection:
properties:
color:
type: string
description: Color for this section (hex code)
maxFieldId:
type: string
description: Field ID to use as max value
minFieldId:
type: string
description: Field ID to use as min value
max:
type: number
format: double
description: End value for this section
min:
type: number
format: double
description: Start value for this section
required:
- color
- max
- min
type: object
Record_string.DashboardParameterValue_:
properties: {}
additionalProperties:
$ref: '#/components/schemas/DashboardParameterValue'
type: object
description: Construct a type with a set of properties K of type T
DashboardDAO:
$ref: '#/components/schemas/Omit_Dashboard.inheritsFromOrgOrProject-or-access_'
ParameterValue:
anyOf:
- type: string
- type: number
format: double
- items:
type: string
type: array
- items:
type: number
format: double
type: array
TableCalculationTemplateType.RUNNING_TOTAL:
enum:
- running_total
type: string
MapChartConfig:
properties:
config:
$ref: '#/components/schemas/MapChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.MAP'
description: Type of chart visualization
required:
- type
type: object
ThresholdOperator:
enum:
- greaterThan
- lessThan
- increasedBy
- decreasedBy
type: string
Pick_Dashboard.Exclude_keyofDashboard.inheritsFromOrgOrProject-or-access__:
properties:
description:
type: string
name:
type: string
projectUuid:
type: string
organizationUuid:
type: string
uuid:
type: string
parameters:
$ref: '#/components/schemas/DashboardParameters'
pinnedListUuid:
type: string
nullable: true
pinnedListOrder:
type: number
format: double
nullable: true
slug:
type: string
updatedAt:
type: string
format: date-time
versionUuid:
type: string
spaceUuid:
type: string
dashboardVersionId:
type: number
format: double
verification:
allOf:
- $ref: '#/components/schemas/ContentVerificationInfo'
nullable: true
tiles:
items:
$ref: '#/components/schemas/DashboardTile'
type: array
filters:
$ref: '#/components/schemas/DashboardFilters'
updatedByUser:
$ref: '#/components/schemas/UpdatedByUser'
spaceName:
type: string
views:
type: number
format: double
firstViewedAt:
anyOf:
- type: string
- type: string
format: date-time
nullable: true
tabs:
items:
$ref: '#/components/schemas/DashboardTab'
type: array
config:
$ref: '#/components/schemas/DashboardConfig'
colorPaletteUuid:
type: string
nullable: true
deletedAt:
type: string
format: date-time
deletedBy:
properties:
lastName:
type: string
firstName:
type: string
userUuid:
type: string
required:
- lastName
- firstName
- userUuid
type: object
nullable: true
required:
- name
- projectUuid
- organizationUuid
- uuid
- pinnedListUuid
- pinnedListOrder
- slug
- updatedAt
- versionUuid
- spaceUuid
- dashboardVersionId
- verification
- tiles
- filters
- spaceName
- views
- firstViewedAt
- tabs
- colorPaletteUuid
type: object
description: From T, pick a set of properties whose keys are in the union K
ChartHistory:
properties:
history:
items:
$ref: '#/components/schemas/ChartVersionSummary'
type: array
required:
- history
type: object
ParametersValuesMap:
$ref: '#/components/schemas/Record_string.ParameterValue_'
BinType.CUSTOM_GROUP:
enum:
- custom_group
type: string
Series:
properties:
isFilteredOut:
type: boolean
description: Whether this series is currently filtered out
markLine:
$ref: '#/components/schemas/MarkLine'
description: Reference line configuration
smooth:
type: boolean
description: Use smooth curves for line/area charts
showSymbol:
type: boolean
description: Show symbols/markers on data points
areaStyle:
$ref: '#/components/schemas/Record_string.unknown_'
description: Area fill style (presence indicates area chart)
hidden:
type: boolean
description: Hide this series from the chart
label:
properties:
showSeriesName:
type: boolean
description: Show the metric field name
showLabel:
type: boolean
description: Show the legend/pivot name
showValue:
type: boolean
description: Show the metric value
showOverlappingLabels:
type: boolean
description: Show labels even when they overlap
position:
type: string
enum:
- left
- top
- right
- bottom
- inside
description: Position of data labels
show:
type: boolean
description: Show data labels on points
type: object
description: Data label configuration
yAxisIndex:
type: number
format: double
description: Index of Y axis to use (for dual Y axis charts)
color:
type: string
description: Color for the series (hex code)
name:
type: string
description: Display name for the series
stackLabel:
properties:
show:
type: boolean
description: Show stack total labels
type: object
description: Stack total label configuration
stack:
type: string
description: Stack group name (series with same stack name are stacked)
type:
$ref: '#/components/schemas/CartesianSeriesType'
description: Series visualization type
encode:
properties:
y:
type: string
description: Hash of yRef (computed)
x:
type: string
description: Hash of xRef (computed)
yRef:
$ref: '#/components/schemas/PivotReference'
description: Y axis field reference
xRef:
$ref: '#/components/schemas/PivotReference'
description: X axis field reference
required:
- yRef
- xRef
type: object
description: Field references for this series
required:
- type
- encode
type: object
CustomFormat:
properties:
type:
$ref: '#/components/schemas/CustomFormatType'
description: Format type
round:
type: number
format: double
description: Number of decimal places
separator:
$ref: '#/components/schemas/NumberSeparator'
description: Number separator style
currency:
type: string
description: Currency code (e.g., USD, GBP, EUR)
compact:
$ref: '#/components/schemas/CompactOrAlias'
description: Compact format for large numbers (K, M, B, T) or byte units
prefix:
type: string
description: Prefix to prepend to formatted values
suffix:
type: string
description: Suffix to append to formatted values
timeInterval:
$ref: '#/components/schemas/TimeFrames'
description: Time interval for date formatting
custom:
type: string
description: Custom format string
required:
- type
type: object
additionalProperties: true
ChartType.FUNNEL:
enum:
- funnel
type: string
WindowFunctionType:
enum:
- row_number
- percent_rank
- cume_dist
- rank
- sum
- avg
- count
- min
- max
type: string
PromotionAction:
enum:
- no changes
- create
- update
- delete
type: string
FunnelChartConfig:
properties:
config:
$ref: '#/components/schemas/FunnelChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.FUNNEL'
description: Type of chart visualization
required:
- type
type: object
CustomRangeBinDimension:
properties:
id:
type: string
description: Unique identifier for the custom dimension
name:
type: string
description: Display name for the custom dimension
table:
type: string
description: Table this custom dimension belongs to
type:
$ref: '#/components/schemas/CustomDimensionType.BIN'
description: Type of custom dimension (bin or sql)
dimensionId:
$ref: '#/components/schemas/FieldId'
description: Field ID of the parent dimension to bin
binType:
$ref: '#/components/schemas/BinType.CUSTOM_RANGE'
customRange:
items:
$ref: '#/components/schemas/BinRange'
type: array
required:
- id
- name
- table
- type
- dimensionId
- binType
- customRange
type: object
additionalProperties: true
PivotSortAnchor:
properties:
value:
anyOf:
- type: string
- type: number
format: double
- type: boolean
nullable: true
reference:
type: string
required:
- value
- reference
type: object
description: 'Coordinates of a single pivot column, used to anchor a row sort to that
specific column when results are pivoted.'
ChartConfig:
anyOf:
- $ref: '#/components/schemas/BigNumberConfig'
- $ref: '#/components/schemas/CartesianChartConfig'
- $ref: '#/components/schemas/CustomVisConfig'
- $ref: '#/components/schemas/PieChartConfig'
- $ref: '#/components/schemas/FunnelChartConfig'
- $ref: '#/components/schemas/TableChartConfig'
- $ref: '#/components/schemas/TreemapChartConfig'
- $ref: '#/components/schemas/GaugeChartConfig'
- $ref: '#/components/schemas/MapChartConfig'
- $ref: '#/components/schemas/SankeyChartConfig'
TableCalculationBase:
properties:
type:
$ref: '#/components/schemas/TableCalculationType'
description: Data type of the calculation result
format:
$ref: '#/components/schemas/CustomFormat'
description: Formatting options for the calculation
displayName:
type: string
description: Display name shown in the UI
name:
type: string
description: Internal name of the table calculation
index:
type: number
format: double
description: Display order index
required:
- displayName
- name
type: object
TableCalculationTemplate:
anyOf:
- properties:
partitionBy:
items:
type: string
type: array
orderBy:
items:
properties:
order:
type: string
enum:
- asc
- desc
- null
nullable: true
fieldId:
type: string
required:
- order
- fieldId
type: object
type: array
description: Fields to order by for window functions
fieldId:
type: string
description: Field ID to apply the template to
type:
$ref: '#/components/schemas/TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS'
description: Type of template calculation
required:
- orderBy
- fieldId
- type
type: object
- properties:
partitionBy:
items:
type: string
type: array
orderBy:
items:
properties:
order:
type: string
enum:
- asc
- desc
- null
nullable: true
fieldId:
type: string
required:
- order
- fieldId
type: object
type: array
description: Fields to order by for window functions
fieldId:
type: string
description: Field ID to apply the template to
type:
$ref: '#/components/schemas/TableCalculationTemplateType.PERCENT_OF_PREVIOUS_VALUE'
description: Type of template calculation
required:
- orderBy
- fieldId
- type
type: object
- properties:
partitionBy:
items:
type: string
type: array
description: Fields to partition by
fieldId:
type: string
description: Field ID to apply the template to
type:
$ref: '#/components/schemas/TableCalculationTemplateType.PERCENT_OF_COLUMN_TOTAL'
description: Type of template calculation
required:
- fieldId
- type
type: object
- properties:
fieldId:
type: string
description: Field ID to apply the template to
type:
$ref: '#/components/schemas/TableCalculationTemplateType.RANK_IN_COLUMN'
description: Type of template calculation
required:
- fieldId
- type
type: object
- properties:
fieldId:
type: string
description: Field ID to apply the template to
type:
$ref: '#/components/schemas/TableCalculationTemplateType.RUNNING_TOTAL'
description: Type of template calculation
required:
- fieldId
- type
type: object
- properties:
frame:
$ref: '#/components/schemas/FrameClause'
description: Frame clause for window functions
partitionBy:
items:
type: string
type: array
description: Fields to partition by for window functions
orderBy:
items:
properties:
order:
type: string
enum:
- asc
- desc
- null
nullable: true
fieldId:
type: string
required:
- order
- fieldId
type: object
type: array
description: Fields to order by for window functions
fieldId:
type: string
nullable: true
description: Field ID to apply the template to
windowFunction:
$ref: '#/components/schemas/WindowFunctionType'
description: Window function type
type:
$ref: '#/components/schemas/TableCalculationTemplateType.WINDOW_FUNCTION'
description: Type of template calculation
required:
- partitionBy
- orderBy
- fieldId
- windowFunction
- type
type: object
ApiPromotionChangesResponse:
properties:
results:
$ref: '#/components/schemas/PromotionChanges'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
Omit_Dashboard.inheritsFromOrgOrProject-or-access_:
$ref: '#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.inheritsFromOrgOrProject-or-access__'
description: Construct a type with the properties of T except for those in type K.
DashboardChartTile:
allOf:
- $ref: '#/components/schemas/DashboardTileBase'
- $ref: '#/components/schemas/DashboardChartTileProperties'
TableChartConfig:
properties:
config:
$ref: '#/components/schemas/TableChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.TABLE'
description: Type of chart visualization
required:
- type
type: object
Record_string.ParameterValue_:
properties: {}
additionalProperties:
$ref: '#/components/schemas/ParameterValue'
type: object
description: Construct a type with a set of properties K of type T
TableCalculationTemplateType.RANK_IN_COLUMN:
enum:
- rank_in_column
type: string
ChartType.BIG_NUMBER:
enum:
- big_number
type: string
DashboardTileTypes.DATA_APP:
enum:
- data_app
type: string
TemplateTableCalculation:
allOf:
- $ref: '#/components/schemas/TableCalculationBase'
- properties:
template:
$ref: '#/components/schemas/TableCalculationTemplate'
description: Template-based calculation (alternative to sql)
required:
- template
type: object
Omit_SavedChart.inheritsFromOrgOrProject-or-access_:
$ref: '#/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.inheritsFromOrgOrProject-or-access__'
description: Construct a type with the properties of T except for those in type K.
TableCalculationTemplateType.PERCENT_OF_COLUMN_TOTAL:
enum:
- percent_of_column_total
type: string
ComparisonFormatTypes:
enum:
- raw
- percentage
type: string
ConditionalFormattingWithCompareTarget_number-or-string_:
allOf:
- $ref: '#/components/schemas/BaseFilterRule_FilterOperator.number-or-string_'
- properties:
values:
items:
anyOf:
- type: number
format: double
- type: string
type: array
description: Values to compare against
compareTarget:
allOf:
- $ref: '#/components/schemas/FieldTarget'
nullable: true
description: Target field to compare against
required:
- compareTarget
type: object
ApiPromoteChartResponse:
properties:
results:
$ref: '#/components/schemas/SavedChartDAO'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
ConditionalFormattingWithValues_number-or-string_:
allOf:
- $ref: '#/components/schemas/BaseFilterRule_FilterOperator.number-or-string_'
- properties:
values:
items:
anyOf:
- type: number
format: double
- type: string
type: array
description: Values to compare against
required:
- values
type: object
ChartType.TREEMAP:
enum:
- treemap
type: string
PromotedSpace:
$ref: '#/components/schemas/SpaceSummaryBase'
DashboardFieldTarget:
properties:
fallbackType:
$ref: '#/components/schemas/DimensionType'
isSqlColumn:
type: boolean
tableName:
type: string
fieldId:
type: string
required:
- tableName
- fieldId
type: object
BinType.FIXED_WIDTH:
enum:
- fixed_width
type: string
DashboardSqlChartTileProperties:
properties:
properties:
properties:
chartSlug:
type: string
nullable: true
hideTitle:
type: boolean
chartName:
type: string
savedSqlUuid:
type: string
nullable: true
title:
type: string
required:
- chartName
- savedSqlUuid
type: object
type:
$ref: '#/components/schemas/DashboardTileTypes.SQL_CHART'
required:
- properties
- type
type: object
ConditionalFormattingConfig:
anyOf:
- $ref: '#/components/schemas/ConditionalFormattingConfigWithSingleColor'
- $ref: '#/components/schemas/ConditionalFormattingConfigWithColorRange'
PreAggregateMissReason.CUSTOM_METRIC_PRESENT:
enum:
- custom_metric_present
type: string
ConditionalFormattingColorRange:
properties:
end:
type: string
description: End color for gradient
start:
type: string
description: Start color for gradient
required:
- end
- start
type: object
PieChartConfig:
properties:
config:
$ref: '#/components/schemas/PieChart'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.PIE'
description: Type of chart visualization
required:
- type
type: object
SourcePosition:
properties:
character:
type: number
format: double
line:
type: number
format: double
required:
- character
- line
type: object
ChartType.GAUGE:
enum:
- gauge
type: string
SchedulerAndTargets:
allOf:
- $ref: '#/components/schemas/Scheduler'
- properties:
latestRun:
allOf:
- $ref: '#/components/schemas/SchedulerRun'
nullable: true
targets:
items:
anyOf:
- $ref: '#/components/schemas/SchedulerSlackTarget'
- $ref: '#/components/schemas/SchedulerEmailTarget'
- $ref: '#/components/schemas/SchedulerMsTeamsTarget'
- $ref: '#/components/schemas/SchedulerGoogleChatTarget'
type: array
required:
- targets
type: object
DashboardHeadingTileProperties:
properties:
properties:
properties:
showDivider:
type: boolean
text:
type: string
title: {}
required:
- text
type: object
type:
$ref: '#/components/schemas/DashboardTileTypes.HEADING'
required:
- properties
- type
type: object
FilterOperator:
enum:
- isNull
- notNull
- equals
- notEquals
- startsWith
- endsWith
- include
- doesNotInclude
- lessThan
- lessThanOrEqual
- greaterThan
- greaterThanOrEqual
- inThePast
- notInThePast
- inTheNext
- inTheCurrent
- notInTheCurrent
- inBetween
- notInBetween
- inPeriodToDate
type: string
ApiContentVerificationResponse:
properties:
results:
$ref: '#/components/schemas/ContentVerificationInfo'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
KnexPaginateArgs:
properties:
page:
type: number
format: double
pageSize:
type: number
format: double
required:
- page
- pageSize
type: object
FunnelChart:
properties:
legendPosition:
$ref: '#/components/schemas/FunnelChartLegendPosition'
description: Legend orientation
showLegend:
type: boolean
description: Show the chart legend
labels:
properties:
showPercentage:
type: boolean
description: Show percentage
showValue:
type: boolean
description: Show the actual value
position:
$ref: '#/components/schemas/FunnelChartLabelPosition'
description: Position of labels
type: object
description: Label display configuration
colorOverrides:
$ref: '#/components/schemas/Record_string.string_'
description: Custom colors for funnel stages
labelOverrides:
$ref: '#/components/schemas/Record_string.string_'
description: Custom labels for funnel stages
metadata:
$ref: '#/components/schemas/Record_string.SeriesMetadata_'
description: Metadata for series (colors, etc.)
fieldId:
type: string
description: Field ID to display in funnel
dataInput:
$ref: '#/components/schemas/FunnelChartDataInput'
description: How data is structured (row-based or column-based)
type: object
PreAggregateMissReason.FILTER_DIMENSION_NOT_IN_PRE_AGGREGATE:
enum:
- filter_dimension_not_in_pre_aggregate
type: string
BigNumberConfig:
properties:
config:
$ref: '#/components/schemas/BigNumber'
description: Chart-type-specific configuration
type:
$ref: '#/components/schemas/ChartType.BIG_NUMBER'
description: Type of chart visualization
required:
- type
type: object
CustomDimensionType.BIN:
enum:
- bin
type: string
EchartsGrid:
properties:
height:
type: string
description: Grid height
width:
type: string
description: Grid width
left:
type: string
description: Left padding
bottom:
type: string
description: Bottom padding
right:
type: string
description: Right padding
top:
type: string
description: Top padding
containLabel:
type: boolean
description: Whether the grid area contains axis labels
type: object
CustomFormatType:
enum:
- default
- percent
- currency
- number
- id
- date
- timestamp
- bytes_si
- bytes_iec
- custom
type: string
SchedulerOptions:
anyOf:
- $ref: '#/components/schemas/SchedulerCsvOptions'
- $ref: '#/components/schemas/SchedulerImageOptions'
- $ref: '#/components/schemas/SchedulerGsheetsOptions'
- $ref: '#/components/schemas/SchedulerPdfOptions'
SavedChart:
properties:
deletedBy:
properties:
lastName:
type: string
firstName:
type: string
userUuid:
type: string
required:
- lastName
- firstName
- userUuid
type: object
nullable: true
deletedAt:
type: string
format: date-time
verification:
allOf:
- $ref: '#/components/schemas/ContentVerificationInfo'
nullable: true
slug:
type: string
description: Unique identifier slug for this chart
access:
items:
$ref: '#/components/schemas/SpaceAccess'
type: array
inheritsFromOrgOrProject:
type: boolean
resolvedColorPalette:
$ref: '#/components/schemas/ResolvedProjectColorPalette'
description: 'Fully resolved palette for this chart, computed from the
org → project → space → dashboard → chart hierarchy. Read-only — set
the chart''s own palette via `colorPaletteUuid`.'
colorPaletteUuid:
type: string
nullable: true
description: 'Chart-level palette override pointer. `null` means inherit from the
containing dashboard / space / project / org. Writable via
`UpdateSavedChart`.'
colorPalette:
items:
type: string
type: array
deprecated: true
dashboardName:
type: string
nullable: true
dashboardUuid:
type: string
nullable: true
pinnedListOrder:
type: number
format: double
nullable: true
pinnedListUuid:
type: string
nullable: true
spaceName:
type: string
spaceUuid:
type: string
organizationUuid:
type: string
updatedByUser:
$ref: '#/components/schemas/UpdatedByUser'
updatedAt:
type: string
format: date-time
description: Timestamp when the chart was last updated
parameters:
$ref: '#/components/schemas/ParametersValuesMap'
description: Parameter values for the chart query
tableConfig:
properties:
columnOrder:
items:
type: string
type: array
description: Order of columns in table view
required:
- columnOrder
type: object
description: Table view configuration
chartConfig:
$ref: '#/components/schemas/ChartConfig'
description: Visualization configuration for the chart
pivotConfig:
properties:
columns:
items:
type: string
type: array
description: Fields to use as pivot columns
required:
- columns
type: object
description: Pivot table configuration
metricQuery:
$ref: '#/components/schemas/MetricQuery'
description: The query configuration defining what data to fetch
tableName:
type: string
description: The explore/table name this chart queries from
description:
type: string
description: Optional description of what this chart displays
name:
type: string
description: Display name of the chart
projectUuid:
type: string
uuid:
type: string
required:
- verification
- slug
- access
- inheritsFromOrgOrProject
- resolvedColorPalette
- colorPaletteUuid
- colorPalette
- dashboardName
- dashboardUuid
- pinnedListOrder
- pinnedListUuid
- spaceName
- spaceUuid
- organizationUuid
- updatedAt
- tableConfig
- chartConfig
- metricQuery
- tableName
- name
- projectUuid
- uuid
type: object
CartesianChart:
properties:
columnLimit:
type: number
format: double
description: Maximum number of pivot columns to display
rowLimit:
$ref: '#/components/schemas/RowLimit'
description: Limit displayed rows to first/last N
metadata:
$ref: '#/components/schemas/Record_string.SeriesMetadata_'
description: Metadata for series (colors, etc.)
conditionalFormattings:
items:
$ref: '#/components/schemas/ConditionalFormattingConfig'
type: array
description: Conditional formatting rules
eChartsConfig:
$ref: '#/components/schemas/EChartsConfig'
description: ECharts-specific configuration
layout:
$ref: '#/components/schemas/CartesianChartLayout'
description: Layout configuration for the chart axes and orientation
required:
- eChartsConfig
- layout
type: object
Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_:
properties:
createdAt:
type: string
format: date-time
versionUuid:
type: string
chartUuid:
type: string
createdBy:
allOf:
- $ref: '#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_'
nullable: true
required:
- createdAt
- versionUuid
- chartUuid
- createdBy
type: object
description: From T, pick a set of properties whose keys are in the union K
DashboardTileTypes.SAVED_CHART:
enum:
- saved_chart
type: string
ApiSavedChartPaginatedSchedulersResponse:
properties:
results:
$ref: '#/components/schemas/KnexPaginatedData_SchedulerAndTargets-Array_'
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
Record_string.Item-or-AdditionalMetric_:
properties: {}
additionalProperties:
anyOf:
- $ref: '#/components/schemas/Field'
- $ref: '#/components/schemas/Metric'
- $ref: '#/components/schemas/TableCalculation'
- $ref: '#/components/schemas/AdditionalMetric'
- $ref: '#/components/schemas/CustomDimension'
type: object
description: Construct a type with a set of properties K of type T
MetricQueryResponse:
properties:
metadata:
properties:
hasADateDimension:
$ref: '#/components/schemas/Pick_CompiledDimension.label-or-name-or-table_'
required:
- hasADateDimension
type: object
customDimensions:
items:
$ref: '#/components/schemas/CustomDimension'
type: array
additionalMetrics:
items:
$ref: '#/components/schemas/AdditionalMetric'
type: array
tableCalculations:
items:
$ref: '#/components/schemas/TableCalculation'
type: array
limit:
type: number
format: double
sorts:
items:
$ref: '#/components/schemas/SortField'
type: array
filters:
$ref: '#/components/schemas/FiltersResponse'
metrics:
items:
$ref: '#/components/schemas/FieldId'
type: array
dimensions:
items:
$ref: '#/components/schemas/FieldId'
type: array
exploreName:
type: string
required:
- tableCalculations
- limit
- sorts
- filters
- metrics
- dimensions
- exploreName
type: object
ApiSchedulerRunsResponse:
$ref: '#/components/schemas/ApiSuccess_KnexPaginatedData_SchedulerRun-Array__'
Record_string.string_:
properties: {}
additionalProperties:
type: string
type: object
description: Construct a type with a set of properties K of type T
PreAggregateMissReason.TABLE_CALCULATION_PRESENT:
enum:
- table_calculation_present
type: string
Scheduler:
anyOf:
- $ref: '#/components/schemas/ChartScheduler'
- $ref: '#/components/schemas/DashboardScheduler'
- $ref: '#/components/schemas/SqlChartScheduler'
- $ref: '#/components/schemas/AppScheduler'
ConditionalFormattingConfigWithColorRange:
properties:
applyTo:
$ref: '#/components/schemas/ConditionalFormattingColorApplyTo'
description: Apply formatting to cell background or text
rule:
$ref: '#/components/schemas/ConditionalFormattingMinMax_number-or-auto_'
description: Rule for color range formatting (min/max values)
color:
$ref: '#/components/schemas/ConditionalFormattingColorRange'
description: Color range for gradient conditional formatting
target:
allOf:
- $ref: '#/components/schemas/FieldTarget'
nullable: true
description: Target field for the formatting rule
required:
- rule
- color
- target
type: object
LogCounts:
properties:
error:
type: number
format: double
completed:
type: number
format: double
started:
type: number
format: double
scheduled:
type: number
format: double
total:
type: number
format: double
required:
- error
- completed
- started
- scheduled
- total
type: object
Record_string.AnyType_:
properties: {}
additionalProperties: {}
type: object
description: Construct a type with a set of properties K of type T
DashboardTileTypes:
enum:
- saved_chart
- sql_chart
- markdown
- loom
- heading
- data_app
type: string
CustomSqlDimension:
properties:
id:
type: string
description: Unique identifier for the custom dimension
name:
type: string
description: Display name for the custom dimension
table:
type: string
description: Table this custom dimension belongs to
type:
$ref: '#/components/schemas/CustomDimensionType.SQL'
description: Type of custom dimension (bin or sql)
sql:
type: string
description: SQL expression for the custom dimension
dimensionType:
$ref: '#/components/schemas/DimensionType'
description: Data type of the dimension result
required:
- id
- name
- table
- type
- sql
- dimensionType
type: object
additionalProperties: true
FunnelChartLabelPosition:
enum:
- inside
- left
- right
- hidden
type: string
AndFilterGroup:
properties:
and:
items:
$ref: '#/components/schemas/FilterGroupItem'
type: array
description: Array of filters or nested groups combined with AND logic
id:
type: string
description: Unique identifier for the filter group
required:
- and
- id
type: object
FunnelChartLegendPosition:
enum:
- horizontal
- vertical
type: string
Pick_SavedChart.Exclude_keyofSavedChart.inheritsFromOrgOrProject-or-access__:
properties:
description:
type: string
description: Optional description of what this chart displays
name:
type: string
description: Display name of the chart
projectUuid:
type: string
organizationUuid:
type: string
uuid:
type: string
parameters:
$ref: '#/components/schemas/ParametersValuesMap'
description: Parameter values for the chart query
pinnedListUuid:
type: string
nullable: true
pinnedListOrder:
type: number
format: double
nullable: true
slug:
type: string
description: Unique identifier slug for this chart
updatedAt:
type: string
format: date-time
description: Timestamp when the chart was last updated
chartConfig:
$ref: '#/components/schemas/ChartConfig'
description: Visualization configuration for the chart
spaceUuid:
type: string
dashboardUuid:
type: string
nullable: true
verification:
allOf:
- $ref: '#/components/schemas/ContentVerificationInfo'
nullable: true
updatedByUser:
$ref: '#/components/schemas/UpdatedByUser'
spaceName:
type: string
colorPaletteUuid:
type: string
nullable: true
description: 'Chart-level palette override pointer. `null` means inherit from the
containing dashboard / space / project / org. Writable via
`UpdateSavedChart`.'
deletedAt:
type: string
format: date-time
deletedBy:
properties:
lastName:
type: string
firstName:
type: string
userUuid:
type: string
required:
- lastName
- firstName
- userUuid
type: object
nullable: true
tableName:
type: string
description: The explore/table name this chart queries from
metricQuery:
$ref: '#/components/schemas/MetricQuery'
description: The query configuration defining what data to fetch
pivotConfig:
properties:
columns:
items:
type: string
type: array
required:
- columns
type: object
description: Pivot table configuration
tableConfig:
properties:
columnOrder:
items:
type: string
type: array
required:
- columnOrder
type: object
description: Table view configuration
dashboardName:
type: string
nullable: true
colorPalette:
items:
type: string
type: array
deprecated: true
resolvedColorPalette:
$ref: '#/components/schemas/ResolvedProjectColorPalette'
description: 'Fully resolved palette for this chart, computed from the
org → project → space → dashboard → chart hierarchy. Read-only — set
the chart''s own palette via `colorPaletteUuid`.'
required:
- name
- projectUuid
- organizationUuid
- uuid
- pinnedListUuid
- pinnedListOrder
- slug
- updatedAt
- chartConfig
- spaceUuid
- dashboardUuid
- verification
- spaceName
- colorPaletteUuid
- tableName
- metricQuery
- tableConfig
- dashboardName
- colorPalette
- resolvedColorPalette
type: object
description: From T, pick a set of properties whose keys are in the union K
ApiExportChartImageResponse:
properties:
results:
type: string
status:
type: string
enum:
- ok
nullable: false
required:
- results
- status
type: object
Required_CreateDashboardTileBase_:
properties:
uuid:
type: string
type:
$ref: '#/components/schemas/DashboardTileTypes'
x:
type: number
format: double
y:
type: number
format: double
h:
type: number
format: double
w:
type: number
format: double
tabUuid:
type: string
nullable: true
required:
- uuid
- type
- x
- y
- h
- w
type: object
description: Make all properties in T required
Format:
enum:
- km
- mi
- usd
- gbp
- eur
- jpy
- dkk
- id
- percent
type: string
CustomDimension:
anyOf:
- $ref: '#/components/schemas/CustomBinDimension'
- $ref: '#/components/schemas/CustomSqlDimension'
EChartsConfig:
$ref: '#/components/schemas/Partial_CompleteEChartsConfig_'
DashboardParameterValue:
properties:
value:
$ref: '#/components/schemas/ParameterValue'
parameterName:
type: string
required:
- value
- parameterName
type: object
MetricFilterRule:
description: Filter rule for metrics, targeting fields by reference
properties:
values:
items:
$ref: '#/components/schemas/AnyType'
type: array
description: Values to filter by
operator:
$ref: '#/components/schemas/FilterOperator'
description: Filter operator
id:
type: string
description: Unique identifier for the filter
target:
properties:
fieldRef:
type: string
description: Field reference to filter on (e.g., 'table_name.field_name')
required:
- fieldRef
type: object
description: Target field for the filter
settings:
$ref: '#/components/schemas/AnyType'
description: Additional settings for date/time filters
disabled:
type: boolean
description: Whether this filter is disabled
required:
type: boolean
description: Whether this filter is required
caseSensitive:
type: boolean
description: 'Overrides the field/explore case-sensitivity for this rule only.
Used by internal features like autocomplete search that must always
match case-insensitively regardless of the field''s configured setting.'
required:
- operator
- id
- target
type: object
additionalProperties: true
CustomDimensionType.SQL:
enum:
- sql
type: string
MapHexbinValueBasis:
enum:
- count
- field
type: string
ChartVersionSummary:
$ref: '#/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_'
ConditionalFormattingColorApplyTo:
enum:
- cell
- text
- row
type: string
ContentVerificationInfo:
properties:
verifiedAt:
type: string
format: date-time
verifiedBy:
properties:
lastName:
type: string
firstName:
type: string
userUuid:
type: string
required:
- lastName
- firstName
- userUuid
type: object
required:
- verifiedAt
- verifiedBy
type: object
SchedulerSlackTarget:
properties:
channel:
type: string
schedulerUuid:
type: string
updatedAt:
type: string
format: date-time
createdAt:
type: string
format: date-time
schedulerSlackTargetUuid:
type: string
required:
- channel
- schedulerUuid
- updatedAt
- createdAt
- schedulerSlackTargetUuid
type: object
DashboardConfig:
properties:
defaultDateZoomGranularity:
anyOf:
- $ref: '#/components/schemas/DateGranularity'
- type: string
dateZoomGranularities:
items:
anyOf:
- $ref: '#/components/schemas/DateGranularity'
- type: string
type: array
parameterOrder:
items:
type: string
type: array
pinnedParameters:
items:
type: string
type: array
isAddFilterDisabled:
type: boolean
isDateZoomDisabled:
type: boolean
required:
- isDateZoomDisabled
type: object
securitySchemes:
session_cookie:
type: apiKey
in: cookie
name: connect.sid
api_key:
type: apiKey
in: header
name: Authorization
description: Value should be 'ApiKey '