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

# Get project compilation logs

> Get compilation logs for a project



## OpenAPI

````yaml https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/compile-logs
openapi: 3.0.0
info:
  title: Lightdash API
  version: 0.3249.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/v1/projects/{projectUuid}/compile-logs:
    get:
      tags:
        - Projects
      summary: Get project compilation logs
      description: Get compilation logs for a project
      operationId: getProjectCompileLogs
      parameters:
        - in: path
          name: projectUuid
          required: true
          schema:
            type: string
        - description: number of items per page
          in: query
          name: pageSize
          required: false
          schema:
            type: number
            format: double
        - description: number of page
          in: query
          name: page
          required: false
          schema:
            type: number
            format: double
        - description: column to sort by
          in: query
          name: sortBy
          required: false
          schema:
            type: string
            enum:
              - created_at
              - compilation_source
        - description: sort direction (asc or desc)
          in: query
          name: sortDirection
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
        - description: filter by triggered user UUIDs (comma-separated)
          in: query
          name: triggeredByUserUuids
          required: false
          schema:
            type: string
        - description: >-
            filter by source ("cli_deploy", "refresh_dbt", "create_project",
            "project_connection_form")
          in: query
          name: source
          required: false
          schema:
            type: string
            enum:
              - cli_deploy
              - refresh_dbt
              - create_project
              - project_connection_form
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiProjectCompileLogsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      security: []
components:
  schemas:
    ApiProjectCompileLogsResponse:
      properties:
        results:
          $ref: '#/components/schemas/ApiProjectCompileLogsResults'
        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
    ApiProjectCompileLogsResults:
      properties:
        pagination:
          properties:
            totalResults:
              type: number
              format: double
            totalPageCount:
              type: number
              format: double
            pageSize:
              type: number
              format: double
            page:
              type: number
              format: double
          required:
            - totalResults
            - totalPageCount
            - pageSize
            - page
          type: object
        data:
          items:
            $ref: '#/components/schemas/ProjectCompileLog'
          type: array
      required:
        - data
      type: object
    AnyType:
      description: |-
        This AnyType is an alias for any
        The goal is to make it easier to identify any type in the codebase
        without having to eslint-disable all the time
        These are only used on legacy `any` types, don't use it for new types.
        This is added on a separate file to avoid circular dependencies.
    ProjectCompileLog:
      properties:
        report:
          $ref: '#/components/schemas/CompilationHistoryReport'
        warehouseType:
          type: string
          nullable: true
        requestMethod:
          type: string
          nullable: true
        dbtConnectionType:
          type: string
          nullable: true
        compilationSource:
          $ref: '#/components/schemas/CompilationSource'
        createdAt:
          type: string
          format: date-time
        organizationUuid:
          type: string
        userName:
          type: string
          nullable: true
        userUuid:
          type: string
          nullable: true
        jobUuid:
          type: string
          nullable: true
        projectUuid:
          type: string
        projectCompileLogId:
          type: string
      required:
        - report
        - warehouseType
        - requestMethod
        - dbtConnectionType
        - compilationSource
        - createdAt
        - organizationUuid
        - userName
        - userUuid
        - jobUuid
        - projectUuid
        - projectCompileLogId
      type: object
    CompilationHistoryReport:
      properties:
        baseTableNames:
          items:
            type: string
          type: array
        exploresWithErrors:
          items:
            $ref: '#/components/schemas/ExploreError'
          type: array
        dimensionsCount:
          type: number
          format: double
        metricsCount:
          type: number
          format: double
        errorExploresCount:
          type: number
          format: double
        successfulExploresCount:
          type: number
          format: double
        totalExploresCount:
          type: number
          format: double
      required:
        - baseTableNames
        - exploresWithErrors
        - dimensionsCount
        - metricsCount
        - errorExploresCount
        - successfulExploresCount
        - totalExploresCount
      type: object
    CompilationSource:
      type: string
      enum:
        - cli_deploy
        - refresh_dbt
        - create_project
        - project_connection_form
    ExploreError:
      allOf:
        - $ref: '#/components/schemas/Partial_Explore_'
        - $ref: >-
            #/components/schemas/Pick_Explore.name-or-label-or-groupLabel-or-groups_
        - properties:
            errors:
              items:
                $ref: '#/components/schemas/InlineError'
              type: array
          required:
            - errors
          type: object
    Partial_Explore_:
      properties:
        name:
          type: string
        label:
          type: string
        tags:
          items:
            type: string
          type: array
        groupLabel:
          type: string
          deprecated: true
        groups:
          items:
            type: string
          type: array
          description: |-
            Nested groups for the sidebar (max 5 levels). Group keys resolve to
            labels/descriptions via the project-level `table_groups` config
            (fetched separately); missing keys fall back to using the key as
            the label.
        baseTable:
          type: string
        joinedTables:
          items:
            $ref: '#/components/schemas/CompiledExploreJoin'
          type: array
        tables:
          properties: {}
          additionalProperties:
            $ref: '#/components/schemas/CompiledTable'
          type: object
        unfilteredTables:
          properties: {}
          additionalProperties:
            $ref: '#/components/schemas/CompiledTable'
          type: object
        targetDatabase:
          $ref: '#/components/schemas/SupportedDbtAdapter'
        warehouse:
          type: string
        databricksCompute:
          type: string
        ymlPath:
          type: string
        sqlPath:
          type: string
        type:
          $ref: '#/components/schemas/ExploreType'
        caseSensitive:
          type: boolean
        spotlight:
          properties:
            owner:
              type: string
            categories:
              items:
                type: string
              type: array
            visibility:
              type: string
              enum:
                - show
                - hide
          required:
            - visibility
          type: object
        aiHint:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
        parameters:
          $ref: '#/components/schemas/Record_string.LightdashProjectParameter_'
        savedParameterValues:
          $ref: '#/components/schemas/ParametersValuesMap'
        preAggregates:
          items:
            $ref: '#/components/schemas/PreAggregateDef'
          type: array
        preAggregateSource:
          $ref: '#/components/schemas/PreAggregateSource'
        warnings:
          items:
            $ref: '#/components/schemas/InlineError'
          type: array
          description: >-
            Non-fatal warnings from partial compilation.

            Present when some joins or fields failed to compile but the explore
            is still usable.

            Only populated when PARTIAL_COMPILATION_ENABLED=true.
      type: object
      description: Make all properties in T optional
    Pick_Explore.name-or-label-or-groupLabel-or-groups_:
      properties:
        name:
          type: string
        label:
          type: string
        groupLabel:
          type: string
          deprecated: true
        groups:
          items:
            type: string
          type: array
          description: |-
            Nested groups for the sidebar (max 5 levels). Group keys resolve to
            labels/descriptions via the project-level `table_groups` config
            (fetched separately); missing keys fall back to using the key as
            the label.
      required:
        - name
        - label
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    InlineError:
      properties:
        message:
          type: string
        type:
          $ref: '#/components/schemas/InlineErrorType'
      required:
        - message
        - type
      type: object
    CompiledExploreJoin:
      allOf:
        - $ref: >-
            #/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always-or-relationship_
        - properties:
            parameterReferences:
              items:
                type: string
              type: array
            tablesReferences:
              items:
                type: string
              type: array
            compiledSqlOn:
              type: string
          required:
            - compiledSqlOn
          type: object
    CompiledTable:
      allOf:
        - $ref: '#/components/schemas/TableBase'
        - properties:
            sets:
              $ref: '#/components/schemas/Record_string.FieldSetDefinition_'
            parameters:
              $ref: '#/components/schemas/Record_string.LightdashProjectParameter_'
            parameterReferences:
              items:
                type: string
              type: array
            uncompiledSqlWhere:
              type: string
            source:
              $ref: '#/components/schemas/Source'
            lineageGraph:
              $ref: '#/components/schemas/LineageGraph'
            metrics:
              $ref: '#/components/schemas/Record_string.CompiledMetric_'
            dimensions:
              $ref: '#/components/schemas/Record_string.CompiledDimension_'
          required:
            - lineageGraph
            - metrics
            - dimensions
          type: object
    SupportedDbtAdapter:
      enum:
        - bigquery
        - databricks
        - snowflake
        - redshift
        - postgres
        - duckdb
        - trino
        - clickhouse
        - athena
        - spark
      type: string
    ExploreType:
      enum:
        - virtual
        - default
        - pre_aggregate
      type: string
    Record_string.LightdashProjectParameter_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/LightdashProjectParameter'
      type: object
      description: Construct a type with a set of properties K of type T
    ParametersValuesMap:
      $ref: '#/components/schemas/Record_string.ParameterValue_'
    PreAggregateDef:
      properties:
        materializationRole:
          $ref: '#/components/schemas/PreAggregateMaterializationRole'
        refresh:
          properties:
            cron:
              type: string
          type: object
        maxRows:
          type: number
          format: double
        granularity:
          $ref: '#/components/schemas/TimeFrames'
        timeDimension:
          type: string
        filters:
          items:
            $ref: '#/components/schemas/MetricFilterRule'
          type: array
        metrics:
          items:
            type: string
          type: array
        dimensions:
          items:
            type: string
          type: array
        name:
          type: string
      required:
        - metrics
        - dimensions
        - name
      type: object
    PreAggregateSource:
      properties:
        preAggregateName:
          type: string
        sourceExploreName:
          type: string
      required:
        - preAggregateName
        - sourceExploreName
      type: object
    InlineErrorType:
      enum:
        - METADATA_PARSE_ERROR
        - NO_DIMENSIONS_FOUND
        - SKIPPED_JOIN
        - MISSING_TABLE
        - FIELD_ERROR
        - SET_VALIDATION_ERROR
        - INVALID_PARAMETER
        - DUPLICATE_FIELD_NAME
      type: string
    Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always-or-relationship_:
      properties:
        type:
          $ref: '#/components/schemas/DbtModelJoinType'
        table:
          type: string
        hidden:
          type: boolean
        sqlOn:
          type: string
        always:
          type: boolean
        relationship:
          $ref: '#/components/schemas/JoinRelationship'
      required:
        - table
        - sqlOn
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    TableBase:
      properties:
        sqlPath:
          type: string
        ymlPath:
          type: string
        dbtPackageName:
          type: string
        warnings:
          items:
            $ref: '#/components/schemas/InlineError'
          type: array
        aiHint:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
        defaultShowUnderlyingValues:
          items:
            type: string
          type: array
        defaultTimeDimension:
          $ref: '#/components/schemas/DefaultTimeDimension'
        groupDetails:
          $ref: '#/components/schemas/Record_string.GroupType_'
        anyAttributes:
          $ref: '#/components/schemas/Record_string.string-or-string-Array_'
        requiredAttributes:
          $ref: '#/components/schemas/Record_string.string-or-string-Array_'
        hidden:
          type: boolean
        requiredFilters:
          items:
            $ref: '#/components/schemas/ModelRequiredFilterRule'
          type: array
        sqlWhere:
          type: string
        groupLabel:
          type: string
        orderFieldsBy:
          $ref: '#/components/schemas/OrderFieldsByStrategy'
        primaryKey:
          items:
            type: string
          type: array
        sqlTable:
          type: string
        schema:
          type: string
        database:
          type: string
        description:
          type: string
        originalName:
          type: string
        label:
          type: string
        name:
          type: string
      required:
        - sqlTable
        - schema
        - database
        - label
        - name
      type: object
    Record_string.FieldSetDefinition_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/FieldSetDefinition'
      type: object
      description: Construct a type with a set of properties K of type T
    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
    LineageGraph:
      $ref: '#/components/schemas/Record_string.LineageNodeDependency-Array_'
    Record_string.CompiledMetric_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/CompiledMetric'
      type: object
      description: Construct a type with a set of properties K of type T
    Record_string.CompiledDimension_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/CompiledDimension'
      type: object
      description: Construct a type with a set of properties K of type T
    LightdashProjectParameter:
      properties:
        options_from_dimension:
          properties:
            dimension:
              type: string
            model:
              type: string
          required:
            - dimension
            - model
          type: object
        options:
          anyOf:
            - items:
                type: string
              type: array
            - items:
                type: number
                format: double
              type: array
        allow_custom_values:
          type: boolean
        multiple:
          type: boolean
        default:
          $ref: '#/components/schemas/ParameterValue'
        type:
          type: string
          enum:
            - string
            - number
            - date
        description:
          type: string
        label:
          type: string
      required:
        - label
      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
    PreAggregateMaterializationRole:
      properties:
        attributes:
          $ref: '#/components/schemas/UserAttributeValueMap'
        email:
          type: string
      required:
        - attributes
        - email
      type: object
    TimeFrames:
      enum:
        - RAW
        - YEAR
        - QUARTER
        - MONTH
        - WEEK
        - DAY
        - HOUR
        - MINUTE
        - SECOND
        - MILLISECOND
        - DAY_OF_WEEK_INDEX
        - DAY_OF_MONTH_NUM
        - DAY_OF_YEAR_NUM
        - WEEK_NUM
        - MONTH_NUM
        - QUARTER_NUM
        - YEAR_NUM
        - DAY_OF_WEEK_NAME
        - MONTH_NAME
        - QUARTER_NAME
        - HOUR_OF_DAY_NUM
        - MINUTE_OF_HOUR_NUM
      type: string
    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
    DbtModelJoinType:
      type: string
      enum:
        - inner
        - full
        - left
        - right
    JoinRelationship:
      enum:
        - one-to-many
        - many-to-one
        - one-to-one
        - many-to-many
      type: string
    DefaultTimeDimension:
      properties:
        interval:
          $ref: '#/components/schemas/TimeFrames'
        field:
          type: string
      required:
        - interval
        - field
      type: object
    Record_string.GroupType_:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/GroupType'
      type: object
      description: Construct a type with a set of properties K of type T
    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
    ModelRequiredFilterRule:
      anyOf:
        - $ref: '#/components/schemas/MetricFilterRule'
        - $ref: '#/components/schemas/JoinModelRequiredFilterRule'
    OrderFieldsByStrategy:
      enum:
        - LABEL
        - INDEX
      type: string
    FieldSetDefinition:
      properties:
        fields:
          items:
            type: string
          type: array
      required:
        - fields
      type: object
    SourcePosition:
      properties:
        character:
          type: number
          format: double
        line:
          type: number
          format: double
      required:
        - character
        - line
      type: object
    Record_string.LineageNodeDependency-Array_:
      properties: {}
      additionalProperties:
        items:
          $ref: '#/components/schemas/LineageNodeDependency'
        type: array
      type: object
      description: Construct a type with a set of properties K of type T
    CompiledMetric:
      allOf:
        - $ref: '#/components/schemas/Metric'
        - $ref: '#/components/schemas/CompiledProperties'
    CompiledDimension:
      allOf:
        - $ref: '#/components/schemas/Dimension'
        - $ref: '#/components/schemas/CompiledProperties'
    ParameterValue:
      anyOf:
        - type: string
        - type: number
          format: double
        - items:
            type: string
          type: array
        - items:
            type: number
            format: double
          type: array
    UserAttributeValueMap:
      $ref: '#/components/schemas/Record_string.string-Array_'
    FilterOperator:
      enum:
        - isNull
        - notNull
        - equals
        - notEquals
        - startsWith
        - endsWith
        - include
        - doesNotInclude
        - lessThan
        - lessThanOrEqual
        - greaterThan
        - greaterThanOrEqual
        - inThePast
        - notInThePast
        - inTheNext
        - inTheCurrent
        - notInTheCurrent
        - inBetween
        - notInBetween
        - inPeriodToDate
      type: string
    GroupType:
      properties:
        description:
          type: string
        label:
          type: string
      required:
        - label
      type: object
    JoinModelRequiredFilterRule:
      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/JoinModelRequiredFilterTarget'
          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
    LineageNodeDependency:
      properties:
        name:
          type: string
        type:
          type: string
          enum:
            - model
            - seed
            - source
      required:
        - name
        - type
      type: object
    Metric:
      properties:
        fieldType:
          $ref: '#/components/schemas/FieldType.METRIC'
        type:
          $ref: '#/components/schemas/MetricType'
        name:
          type: string
        label:
          type: string
        table:
          type: string
        tableLabel:
          type: string
        sql:
          type: string
        description:
          type: string
        source:
          $ref: '#/components/schemas/Source'
        hidden:
          type: boolean
        compact:
          $ref: '#/components/schemas/CompactOrAlias'
        round:
          type: number
          format: double
        format:
          anyOf:
            - $ref: '#/components/schemas/Format'
            - type: string
        separator:
          $ref: '#/components/schemas/NumberSeparator'
          description: >-
            Number separator style for grouping/decimal characters. Composes
            with

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

            controls the separator characters, not the format shape.
        groupLabel:
          type: string
          deprecated: true
        groups:
          items:
            type: string
          type: array
        urls:
          items:
            $ref: '#/components/schemas/FieldUrl'
          type: array
        index:
          type: number
          format: double
        tags:
          items:
            type: string
          type: array
        parameterReferences:
          items:
            type: string
          type: array
        showUnderlyingValues:
          items:
            type: string
          type: array
        filters:
          items:
            $ref: '#/components/schemas/MetricFilterRule'
          type: array
        percentile:
          type: number
          format: double
        distinctKeys:
          items:
            type: string
          type: array
        formatOptions:
          $ref: '#/components/schemas/CustomFormat'
        dimensionReference:
          type: string
        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
    CompiledProperties:
      properties:
        compiledRelativeDateFilters:
          items:
            $ref: '#/components/schemas/CompiledMetricRelativeDateFilter'
          type: array
        compiledDistinctKeys:
          items:
            type: string
          type: array
        compiledValueSql:
          type: string
        compilationError:
          $ref: '#/components/schemas/FieldCompilationError'
          description: >-
            When partial compilation mode is enabled, fields that fail to
            compile

            will have this property set instead of causing the entire explore to
            fail.
        tablesAnyAttributes:
          $ref: >-
            #/components/schemas/Record_string.Record_string.string-or-string-Array__
        tablesRequiredAttributes:
          $ref: >-
            #/components/schemas/Record_string.Record_string.string-or-string-Array__
        tablesReferences:
          items:
            type: string
          type: array
        compiledSql:
          type: string
      required:
        - compiledSql
      type: object
    Dimension:
      properties:
        fieldType:
          $ref: '#/components/schemas/FieldType.DIMENSION'
        type:
          $ref: '#/components/schemas/DimensionType'
        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
        group:
          type: string
          deprecated: true
        requiredAttributes:
          $ref: '#/components/schemas/Record_string.string-or-string-Array_'
        anyAttributes:
          $ref: '#/components/schemas/Record_string.string-or-string-Array_'
        timeInterval:
          $ref: '#/components/schemas/TimeFrames'
        timeIntervalBaseDimensionName:
          type: string
        timeIntervalBaseDimensionType:
          $ref: '#/components/schemas/DimensionType'
        customTimeInterval:
          type: string
        isAdditionalDimension:
          type: boolean
        skipTimezoneConversion:
          type: boolean
        colors:
          $ref: '#/components/schemas/Record_string.string_'
        isIntervalBase:
          type: boolean
        aiHint:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
        formatOptions:
          $ref: '#/components/schemas/CustomFormat'
        caseSensitive:
          type: boolean
        image:
          properties:
            fit:
              type: string
            height:
              type: number
              format: double
            width:
              type: number
              format: double
            url:
              type: string
          required:
            - url
          type: object
        richText:
          type: string
        spotlight:
          properties:
            segmentBy:
              type: boolean
            filterBy:
              type: boolean
          type: object
      required:
        - fieldType
        - type
        - name
        - label
        - table
        - tableLabel
        - sql
        - hidden
      type: object
      additionalProperties: true
    Record_string.string-Array_:
      properties: {}
      additionalProperties:
        items:
          type: string
        type: array
      type: object
      description: Construct a type with a set of properties K of type T
    JoinModelRequiredFilterTarget:
      properties:
        tableName:
          type: string
        fieldRef:
          type: string
      required:
        - tableName
        - fieldRef
      type: object
    FieldType.METRIC:
      enum:
        - metric
      type: string
    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
    FieldUrl:
      properties:
        label:
          type: string
        url:
          type: string
      required:
        - label
        - url
      type: object
    CustomFormat:
      properties:
        type:
          $ref: '#/components/schemas/CustomFormatType'
          description: Format type
        round:
          type: number
          format: double
          description: Number of decimal places
        separator:
          $ref: '#/components/schemas/NumberSeparator'
          description: Number separator style
        currency:
          type: string
          description: Currency code (e.g., USD, GBP, EUR)
        compact:
          $ref: '#/components/schemas/CompactOrAlias'
          description: Compact format for large numbers (K, M, B, T) or byte units
        prefix:
          type: string
          description: Prefix to prepend to formatted values
        suffix:
          type: string
          description: Suffix to append to formatted values
        timeInterval:
          $ref: '#/components/schemas/TimeFrames'
          description: Time interval for date formatting
        custom:
          type: string
          description: Custom format string
      required:
        - type
      type: object
      additionalProperties: true
    DimensionType:
      enum:
        - string
        - number
        - timestamp
        - date
        - boolean
      type: string
    CompiledMetricRelativeDateFilter:
      properties:
        compiledSql:
          type: string
        fieldId:
          type: string
        id:
          type: string
      required:
        - compiledSql
        - fieldId
        - id
      type: object
    FieldCompilationError:
      properties:
        message:
          type: string
      required:
        - message
      type: object
      description: |-
        Error information stored on a field when compilation fails but
        partial compilation mode is enabled.
    Record_string.Record_string.string-or-string-Array__:
      properties: {}
      additionalProperties:
        $ref: '#/components/schemas/Record_string.string-or-string-Array_'
      type: object
      description: Construct a type with a set of properties K of type T
    FieldType.DIMENSION:
      enum:
        - dimension
      type: string
    Record_string.string_:
      properties: {}
      additionalProperties:
        type: string
      type: object
      description: Construct a type with a set of properties K of type T
    Compact:
      enum:
        - thousands
        - millions
        - billions
        - trillions
        - kilobytes
        - megabytes
        - gigabytes
        - terabytes
        - petabytes
        - kibibytes
        - mebibytes
        - gibibytes
        - tebibytes
        - pebibytes
      type: string
    CustomFormatType:
      enum:
        - default
        - percent
        - currency
        - number
        - id
        - date
        - timestamp
        - bytes_si
        - bytes_iec
        - custom
      type: string

````