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

# Get results cache stats

> Hit rate, warehouse time saved and recommendations for the project's
results cache over the last 7 or 30 days. Requires project admin access.



## OpenAPI

````yaml https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/results-cache/stats
openapi: 3.0.0
info:
  title: Lightdash API
  version: 3.179.0
  description: >
    Open API documentation for all public Lightdash API endpoints. #
    Authentication Authenticate using the Authorization header with either
    'ApiKey <personal-access-token>' or 'Bearer <service-account-token>'. Create
    a Personal Access Token by following this guide:
    https://docs.lightdash.com/references/personal_tokens Self-hosted
    provisioning can use the admin token configured with
    LD_SETUP_SERVICE_ACCOUNT_TOKEN to create scoped service accounts through the
    Service Accounts API.
  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: Service Accounts
    description: >-
      Create and manage machine credentials for your organization. Requires
      organization administration permission. Use predefined organization
      scopes, a custom organization role, or grants to selected projects.
      Credentials cannot grant more access than the caller holds.
  - 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}/results-cache/stats:
    get:
      tags:
        - Projects
      summary: Get results cache stats
      description: |-
        Hit rate, warehouse time saved and recommendations for the project's
        results cache over the last 7 or 30 days. Requires project admin access.
      operationId: getProjectResultsCacheStats
      parameters:
        - in: path
          name: projectUuid
          required: true
          schema:
            $ref: '#/components/schemas/UUID'
        - description: 'Number of days to include: 7 (default) or 30'
          in: query
          name: days
          required: false
          schema:
            type: number
            format: double
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResultsCacheStatsResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      security: []
components:
  schemas:
    UUID:
      type: string
      format: uuid
      description: |-
        Stringified UUIDv4.
        See [RFC 4112](https://tools.ietf.org/html/rfc4122)
      pattern: >-
        [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}
    ApiResultsCacheStatsResponse:
      $ref: '#/components/schemas/ApiSuccess_ResultsCacheStats_'
    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
    ApiSuccess_ResultsCacheStats_:
      properties:
        results:
          $ref: '#/components/schemas/ResultsCacheStats'
        status:
          type: string
          enum:
            - ok
          nullable: false
      required:
        - results
        - status
      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.
    ResultsCacheStats:
      properties:
        recommendations:
          items:
            $ref: '#/components/schemas/ResultsCacheRecommendation'
          type: array
        missReasons:
          items:
            properties:
              warehouseTimeMs:
                type: number
                format: double
              misses:
                type: number
                format: double
              reason:
                $ref: '#/components/schemas/ResultsCacheStatsMissReason'
            required:
              - warehouseTimeMs
              - misses
              - reason
            type: object
          type: array
        summary:
          $ref: '#/components/schemas/ResultsCacheStatsSummary'
        days:
          $ref: '#/components/schemas/ResultsCacheStatsDays'
      required:
        - recommendations
        - missReasons
        - summary
        - days
      type: object
    ResultsCacheRecommendation:
      properties:
        warehouseTimeMs:
          type: number
          format: double
        misses:
          type: number
          format: double
        target:
          $ref: '#/components/schemas/ResultsCacheRecommendationTarget'
        reason:
          $ref: '#/components/schemas/ResultsCacheStatsMissReason'
      required:
        - warehouseTimeMs
        - misses
        - target
        - reason
      type: object
    ResultsCacheStatsMissReason:
      enum:
        - expired
        - cleared
        - scheduledRefresh
      type: string
    ResultsCacheStatsSummary:
      allOf:
        - $ref: '#/components/schemas/ResultsCacheStatsTotals'
        - properties:
            avoidableWarehouseTimeMs:
              type: number
              format: double
            avoidableMisses:
              type: number
              format: double
          required:
            - avoidableWarehouseTimeMs
            - avoidableMisses
          type: object
    ResultsCacheStatsDays:
      type: number
      enum:
        - 7
        - 30
    ResultsCacheRecommendationTarget:
      anyOf:
        - properties:
            name:
              type: string
            chartUuid:
              type: string
            kind:
              type: string
              enum:
                - chart
              nullable: false
          required:
            - name
            - chartUuid
            - kind
          type: object
        - properties:
            name:
              type: string
            slug:
              type: string
            savedSqlUuid:
              type: string
            kind:
              type: string
              enum:
                - sqlChart
              nullable: false
          required:
            - name
            - slug
            - savedSqlUuid
            - kind
          type: object
        - properties:
            name:
              type: string
            exploreName:
              type: string
            kind:
              type: string
              enum:
                - explore
              nullable: false
          required:
            - name
            - exploreName
            - kind
          type: object
    ResultsCacheStatsTotals:
      properties:
        warehouseTimeOnMissesMs:
          type: number
          format: double
        warehouseTimeSavedMs:
          type: number
          format: double
        hitRate:
          type: number
          format: double
          nullable: true
        misses:
          type: number
          format: double
        hits:
          type: number
          format: double
        runs:
          type: number
          format: double
      required:
        - warehouseTimeOnMissesMs
        - warehouseTimeSavedMs
        - hitRate
        - misses
        - hits
        - runs
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.