Lightdash Dashboards API

The Dashboards API from Lightdash — 11 operation(s) for dashboards.

Operations 15

POST /api/v1/dashboards/{dashboardUuid}/promote Promote dashboard #
GET /api/v1/dashboards/{dashboardUuid}/promoteDiff Get dashboard promotion diff #
GET /api/v1/dashboards/{dashboardUuid}/history Get dashboard history #
GET /api/v1/dashboards/{dashboardUuid}/version/{versionUuid} Get dashboard version #
POST /api/v1/dashboards/{dashboardUuid}/rollback/{versionUuid} Rollback dashboard version #
GET /api/v1/dashboards/{dashboardUuid}/schedulers List dashboard schedulers #
POST /api/v1/dashboards/{dashboardUuid}/schedulers Create dashboard scheduler #
POST /api/v1/dashboards/{dashboardUuid}/verification Verify dashboard #
DELETE /api/v1/dashboards/{dashboardUuid}/verification Unverify dashboard #
GET /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug} Get dashboard #
PATCH /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug} Update dashboard #
DELETE /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug} Delete dashboard #
GET /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}/comments Get comments #
GET /api/v2/dashboards/{dashboardUuid}/schedulers List dashboard schedulers #
GET /api/v2/dashboards/{dashboardUuid}/schedulers/{schedulerUuid}/runs List dashboard scheduler runs #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lightdash-dashboards-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lightdash-dashboards-api-openapi.yml Raw ↑
openapi: 3.2.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:
    ? 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'
        pinnedListUuid:
          type:
          - string
          - 'null'
        pinnedListOrder:
          type:
          - number
          - 'null'
          format: double
        slug:
          type: string
        parentSpaceUuid:
          type:
          - string
          - 'null'
        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
    Record_string.unknown_:
      properties: {}
      additionalProperties: {}
      type: object
      description: Construct a type with a set of properties K of type T
    PromotionAction:
      enum:
      - no changes
      - create
      - update
      - delete
      type: string
    SortField:
      properties:
        pivotValues:
          items:
            $ref: '#/components/schemas/PivotSortAnchor'
          type: array
          description: Pins the row-sort anchor to a specific pivot column. Ignored for non-pivoted results.
        nullsFirst:
          type: boolean
          description: Sort null values first
        descending:
          type: boolean
          description: Sort in descending order
        fieldId:
          type: string
          description: Field ID to sort by
      required:
      - descending
      - fieldId
      type: object
    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
    MapHexbinSizingMode:
      enum:
      - dynamic
      - fixed
      type: string
    ApiSuccess_KnexPaginatedData_SchedulerRun-Array__:
      properties:
        results:
          $ref: '#/components/schemas/KnexPaginatedData_SchedulerRun-Array_'
        status:
          type: string
          enum:
          - ok
      required:
      - results
      - status
      type: object
    ApiGetComments:
      properties:
        results:
          properties: {}
          additionalProperties:
            items:
              $ref: '#/components/schemas/Comment'
            type: array
          type: object
        status:
          type: string
          enum:
          - ok
      required:
      - results
      - status
      type: object
    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
    BinType.CUSTOM_GROUP:
      enum:
      - custom_group
      type: string
    TableCalculationTemplateType.RANK_IN_COLUMN:
      enum:
      - rank_in_column
      type: string
    Record_string.SeriesMetadata_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/SeriesMetadata'
      type: object
      description: Construct a type with a set of properties K of type T
    MapChartType:
      enum:
      - scatter
      - area
      - heatmap
      - hexbin
      type: string
    MetricOverrides:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Pick_Metric.formatOptions_'
      type: object
    PivotValue:
      properties:
        value:
          description: Pivot value
        field:
          type: string
          description: Pivot field ID
      required:
      - value
      - field
      type: object
    DashboardHeadingTile:
      allOf:
      - $ref: '#/components/schemas/DashboardTileBase'
      - $ref: '#/components/schemas/DashboardHeadingTileProperties'
    CartesianSeriesType:
      enum:
      - line
      - bar
      - scatter
      - area
      type: string
    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
    DashboardDataAppTileProperties:
      properties:
        properties:
          properties:
            appDeletedAt:
              type:
              - string
              - 'null'
            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
    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
    ChartType.FUNNEL:
      enum:
      - funnel
      type: string
    DashboardVersionedFields:
      $ref: '#/components/schemas/Pick_CreateDashboard.tiles-or-filters-or-parameters-or-updatedByUser-or-tabs-or-config_'
    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
    TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS:
      enum:
      - percent_change_from_previous
      type: string
    TableCalculation:
      anyOf:
      - $ref: '#/components/schemas/SqlTableCalculation'
      - $ref: '#/components/schemas/TemplateTableCalculation'
      - $ref: '#/components/schemas/FormulaTableCalculation'
    DashboardLoomTile:
      allOf:
      - $ref: '#/components/schemas/DashboardTileBase'
      - $ref: '#/components/schemas/DashboardLoomTileProperties'
    Record_string.AnyType_:
      properties: {}
      additionalProperties: {}
      type: object
      description: Construct a type with a set of properties K of type T
    GroupValueRule:
      properties:
        value:
          type: string
        matchType:
          $ref: '#/components/schemas/GroupValueMatchType'
      required:
      - value
      - matchType
      type: object
    DashboardSqlChartTileProperties:
      properties:
        properties:
          properties:
            chartSlug:
              type:
              - string
              - 'null'
            hideTitle:
              type: boolean
            chartName:
              type: string
            savedSqlUuid:
              type:
              - string
              - 'null'
            title:
              type: string
          required:
          - chartName
          - savedSqlUuid
          type: object
        type:
          $ref: '#/components/schemas/DashboardTileTypes.SQL_CHART'
      required:
      - properties
      - type
      type: object
    DashboardTileTypes.SQL_CHART:
      enum:
      - sql_chart
      type: string
    DashboardParameterValue:
      properties:
        value:
          $ref: '#/components/schemas/ParameterValue'
        parameterName:
          type: string
      required:
      - value
      - parameterName
      type: object
    ChartVersionDifference:
      properties:
        selectedVersion:
          allOf:
          - $ref: '#/components/schemas/ChartVersionSummary'
        currentVersion:
          allOf:
          - $ref: '#/components/schemas/ChartVersionSummary'
        chartName:
          type:
          - string
          - 'null'
        chartUuid:
          type: string
        tileUuid:
          type: string
      required:
      - chartName
      - chartUuid
      - tileUuid
      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
    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
    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
    MapTileBackground:
      enum:
      - none
      - openstreetmap
      - light
      - dark
      - satellite
      - voyager
      type: string
    CreateDashboardChartTile:
      allOf:
      - $ref: '#/components/schemas/CreateDashboardTileBase'
      - $ref: '#/components/schemas/DashboardChartTileProperties'
    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'
            description: Target field to compare against
        required:
        - compareTarget
        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
    TimeFrames:
      enum:
      - RAW
      - YEAR
      - QUARTER
      - MONTH
      - WEEK
      - DAY
      - HOUR
      - MINUTE
      - SECOND
      - MILLISECOND
      - DAY_OF_WEE

# --- truncated at 32 KB (145 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightdash/refs/heads/main/openapi/lightdash-dashboards-api-openapi.yml