> ## Documentation Index
> Fetch the complete documentation index at: https://lightdash-feature-prod-8453-51bb.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Execute saved chart

> Executes a saved chart query asynchronously with optional parameter overrides



## OpenAPI

````yaml https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/chart
openapi: 3.0.0
info:
  title: Lightdash API
  version: 0.3225.0
  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: /
security: []
tags:
  - name: My Account
    description: These routes allow users to manage their own user account.
  - name: Organizations
    description: >-
      Each user is a member of a single organization. These routes allow users
      to manage their organization. Most actions are only available to admin
      users.
  - name: Projects
    description: >-
      Projects belong to a single organization. These routes allow users to
      manage their projects, browse content, and execute queries. Users inside
      an organization might have access to a project from an organization-level
      role or they might be granted access to a project directly.
  - name: Spaces
    description: >-
      Spaces allow you to organize charts and dashboards within a project. They
      also allow granular access to content by allowing you to create private
      spaces, which are only accessible to the creator and admins.
  - name: Roles & Permissions
    description: >-
      These routes allow users to manage roles and permissions for their
      organization.
    externalDocs:
      url: https://docs.lightdash.com/references/roles
  - name: Query
    description: >-
      These routes allow users to execute and manage queries against their data
      warehouse. This includes metric queries, SQL queries, and retrieving query
      results.
paths:
  /api/v2/projects/{projectUuid}/query/chart:
    post:
      tags:
        - v2
        - Query
      summary: Execute saved chart
      description: >-
        Executes a saved chart query asynchronously with optional parameter
        overrides
      operationId: executeAsyncSavedChartQuery
      parameters:
        - in: path
          name: projectUuid
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExecuteAsyncSavedChartRequestParams'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ApiSuccess_ApiExecuteAsyncMetricQueryResults_
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      security: []
components:
  schemas:
    ExecuteAsyncSavedChartRequestParams:
      allOf:
        - $ref: '#/components/schemas/CommonExecuteQueryRequestParams'
        - properties:
            pivotResults:
              type: boolean
            limit:
              type: number
              format: double
              nullable: true
            versionUuid:
              type: string
            chartUuid:
              type: string
          required:
            - chartUuid
          type: object
    ApiSuccess_ApiExecuteAsyncMetricQueryResults_:
      properties:
        results:
          $ref: '#/components/schemas/ApiExecuteAsyncMetricQueryResults'
        status:
          type: string
          enum:
            - ok
          nullable: false
      required:
        - results
        - status
      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
    CommonExecuteQueryRequestParams:
      properties:
        parameters:
          $ref: '#/components/schemas/ParametersValuesMap'
        usePreAggregateCache:
          type: boolean
        invalidateCache:
          type: boolean
        context:
          $ref: '#/components/schemas/QueryExecutionContext'
      type: object
    ApiExecuteAsyncMetricQueryResults:
      allOf:
        - $ref: '#/components/schemas/ApiExecuteAsyncQueryResultsCommon'
        - properties:
            warnings:
              items:
                $ref: '#/components/schemas/QueryWarning'
              type: array
            fields:
              $ref: '#/components/schemas/ItemsMap'
            metricQuery:
              $ref: '#/components/schemas/MetricQuery'
          required:
            - warnings
            - fields
            - metricQuery
          type: object
    AnyType:
      description: |-
        This AnyType is an alias for any
        The goal is to make it easier to identify any type in the codebase
        without having to eslint-disable all the time
        These are only used on legacy `any` types, don't use it for new types.
        This is added on a separate file to avoid circular dependencies.
    ParametersValuesMap:
      $ref: '#/components/schemas/Record_string.ParameterValue_'
    QueryExecutionContext:
      enum:
        - dashboardView
        - autorefreshedDashboard
        - exploreView
        - filterAutocomplete
        - chartView
        - chartHistory
        - sqlChartView
        - sqlRunner
        - viewUnderlyingData
        - alert
        - scheduledDelivery
        - csvDownload
        - gsheets
        - scheduledGsheetsChart
        - scheduledGsheetsDashboard
        - scheduledGsheetsSqlChart
        - scheduledChart
        - scheduledDashboard
        - calculateTotal
        - calculateSubtotal
        - embed
        - ai
        - mcp.run_metric_query
        - mcp.run_sql
        - mcp.search_field_values
        - api
        - cli
        - metricsExplorer
        - preAggregateMaterialization
        - dataAppSample
      type: string
    ApiExecuteAsyncQueryResultsCommon:
      properties:
        resolvedTimezone:
          type: string
          nullable: true
        usedParametersValues:
          $ref: '#/components/schemas/ParametersValuesMap'
        parameterReferences:
          items:
            type: string
          type: array
        cacheMetadata:
          $ref: '#/components/schemas/CacheMetadata'
        queryUuid:
          type: string
      required:
        - resolvedTimezone
        - usedParametersValues
        - parameterReferences
        - cacheMetadata
        - queryUuid
      type: object
    QueryWarning:
      properties:
        tables:
          items:
            type: string
          type: array
        fields:
          items:
            type: string
          type: array
        message:
          type: string
      required:
        - message
      type: object
    ItemsMap:
      $ref: >-
        #/components/schemas/Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_
    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.ParameterValue_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/ParameterValue'
      type: object
      description: Construct a type with a set of properties K of type T
    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
    Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_:
      properties: {}
      additionalProperties:
        anyOf:
          - $ref: '#/components/schemas/Field'
          - $ref: '#/components/schemas/Metric'
          - $ref: '#/components/schemas/TableCalculation'
          - $ref: '#/components/schemas/CustomDimension'
      type: object
      description: Construct a type with a set of properties K of type T
    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
    FieldId:
      type: string
    DimensionOverrides:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Pick_Dimension.formatOptions_'
      type: object
    MetricOverrides:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Pick_Metric.formatOptions_'
      type: object
    CustomDimension:
      anyOf:
        - $ref: '#/components/schemas/CustomBinDimension'
        - $ref: '#/components/schemas/CustomSqlDimension'
    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
    TableCalculation:
      anyOf:
        - $ref: '#/components/schemas/SqlTableCalculation'
        - $ref: '#/components/schemas/TemplateTableCalculation'
        - $ref: '#/components/schemas/FormulaTableCalculation'
    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
    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
    ParameterValue:
      anyOf:
        - type: string
        - type: number
          format: double
        - items:
            type: string
          type: array
        - items:
            type: number
            format: double
          type: array
    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
    Field:
      properties:
        fieldType:
          $ref: '#/components/schemas/FieldType'
        type:
          type: string
        name:
          type: string
        label:
          type: string
        table:
          type: string
        tableLabel:
          type: string
        sql:
          type: string
        description:
          type: string
        source:
          $ref: '#/components/schemas/Source'
        hidden:
          type: boolean
        compact:
          $ref: '#/components/schemas/CompactOrAlias'
        round:
          type: number
          format: double
        format:
          anyOf:
            - $ref: '#/components/schemas/Format'
            - type: string
        separator:
          $ref: '#/components/schemas/NumberSeparator'
          description: >-
            Number separator style for grouping/decimal characters. Composes
            with

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

            controls the separator characters, not the format shape.
        groupLabel:
          type: string
          deprecated: true
        groups:
          items:
            type: string
          type: array
        urls:
          items:
            $ref: '#/components/schemas/FieldUrl'
          type: array
        index:
          type: number
          format: double
        tags:
          items:
            type: string
          type: array
        parameterReferences:
          items:
            type: string
          type: array
      required:
        - fieldType
        - type
        - name
        - label
        - table
        - tableLabel
        - sql
        - hidden
      type: object
      additionalProperties: true
    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
        baseDimensionType:
          $ref: '#/components/schemas/DimensionType'
        baseDimensionTimeInterval:
          $ref: '#/components/schemas/TimeFrames'
        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
    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
    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
    CustomBinDimension:
      anyOf:
        - $ref: '#/components/schemas/FixedNumberBinDimension'
        - $ref: '#/components/schemas/FixedWidthBinDimension'
        - $ref: '#/components/schemas/CustomRangeBinDimension'
        - $ref: '#/components/schemas/CustomGroupBinDimension'
    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
    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
    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
    Format:
      enum:
        - km
        - mi
        - usd
        - gbp
        - eur
        - jpy
        - dkk
        - id
        - percent
      type: string
    NumberSeparator:
      enum:
        - default
        - commaPeriod
        - spacePeriod
        - periodComma
        - noSeparatorPeriod
        - apostrophePeriod
      type: string
    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
    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
    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
    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
    TemplateTableCalculation:
      allOf:
        - $ref: '#/components/schemas/TableCalculationBase'
        - properties:
            template:
              $ref: '#/components/schemas/TableCalculationTemplate'
              description: Template-based calculation (alternative to sql)
          required:
            - template
          type: object
    FormulaTableCalculation:
      allOf:
        - $ref: '#/components/schemas/TableCalculationBase'
        - properties:
            formula:
              type: string
              description: Spreadsheet-like formula compiled to SQL at query time
          required:
            - formula
          type: object
    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.
    FilterGroup:
      anyOf:
        - $ref: '#/components/schemas/OrFilterGroup'
        - $ref: '#/components/schemas/AndFilterGroup'
    PreAggregateMissReason.NO_PRE_AGGREGATES_DEFINED:
      enum:
        - no_pre_aggregates_defined
      type: string
    PreAggregateMissReason.DIMENSION_NOT_IN_PRE_AGGREGATE:
      enum:
        - dimension_not_in_pre_aggregate
      type: string
    PreAggregateMissReason.METRIC_NOT_IN_PRE_AGGREGATE:
      enum:
        - metric_not_in_pre_aggregate
      type: string
    PreAggregateMissReason.NON_ADDITIVE_METRIC:
      enum:
        - non_additive_metric
      type: string
    PreAggregateMissReason.CUSTOM_SQL_METRIC:
      enum:
        - custom_sql_metric
      type: string
    PreAggregateMissReason.FILTER_DIMENSION_NOT_IN_PRE_AGGREGATE:
      enum:
        - filter_dimension_not_in_pre_aggregate
      type: string
    PreAggregateMissReason.PRE_AGGREGATE_FILTER_NOT_SATISFIED:
      enum:
        - pre_aggregate_filter_not_satisfied
      type: string
    PreAggregateMissReason.GRANULARITY_TOO_FINE:
      enum:
        - granularity_too_fine
      type: string
    PreAggregateMissReason.CUSTOM_DIMENSION_PRESENT:
      enum:
        - custom_dimension_present
      type: string
    PreAggregateMissReason.CUSTOM_METRIC_PRESENT:
      enum:
        - custom_metric_present
      type: string
    PreAggregateMissReason.TABLE_CALCULATION_PRESENT:
      enum:
        - table_calculation_present
      type: string
    PreAggregateMissReason.USER_BYPASS:
      enum:
        - user_bypass
      type: string
    PreAggregateMissReason.EXPLORE_RESOLUTION_ERROR:
      enum:
        - explore_resolution_error
      type: string
    PreAggregateMissReason.NO_ACTIVE_MATERIALIZATION:
      enum:
        - no_active_materialization
      type: string
    FieldType:
      enum:
        - metric
        - dimension
      type: string
    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
    FieldUrl:
      properties:
        label:
          type: string
        url:
          type: string
      required:
        - label
        - url
      type: object
    FieldType.METRIC:
      enum:
        - metric
      type: string
    DimensionType:
      enum:
        - string
        - number
        - timestamp
        - date
        - boolean
      type: string
    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
    DefaultTimeDimension:
      properties:
        interval:
          $ref: '#/components/schemas/TimeFrames'
        field:
          type: string
      required:
        - interval
        - field
      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
    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
    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
    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
    CustomDimensionType.SQL:
      enum:
        - sql
      type: string
    Compact:
      enum:
        - thousands
        - millions
        - billions
        - trillions
        - kilobytes
        - megabytes
        - gigabytes
        - terabytes
        - petabytes
        - kibibytes
        - mebibytes
        - gibibytes
        - tebibytes
        - pebibytes
      type: string
    FilterOperator:
      enum:
        - isNull
        - notNull
        - equals
        - notEquals
        - startsWith
        - endsWith
        - include
        - doesNotInclude
        - lessThan
        - lessThanOrEqual
        - greaterThan
        - greaterThanOrEqual
        - inThePast
        - notInThePast
        - inTheNext
        - inTheCurrent
        - notInTheCurrent
        - inBetween
        - notInBetween
        - inPeriodToDate
      type: string
    CustomFormatType:
      enum:
        - default
        - percent
        - currency
        - number
        - id
        - date
        - timestamp
        - bytes_si
        - bytes_iec
        - custom
      type: string
    TableCalculationBase:
      properties:
        type:
          $ref: '#/components/schemas/TableCalculationType'
          description: Data type of the calculation result
        format:
          $ref: '#/components/schemas/CustomFormat'
          description: Formatting options for the calculation
        displayName:
          type: string
          description: Display name shown in the UI
        name:
          type: string
          description: Internal name of the table calculation
        index:
          type: number
          format: double
          description: Display order index
      required:
        - displayName
        - name
      type: object
    TableCalculationTemplate:
      anyOf:
        - properties:
            partitionBy:
              items:
                type: string
              type: array
            orderBy:
              items:
                properties:
                  order:
                    type: string
                    enum:
                      - asc
                      - desc
                      - null
                    nullable: true
                  fieldId:
                    type: string
                required:
                  - order
                  - fieldId
                type: object
              type: array
              description: Fields to order by for window functions
            fieldId:
              type: string
              description: Field ID to apply the template to
            type:
              $ref: >-
                #/components/schemas/TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS
              description: Type of template calculation
          required:
            - orderBy
            - fieldId
            - type
          type: object
        - properties:
            partitionBy:
              items:
                type: string
              type: array
            orderBy:
              items:
                properties:
                  order:
                    type: string
                    enum:
                      - asc
                      - desc
                      - null
                    nullable: true
                  fieldId:
                    type: string
                required:
                  - order
                  - fieldId
                type: object
              type: array
              description: Fields to order by for window functions
            fieldId:
              type: string
              description: Field ID to apply the template to
            type:
              $ref: >-
                #/components/schemas/TableCalculationTemplateType.PERCENT_OF_PREVIOUS_VALUE
              description: Type of template calculation
          required:
            - orderBy
            - fieldId
            - type
          type: object
        - properties:
            partitionBy:
              items:
                type: string
              type: array
              description: Fields to partition by
            fieldId:
              type: string
              description: Field ID to apply the template to
            type:
              $ref: >-
                #/components/schemas/TableCalculationTemplateType.PERCENT_OF_COLUMN_TOTAL
              description: Type of template calculation
          required:
            - fieldId
            - type
          type: object
        - properties:
            fieldId:
              type: string
              description: Field ID to apply the template to
            type:
              $ref: '#/components/schemas/TableCalculationTemplateType.RANK_IN_COLUMN'
              description: Type of template calculation
          required:
            - fieldId
            - type
          type: object
        - properties:
            fieldId:
              type: string
              description: Field ID to apply the template to
            type:
              $ref: '#/components/schemas/TableCalculationTemplateType.RUNNING_TOTAL'
              description: Type of template calculation
          required:
            - fieldId
            - type
          type: object
        - properties:
            frame:
              $ref: '#/components/schemas/FrameClause'
              description: Frame clause for window functions
            partitionBy:
              items:
                type: string
              type: array
              description: Fields to partition by for window functions
            orderBy:
              items:
                properties:
                  order:
                    type: string
                    enum:
                      - asc
                      - desc
                      - null
                    nullable: true
                  fieldId:
                    type: string
                required:
                  - order
                  - fieldId
                type: object
              type: array
              description: Fields to order by for window functions
            fieldId:
              type: string
              nullable: true
              description: Field ID to apply the template to
            windowFunction:
              $ref: '#/components/schemas/WindowFunctionType'
              description: Window function type
            type:
              $ref: >-
                #/components/schemas/TableCalculationTemplateType.WINDOW_FUNCTION
              description: Type of template calculation
          required:
            - partitionBy
            - orderBy
            - fieldId
            - windowFunction
            - type
          type: object
    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
    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
    SourcePosition:
      properties:
        character:
          type: number
          format: double
        line:
          type: number
          format: double
      required:
        - character
        - line
      type: object
    CustomDimensionType.BIN:
      enum:
        - bin
      type: string
    BinType.FIXED_NUMBER:
      enum:
        - fixed_number
      type: string
    BinType.FIXED_WIDTH:
      enum:
        - fixed_width
      type: string
    BinType.CUSTOM_RANGE:
      enum:
        - custom_range
      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
    BinType.CUSTOM_GROUP:
      enum:
        - custom_group
      type: string
    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
    TableCalculationType:
      enum:
        - number
        - string
        - date
        - timestamp
        - boolean
      type: string
    TableCalculationTemplateType.PERCENT_CHANGE_FROM_PREVIOUS:
      enum:
        - percent_change_from_previous
      type: string
    TableCalculationTemplateType.PERCENT_OF_PREVIOUS_VALUE:
      enum:
        - percent_of_previous_value
      type: string
    TableCalculationTemplateType.PERCENT_OF_COLUMN_TOTAL:
      enum:
        - percent_of_column_total
      type: string
    TableCalculationTemplateType.RANK_IN_COLUMN:
      enum:
        - rank_in_column
      type: string
    TableCalculationTemplateType.RUNNING_TOTAL:
      enum:
        - running_total
      type: string
    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
    WindowFunctionType:
      enum:
        - row_number
        - percent_rank
        - cume_dist
        - rank
        - sum
        - avg
        - count
        - min
        - max
      type: string
    TableCalculationTemplateType.WINDOW_FUNCTION:
      enum:
        - window_function
      type: string
    FilterGroupItem:
      anyOf:
        - $ref: '#/components/schemas/FilterGroup'
        - $ref: '#/components/schemas/FilterRule'
    GroupValueRule:
      properties:
        value:
          type: string
        matchType:
          $ref: '#/components/schemas/GroupValueMatchType'
      required:
        - value
        - matchType
      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
    FrameType:
      enum:
        - rows
        - range
      type: string
    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
    GroupValueMatchType:
      enum:
        - exact
        - startsWith
        - endsWith
        - includes
      type: string
    FrameBoundaryType:
      enum:
        - unbounded_preceding
        - preceding
        - current_row
        - following
        - unbounded_following
      type: string
    FieldTarget:
      properties:
        fieldId:
          type: string
          description: Field ID to filter on
      required:
        - fieldId
      type: object

````