Lightdash Exploring API

The Exploring API from Lightdash — 3 operation(s) for exploring.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

lightdash-exploring-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Lightdash AiAgents Exploring 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: Exploring
paths:
  /api/v1/projects/{projectUuid}/explores/{exploreId}/runUnderlyingDataQuery:
    post:
      operationId: postRunUnderlyingDataQuery
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRunQueryResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'Deprecated — use the v2 Execute underlying data endpoint instead.


        This endpoint was deprecated on 20 March 2025 and is past its sunset date (30 April 2025) — it may be removed at any time. Migrate to the v2 async query flow: Execute underlying data, then Get results.'
      summary: Run underlying data query
      tags:
      - Exploring
      deprecated: true
      security: []
      parameters:
      - description: The uuid of the project
        in: path
        name: projectUuid
        required: true
        schema:
          type: string
      - description: table name
        in: path
        name: exploreId
        required: true
        schema:
          type: string
      requestBody:
        description: metricQuery for the chart to run
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricQueryRequest'
              description: metricQuery for the chart to run
      x-mint:
        content: '<Warning>

          **This endpoint is deprecated and past its sunset date (30 April 2025) — it may be removed at any time.**


          Migrate to the v2 async query flow: [Execute underlying data](https://docs.lightdash.com/api-reference/v2/execute-underlying-data) (`POST /api/v2/projects/{projectUuid}/query/underlying-data`) to start the query, then [Get results](https://docs.lightdash.com/api-reference/v2/get-results) to fetch rows. See also [Cancel query](https://docs.lightdash.com/api-reference/v2/cancel-query) and [Download results](https://docs.lightdash.com/api-reference/v2/download-results).

          </Warning>'
  /api/v1/projects/{projectUuid}/explores/{exploreId}/runQuery:
    post:
      operationId: RunMetricQuery
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRunQueryResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'Deprecated — use the v2 Execute metric query endpoint instead.


        This endpoint was deprecated on 20 March 2025 and is past its sunset date (30 April 2025) — it may be removed at any time. Migrate to the v2 async query flow: Execute metric query, then Get results.'
      summary: Run metric query
      tags:
      - Exploring
      deprecated: true
      security: []
      parameters:
      - description: The uuid of the project
        in: path
        name: projectUuid
        required: true
        schema:
          type: string
      - description: table name
        in: path
        name: exploreId
        required: true
        schema:
          type: string
      requestBody:
        description: metricQuery for the chart to run
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricQueryRequest'
              description: metricQuery for the chart to run
      x-mint:
        content: '<Warning>

          **This endpoint is deprecated and past its sunset date (30 April 2025) — it may be removed at any time.**


          Migrate to the v2 async query flow: [Execute metric query](https://docs.lightdash.com/api-reference/v2/execute-metric-query) (`POST /api/v2/projects/{projectUuid}/query/metric-query`) to start the query, then [Get results](https://docs.lightdash.com/api-reference/v2/get-results) to fetch rows. See also [Cancel query](https://docs.lightdash.com/api-reference/v2/cancel-query) and [Download results](https://docs.lightdash.com/api-reference/v2/download-results).

          </Warning>'
  /api/v1/projects/{projectUuid}/sqlQuery:
    post:
      operationId: RunSqlQuery
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  results:
                    $ref: '#/components/schemas/ApiSqlQueryResults'
                  status:
                    type: string
                    enum:
                    - ok
                    nullable: false
                required:
                - results
                - status
                type: object
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: 'Deprecated — use the v2 Execute SQL query endpoint instead.


        This endpoint was deprecated on 17 February 2025 and is past its sunset date (17 May 2025) — it may be removed at any time. Migrate to the v2 async query flow: Execute SQL query, then Get results.'
      summary: Run SQL query
      tags:
      - Exploring
      deprecated: true
      security: []
      parameters:
      - description: The uuid of the project to run the query against
        in: path
        name: projectUuid
        required: true
        schema:
          type: string
      requestBody:
        description: The query to run
        required: true
        content:
          application/json:
            schema:
              properties:
                sql:
                  type: string
              required:
              - sql
              type: object
              description: The query to run
      x-mint:
        content: '<Warning>

          **This endpoint is deprecated and past its sunset date (17 May 2025) — it may be removed at any time.**


          Migrate to the v2 async query flow: [Execute SQL query](https://docs.lightdash.com/api-reference/v2/execute-sql-query) (`POST /api/v2/projects/{projectUuid}/query/sql`) to start the query, then [Get results](https://docs.lightdash.com/api-reference/v2/get-results) to fetch rows. See also [Cancel query](https://docs.lightdash.com/api-reference/v2/cancel-query) and [Download results](https://docs.lightdash.com/api-reference/v2/download-results).

          </Warning>'
components:
  schemas:
    DateZoom:
      properties:
        xAxisFieldId:
          type: string
        granularity:
          anyOf:
          - $ref: '#/components/schemas/DateGranularity'
          - type: string
      type: object
    FieldUrl:
      properties:
        label:
          type: string
        url:
          type: string
      required:
      - label
      - url
      type: object
    DateGranularity:
      enum:
      - Second
      - Minute
      - Hour
      - Day
      - Week
      - Month
      - Quarter
      - Year
      type: string
    Metric:
      properties:
        fieldType:
          $ref: '#/components/schemas/FieldType.METRIC'
        type:
          $ref: '#/components/schemas/MetricType'
        name:
          type: string
        label:
          type: string
        table:
          type: string
        tableLabel:
          type: string
        sql:
          type: string
        description:
          type: string
        source:
          $ref: '#/components/schemas/Source'
        hidden:
          type: boolean
        compact:
          $ref: '#/components/schemas/CompactOrAlias'
        round:
          type: number
          format: double
        format:
          anyOf:
          - $ref: '#/components/schemas/Format'
          - type: string
        separator:
          $ref: '#/components/schemas/NumberSeparator'
          description: 'Number separator style for grouping/decimal characters. Composes with

            `format` (including ECMA-376 expressions) and `formatOptions` — it only

            controls the separator characters, not the format shape.'
        groupLabel:
          type: string
          deprecated: true
        groups:
          items:
            type: string
          type: array
        urls:
          items:
            $ref: '#/components/schemas/FieldUrl'
          type: array
        index:
          type: number
          format: double
        tags:
          items:
            type: string
          type: array
        parameterReferences:
          items:
            type: string
          type: array
        showUnderlyingValues:
          items:
            type: string
          type: array
        filters:
          items:
            $ref: '#/components/schemas/MetricFilterRule'
          type: array
        percentile:
          type: number
          format: double
        distinctKeys:
          items:
            type: string
          type: array
        formatOptions:
          $ref: '#/components/schemas/CustomFormat'
        dimensionReference:
          type: string
        requiredAttributes:
          $ref: '#/components/schemas/Record_string.string-or-string-Array_'
        anyAttributes:
          $ref: '#/components/schemas/Record_string.string-or-string-Array_'
        defaultTimeDimension:
          $ref: '#/components/schemas/DefaultTimeDimension'
        spotlight:
          properties:
            owner:
              type: string
            defaultFilter:
              $ref: '#/components/schemas/MetricFilterRule'
            defaultSegment:
              type: string
            segmentBy:
              items:
                type: string
              type: array
            filterBy:
              items:
                type: string
              type: array
            categories:
              items:
                type: string
              type: array
            visibility:
              type: string
              enum:
              - show
              - hide
          required:
          - visibility
          type: object
        drivers:
          items:
            type: string
          type: array
        aiHint:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
        richText:
          type: string
      required:
      - fieldType
      - type
      - name
      - label
      - table
      - tableLabel
      - sql
      - hidden
      type: object
      additionalProperties: true
    PreAggregateMissReason.NO_PRE_AGGREGATES_DEFINED:
      enum:
      - no_pre_aggregates_defined
      type: string
    ApiRunQueryResponse:
      properties:
        results:
          properties:
            fields:
              $ref: '#/components/schemas/Record_string.Item-or-AdditionalMetric_'
            rows:
              items:
                $ref: '#/components/schemas/AnyType'
              type: array
            cacheMetadata:
              $ref: '#/components/schemas/CacheMetadata'
            metricQuery:
              $ref: '#/components/schemas/MetricQueryResponse'
          required:
          - rows
          - cacheMetadata
          - metricQuery
          type: object
        status:
          type: string
          enum:
          - ok
          nullable: false
      required:
      - results
      - status
      type: object
    FieldType.METRIC:
      enum:
      - metric
      type: string
    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'
    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
    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
    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
    PreAggregateMissReason.NON_ADDITIVE_METRIC:
      enum:
      - non_additive_metric
      type: string
    DimensionOverrides:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Pick_Dimension.formatOptions_'
      type: object
    BinType.FIXED_NUMBER:
      enum:
      - fixed_number
      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
    Record_string.unknown_:
      properties: {}
      additionalProperties: {}
      type: object
      description: Construct a type with a set of properties K of type T
    PreAggregateMissReason.EXPLORE_RESOLUTION_ERROR:
      enum:
      - explore_resolution_error
      type: string
    FrameBoundaryType:
      enum:
      - unbounded_preceding
      - preceding
      - current_row
      - following
      - unbounded_following
      type: string
    FormulaTableCalculation:
      allOf:
      - $ref: '#/components/schemas/TableCalculationBase'
      - properties:
          formula:
            type: string
            description: Spreadsheet-like formula compiled to SQL at query time
        required:
        - formula
        type: object
    PreAggregateMissReason.METRIC_NOT_IN_PRE_AGGREGATE:
      enum:
      - metric_not_in_pre_aggregate
      type: string
    FrameType:
      enum:
      - rows
      - range
      type: string
    FieldId:
      type: string
    CacheMetadata:
      properties:
        preAggregate:
          properties:
            reason:
              $ref: '#/components/schemas/PreAggregateMatchMiss'
            name:
              type: string
            hit:
              type: boolean
          required:
          - hit
          type: object
        cacheHit:
          type: boolean
        cacheKey:
          type: string
        cacheExpiresAt:
          type: string
          format: date-time
        cacheUpdatedTime:
          type: string
          format: date-time
      required:
      - cacheHit
      type: object
    DefaultTimeDimension:
      properties:
        interval:
          $ref: '#/components/schemas/TimeFrames'
        field:
          type: string
      required:
      - interval
      - field
      type: object
    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
    PreAggregateMissReason.GRANULARITY_TOO_FINE:
      enum:
      - granularity_too_fine
      type: string
    MetricOverrides:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Pick_Metric.formatOptions_'
      type: object
    Record_string.string-or-string-Array_:
      properties: {}
      additionalProperties:
        anyOf:
        - type: string
        - items:
            type: string
          type: array
      type: object
      description: Construct a type with a set of properties K of type T
    PreAggregateMissReason.USER_BYPASS:
      enum:
      - user_bypass
      type: string
    PreAggregateMatchMiss:
      anyOf:
      - properties:
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.NO_PRE_AGGREGATES_DEFINED'
        required:
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.DIMENSION_NOT_IN_PRE_AGGREGATE'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.METRIC_NOT_IN_PRE_AGGREGATE'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.NON_ADDITIVE_METRIC'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.CUSTOM_SQL_METRIC'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.FILTER_DIMENSION_NOT_IN_PRE_AGGREGATE'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.PRE_AGGREGATE_FILTER_NOT_SATISFIED'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          preAggregateTimeDimension:
            type: string
          preAggregateGranularity:
            $ref: '#/components/schemas/TimeFrames'
          queryGranularity:
            $ref: '#/components/schemas/TimeFrames'
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.GRANULARITY_TOO_FINE'
        required:
        - preAggregateTimeDimension
        - preAggregateGranularity
        - queryGranularity
        - fieldId
        - reason
        type: object
      - properties:
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.CUSTOM_DIMENSION_PRESENT'
        required:
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.CUSTOM_METRIC_PRESENT'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          fieldId:
            $ref: '#/components/schemas/FieldId'
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.TABLE_CALCULATION_PRESENT'
        required:
        - fieldId
        - reason
        type: object
      - properties:
          preAggregateName:
            type: string
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.USER_BYPASS'
        required:
        - preAggregateName
        - reason
        type: object
      - properties:
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.EXPLORE_RESOLUTION_ERROR'
        required:
        - reason
        type: object
      - properties:
          reason:
            $ref: '#/components/schemas/PreAggregateMissReason.NO_ACTIVE_MATERIALIZATION'
        required:
        - reason
        type: object
    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
    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
    Record_string._type-DimensionType__:
      properties: {}
      additionalProperties:
        properties:
          type:
            $ref: '#/components/schemas/DimensionType'
        required:
        - type
        type: object
      type: object
      description: Construct a type with a set of properties K of type T
    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
    Source:
      properties:
        content:
          type: string
        highlight:
          properties:
            end:
              $ref: '#/components/schemas/SourcePosition'
            start:
              $ref: '#/components/schemas/SourcePosition'
          required:
          - end
          - start
          type: object
        range:
          properties:
            end:
              $ref: '#/components/schemas/SourcePosition'
            start:
              $ref: '#/components/schemas/SourcePosition'
          required:
          - end
          - start
          type: object
        path:
          type: string
      required:
      - content
      - range
      - path
      type: object
    FrameBoundary:
      properties:
        offset:
          type: number
          format: double
          description: Offset for PRECEDING/FOLLOWING
        type:
          $ref: '#/components/schemas/FrameBoundaryType'
          description: Boundary type
      required:
      - type
      type: object
    DimensionType:
      enum:
      - string
      - number
      - timestamp
      - date
      - boolean
      type: string
    TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS:
      enum:
      - percent_change_from_previous
      type: string
    SortField:
      properties:
        pivotValues:
          items:
            $ref: '#/components/schemas/PivotSortAnchor'
          type: array
          description: Pins the row-sort anchor to a specific pivot column. Ignored for non-pivoted results.
        nullsFirst:
          type: boolean
          description: Sort null values first
        descending:
          type: boolean
          description: Sort in descending order
        fieldId:
          type: string
          description: Field ID to sort by
      required:
      - descending
      - fieldId
      type: object
    MetricType:
      enum:
      - percentile
      - average
      - count
      - count_distinct
      - sum
      - sum_distinct
      - average_distinct
      - min
      - max
      - percent_of_previous
      - percent_of_total
      - running_total
      - number
      - median
      - string
      - date
      - timestamp
      - boolean
      type: string
    NumberSeparator:
      enum:
      - default
      - commaPeriod
      - spacePeriod
      - periodComma
      - noSeparatorPeriod
      - apostrophePeriod
      type: string
    CustomBinDimension:
      anyOf:
      - $ref: '#/components/schemas/FixedNumberBinDimension'
      - $ref: '#/components/schemas/FixedWidthBinDimension'
      - $ref: '#/components/schemas/CustomRangeBinDimension'
      - $ref: '#/components/schemas/CustomGroupBinDimension'
    FiltersResponse:
      properties:
        tableCalculations:
          $ref: '#/components/schemas/FilterGroupResponse'
        metrics:
          $ref: '#/components/schemas/FilterGroupResponse'
        dimensions:
          $ref: '#/components/schemas/FilterGroupResponse'
      type: object
    ApiSqlQueryResults:
      properties:
        rows:
          items:
            $ref: '#/components/schemas/Record_string.unknown_'
          type: array
        fields:
          $ref: '#/components/schemas/Record_string._type-DimensionType__'
      required:
      - rows
      - fields
      type: object
    FilterGroupResponse:
      anyOf:
      - properties:
          or:
            items:
              $ref: '#/components/schemas/AnyType'
            type: array
          id:
            type: string
        required:
        - or
        - id
        type: object
      - properties:
          and:
            items:
              $ref: '#/components/schemas/AnyType'
            type: array
          id:
            type: string
        required:
        - and
        - id
        type: object
    GroupValueRule:
      properties:
        value:
          type: string
        matchType:
          $ref: '#/components/schemas/GroupValueMatchType'
      required:
      - value
      - matchType
      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
    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
    TableCalculationTemplateType.WINDOW_FUNCTION:
      enum:
      - window_function
      type: string
    MetricQueryRequest:
      properties:
        dimensionOverrides:
          $ref: '#/components/schemas/DimensionOverrides'
        metricOverrides:
          $ref: '#/components/schemas/MetricOverrides'
        pivotDimensions:
          items:
            $ref: '#/components/schemas/FieldId'
          type: array
        timezone:
          type: string
        metadata:
          properties:
            hasADateDimension:
              $ref: '#/components/schemas/Pick_CompiledDimension.label-or-name-or-table_'
          required:
          - hasADateDimension
          type: object
        dateZoom:
       

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