openapi: 3.0.0 info: title: Lightdash AiAgents Dashboards 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: Dashboards paths: /api/v1/dashboards/{dashboardUuid}/promote: post: operationId: promoteDashboard responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiPromoteDashboardResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Promote dashboard to its upstream project summary: Promote dashboard tags: - Dashboards security: [] parameters: - description: dashboardUuid for the dashboard to run in: path name: dashboardUuid required: true schema: type: string /api/v1/dashboards/{dashboardUuid}/promoteDiff: get: operationId: promoteDashboardDiff 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 dashboard to promote summary: Get dashboard promotion diff tags: - Dashboards security: [] parameters: - description: dashboardUuid for the dashboard to check diff in: path name: dashboardUuid required: true schema: type: string /api/v1/dashboards/{dashboardUuid}/history: get: operationId: getDashboardHistory responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiGetDashboardHistoryResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Get dashboard version history summary: Get dashboard history tags: - Dashboards security: [] parameters: - description: dashboardUuid for the dashboard in: path name: dashboardUuid required: true schema: type: string /api/v1/dashboards/{dashboardUuid}/version/{versionUuid}: get: operationId: getDashboardVersion responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiGetDashboardVersionResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Get specific dashboard version summary: Get dashboard version tags: - Dashboards security: [] parameters: - description: dashboardUuid for the dashboard in: path name: dashboardUuid required: true schema: type: string - description: versionUuid for the dashboard version in: path name: versionUuid required: true schema: type: string /api/v1/dashboards/{dashboardUuid}/rollback/{versionUuid}: post: operationId: postDashboardVersionRollback 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 dashboard to a previous version summary: Rollback dashboard version tags: - Dashboards security: [] parameters: - description: dashboardUuid for the dashboard in: path name: dashboardUuid required: true schema: type: string - description: versionUuid for the dashboard version to rollback to in: path name: versionUuid required: true schema: type: string /api/v1/dashboards/{dashboardUuid}/schedulers: get: operationId: getDashboardSchedulers responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiDashboardSchedulersResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Get schedulers for a dashboard summary: List dashboard schedulers tags: - Dashboards deprecated: true security: [] parameters: - in: path name: dashboardUuid required: true schema: type: string post: operationId: createDashboardScheduler responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiCreateDashboardSchedulerResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Create a scheduler for a dashboard summary: Create dashboard scheduler tags: - Dashboards security: [] parameters: - in: path name: dashboardUuid required: true schema: type: string /api/v1/dashboards/{dashboardUuid}/verification: post: operationId: verifyDashboard 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 dashboard summary: Verify dashboard tags: - Dashboards security: [] parameters: - description: The uuid of the dashboard to verify in: path name: dashboardUuid required: true schema: type: string delete: operationId: unverifyDashboard 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 dashboard summary: Unverify dashboard tags: - Dashboards security: [] parameters: - description: The uuid of the dashboard to unverify in: path name: dashboardUuid required: true schema: type: string /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}: get: operationId: getProjectDashboard responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiDashboardResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Get a dashboard by uuid or slug within a project summary: Get dashboard tags: - Dashboards security: [] parameters: - in: path name: projectUuid required: true schema: type: string - in: path name: dashboardUuidOrSlug required: true schema: type: string patch: operationId: updateProjectDashboard responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiDashboardResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Update a dashboard by uuid or slug within a project summary: Update dashboard tags: - Dashboards security: [] parameters: - in: path name: projectUuid required: true schema: type: string - in: path name: dashboardUuidOrSlug required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateDashboard' delete: operationId: deleteProjectDashboard 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 dashboard by uuid or slug within a project summary: Delete dashboard tags: - Dashboards security: [] parameters: - in: path name: projectUuid required: true schema: type: string - in: path name: dashboardUuidOrSlug required: true schema: type: string /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}/comments: get: operationId: getProjectDashboardComments responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiGetComments' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Gets all comments for a dashboard within a project summary: Get comments tags: - Dashboards security: [] parameters: - in: path name: projectUuid required: true schema: type: string - in: path name: dashboardUuidOrSlug required: true schema: type: string - in: query name: resolved required: false schema: type: boolean /api/v2/dashboards/{dashboardUuid}/schedulers: get: operationId: getDashboardSchedulers responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ApiDashboardPaginatedSchedulersResponse' default: description: Error content: application/json: schema: $ref: '#/components/schemas/ApiErrorPayload' description: Get all schedulers for a dashboard summary: List dashboard schedulers tags: - Dashboards security: [] parameters: - description: The uuid of the dashboard in: path name: dashboardUuid 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: include the most recent run for each scheduler in: query name: includeLatestRun required: false schema: type: boolean /api/v2/dashboards/{dashboardUuid}/schedulers/{schedulerUuid}/runs: get: operationId: getDashboardSchedulerRuns 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 dashboard summary: List dashboard scheduler runs tags: - Dashboards security: [] parameters: - description: The uuid of the dashboard in: path name: dashboardUuid 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 components: schemas: ConditionalFormattingWithFilterOperator: anyOf: - $ref: '#/components/schemas/ConditionalFormattingWithValues_number-or-string_' - $ref: '#/components/schemas/ConditionalFormattingWithCompareTarget_number-or-string_' OrganizationMemberRole: enum: - member - viewer - interactive_viewer - editor - developer - admin type: string CreateDashboardChartTile: allOf: - $ref: '#/components/schemas/CreateDashboardTileBase' - $ref: '#/components/schemas/DashboardChartTileProperties' 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 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 DashboardHistory: properties: history: items: $ref: '#/components/schemas/DashboardVersionSummary' type: array required: - history 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 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 MapHexbinSizingMode: enum: - dynamic - fixed type: string Pick_CreateDashboard.tiles-or-filters-or-parameters-or-updatedByUser-or-tabs-or-config_: properties: parameters: $ref: '#/components/schemas/DashboardParameters' tiles: items: anyOf: - $ref: '#/components/schemas/CreateDashboardChartTile' - $ref: '#/components/schemas/CreateDashboardMarkdownTile' - $ref: '#/components/schemas/CreateDashboardLoomTile' - $ref: '#/components/schemas/CreateDashboardSqlChartTile' - $ref: '#/components/schemas/CreateDashboardHeadingTile' - $ref: '#/components/schemas/CreateDashboardDataAppTile' type: array filters: $ref: '#/components/schemas/DashboardFilters' updatedByUser: $ref: '#/components/schemas/Pick_UpdatedByUser.userUuid_' tabs: items: $ref: '#/components/schemas/DashboardTab' type: array config: $ref: '#/components/schemas/DashboardConfig' required: - tiles - tabs type: object description: From T, pick a set of properties whose keys are in the union K 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 CreateDashboardMarkdownTile: allOf: - $ref: '#/components/schemas/CreateDashboardTileBase' - $ref: '#/components/schemas/DashboardMarkdownTileProperties' ApiSuccess_KnexPaginatedData_SchedulerRun-Array__: properties: results: $ref: '#/components/schemas/KnexPaginatedData_SchedulerRun-Array_' status: type: string enum: - ok nullable: false required: - results - status type: object 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 ApiGetDashboardHistoryResponse: properties: results: $ref: '#/components/schemas/DashboardHistory' status: type: string enum: - ok nullable: false required: - results - status type: object 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 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 ChartType.PIE: enum: - pie type: string 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 DashboardDataAppTile: allOf: - $ref: '#/components/schemas/DashboardTileBase' - $ref: '#/components/schemas/DashboardDataAppTileProperties' 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 DashboardVersionedFields: $ref: '#/components/schemas/Pick_CreateDashboard.tiles-or-filters-or-parameters-or-updatedByUser-or-tabs-or-config_' Record_string.DashboardTileTarget_: properties: {} additionalProperties: $ref: '#/components/schemas/DashboardTileTarget' 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 TableCalculationTemplateType.PERCENT_OF_PREVIOUS_VALUE: enum: - percent_of_previous_value 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 CartesianSeriesType: enum: - line - bar - scatter - area type: string ApiDashboardResponse: properties: results: $ref: '#/components/schemas/Dashboard' status: type: string enum: - ok nullable: false required: - results - status type: object 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 Record_string.unknown_: properties: {} additionalProperties: {} type: object description: Construct a type with a set of properties K of type T 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 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 DashboardSqlChartTile: allOf: - $ref: '#/components/schemas/DashboardTileBase' - $ref: '#/components/schemas/DashboardSqlChartTileProperties' FormulaTableCalculation: allOf: - $ref: '#/components/schemas/TableCalculationBase' - properties: formula: type: string description: Spreadsheet-like formula compiled to SQL at query time required: - formula type: object SchedulerResourceType: enum: - chart - dashboard - sqlChart - app type: string Pick_CreateDashboard.name-or-description-or-spaceUuid-or-colorPaletteUuid_: properties: description: type: string name: type: string spaceUuid: type: string colorPaletteUuid: type: string nullable: true required: - name type: object description: From T, pick a set of properties whose keys are in the union K 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 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 Pick_UpdatedByUser.userUuid-or-firstName-or-lastName_: properties: userUuid: type: string firstName: type: string lastName: type: string required: - userUuid - firstName - lastName type: object description: From T, pick a set of properties whose keys are in the union K 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 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 CreateDashboardLoomTile: allOf: - $ref: '#/components/schemas/CreateDashboardTileBase' - $ref: '#/components/schemas/DashboardLoomTileProperties' 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 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 SchedulerJobStatus: enum: - scheduled - started - completed - error type: string MapHexbinAggregation: enum: - sum - avg - min - max type: string 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.' ApiDashboardPaginatedSchedulersResponse: properties: results: $ref: '#/components/schemas/KnexPaginatedData_SchedulerAndTargets-Array_' status: type: string enum: - ok nullable: false required: - results - status type: object 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 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 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 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 DashboardVersionSummary: properties: createdBy: allOf: - $ref: '#/components/schemas/Pick_UpdatedByUser.userUuid-or-firstName-or-lastName_' nullable: true createdAt: type: string format: date-time versionUuid: type: string dashboardUuid: type: string required: - createdBy - createdAt - versionUuid - dashboardUuid 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 DashboardMarkdownTile: allOf: - $ref: '#/components/schemas/DashboardTileBase' - $ref: '#/components/schemas/DashboardMarkdownTileProperties' 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 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 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 DashboardTileTypes.MARKDOWN: enum: - markdown type: string DimensionType: enum: - string - number - timestamp - date - boolean type: string TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS: enum: - percent_change_from_previous type: string PieChartLegendPosition: type: string enum: - horizontal - vertical nullable: false DashboardTileTypes.HEADING: enum: - heading type: string ThresholdOptions: properties: value: type: number format: double fieldId: type: string operator: $ref: '#/components/schemas/ThresholdOperator' required: - value - fieldId - operator type: object DashboardVersion: allOf: - $ref: '#/components/schemas/DashboardVersionSummary' - properties: chartVersionDifferences: items: $ref: '#/components/schemas/ChartVersionDifference' type: array dashboard: $ref: '#/components/schemas/Dashboard' required: - dashboard type: object FunnelChartDataInput: enum: - row - column type: string DashboardTileTypes.SQL_CHART: enum: - sql_chart type: string TooltipSortBy: type: string enum: - default - alphabetical - value_ascending - value_descending ChartKind: enum: - line - horizontal_bar - vertical_bar - scatter - area - mixed - pie - table - big_number - funnel - custom - treemap - gauge - map - sankey type: string 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 SeriesMetadata: properties: color: type: string description: Color for the series required: - color type: object CreateDashboardSqlChartTile: allOf: - $ref: '#/components/schemas/CreateDashboardTileBase' - $ref: '#/components/schemas/DashboardSqlChartTileProperties' CreateDashboardDataAppTile: allOf: - $ref: '#/components/schemas/CreateDashboardTileBase' - $ref: '#/components/schemas/DashboardDataAppTileProperties' 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 DashboardHeadingTile: allOf: - $ref: '#/components/schemas/DashboardTileBase' - $ref: '#/components/schemas/DashboardHeadingTileProperties' 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 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' 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' 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 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 ApiDashboardSchedulersResponse: properties: results: items: $ref: '#/components/schemas/SchedulerAndTargets' type: array status: type: string enum: - ok nullable: false required: - results - status type: object TableCalculationTemplateType.WINDOW_FUNCTION: enum: - window_function type: string Comment: properties: mentions: items: type: string type: array canRemove: type: boolean resolved: type: boolean replies: items: $ref: '#/components/schemas/Comment' type: array replyTo: type: string user: properties: name: type: string required: - name type: object createdAt: type: string format: date-time textHtml: type: string text: type: string commentId: type: string required: - mentions - canRemove - resolved - user - createdAt - textHtml - text - commentId 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 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 CartesianChartLayout: $ref: '#/components/schemas/Partial_CompleteCartesianChartLayout_' 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_' 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.' 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 ApiSuccessEmpty: properties: results: {} status: type: string enum: - ok nullable: false required: - status type: object TableCalculation: anyOf: - $ref: '#/components/schemas/SqlTableCalculation' - $ref: '#/components/schemas/TemplateTableCalculation' - $ref: '#/components/schemas/FormulaTableCalculation' 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 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 PromotedDashboard: allOf: - $ref: '#/components/schemas/DashboardDAO' - properties: spacePath: type: string spaceSlug: type: string required: - spacePath - spaceSlug type: object 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 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 ApiGetDashboardVersionResponse: properties: results: $ref: '#/components/schemas/DashboardVersion' status: type: string enum: - ok nullable: false required: - results - status type: object Pick_UpdatedByUser.userUuid_: properties: userUuid: type: string required: - userUuid type: object description: From T, pick a set of properties whose keys are in the union K PromotedApp: properties: name: type: string uuid: type: string required: - name - uuid type: object 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 PromotedChart: allOf: - $ref: '#/components/schemas/SavedChartDAO' - properties: oldUuid: type: string spacePath: type: string spaceSlug: type: string required: - oldUuid - spacePath - spaceSlug type: object BinType.CUSTOM_RANGE: enum: - custom_range type: string 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 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 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 ChartType.SANKEY: enum: - sankey type: string 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 Dashboard: 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 colorPaletteUuid: type: string nullable: true config: $ref: '#/components/schemas/DashboardConfig' slug: type: string access: items: $ref: '#/components/schemas/SpaceAccess' type: array nullable: true inheritsFromOrgOrProject: type: boolean tabs: items: $ref: '#/components/schemas/DashboardTab' type: array pinnedListOrder: type: number format: double nullable: true pinnedListUuid: type: string nullable: true firstViewedAt: anyOf: - type: string format: date-time - type: string nullable: true views: type: number format: double spaceName: type: string spaceUuid: type: string updatedByUser: $ref: '#/components/schemas/UpdatedByUser' parameters: $ref: '#/components/schemas/DashboardParameters' filters: $ref: '#/components/schemas/DashboardFilters' tiles: items: $ref: '#/components/schemas/DashboardTile' type: array updatedAt: type: string format: date-time description: type: string verification: allOf: - $ref: '#/components/schemas/ContentVerificationInfo' nullable: true name: type: string uuid: type: string versionUuid: type: string dashboardVersionId: type: number format: double projectUuid: type: string organizationUuid: type: string required: - colorPaletteUuid - slug - access - inheritsFromOrgOrProject - tabs - pinnedListOrder - pinnedListUuid - firstViewedAt - views - spaceName - spaceUuid - filters - tiles - updatedAt - verification - name - uuid - versionUuid - dashboardVersionId - projectUuid - organizationUuid type: object 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 PromotionAction: enum: - no changes - create - update - delete type: string 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 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 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' 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 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 DashboardTileTypes.DATA_APP: enum: - data_app type: string 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 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 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' 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 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 UpdateDashboard: anyOf: - $ref: '#/components/schemas/DashboardUnversionedFields' - $ref: '#/components/schemas/DashboardVersionedFields' - allOf: - $ref: '#/components/schemas/DashboardUnversionedFields' - $ref: '#/components/schemas/DashboardVersionedFields' ApiCreateDashboardSchedulerResponse: properties: results: $ref: '#/components/schemas/SchedulerAndTargets' status: type: string enum: - ok nullable: false required: - results - status type: object DashboardUnversionedFields: $ref: '#/components/schemas/Pick_CreateDashboard.name-or-description-or-spaceUuid-or-colorPaletteUuid_' ConditionalFormattingConfig: anyOf: - $ref: '#/components/schemas/ConditionalFormattingConfigWithSingleColor' - $ref: '#/components/schemas/ConditionalFormattingConfigWithColorRange' 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 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 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' 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 ChartVersionDifference: properties: selectedVersion: allOf: - $ref: '#/components/schemas/ChartVersionSummary' nullable: true currentVersion: allOf: - $ref: '#/components/schemas/ChartVersionSummary' nullable: true chartName: type: string nullable: true chartUuid: type: string tileUuid: type: string required: - chartName - chartUuid - tileUuid type: object DashboardTileTypes.SAVED_CHART: enum: - saved_chart type: string 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 ApiPromoteDashboardResponse: properties: results: $ref: '#/components/schemas/DashboardDAO' status: type: string enum: - ok nullable: false required: - results - status 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 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 CreateDashboardHeadingTile: allOf: - $ref: '#/components/schemas/CreateDashboardTileBase' - $ref: '#/components/schemas/DashboardHeadingTileProperties' 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 CreateDashboardTileBase: properties: tabUuid: type: string nullable: true w: type: number format: double h: type: number format: double y: type: number format: double x: type: number format: double type: $ref: '#/components/schemas/DashboardTileTypes' uuid: type: string required: - w - h - y - x - type type: object ApiGetComments: properties: results: properties: {} additionalProperties: items: $ref: '#/components/schemas/Comment' type: array type: object status: type: string enum: - ok nullable: false required: - results - status type: object 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 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' DashboardParameterValue: properties: value: $ref: '#/components/schemas/ParameterValue' parameterName: type: string required: - value - parameterName type: object EChartsConfig: $ref: '#/components/schemas/Partial_CompleteEChartsConfig_' 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 '