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

# Read Query

> Returns a single query by its ID. Includes path and folderId if the query is placed in a folder.

<span style={{display: "flex", gap: "10px", flexDirection: "row", alignItems: "center"}}>
  <img src="https://cdn.peaka.com/badges/partner-api-key-badge.png" />

  <img src="https://cdn.peaka.com/badges/project-api-key-badge.png" />
</span>


## OpenAPI

````yaml get /data/projects/{projectId}/queries/{queryId}
openapi: 3.0.1
info:
  title: Peaka Gateway API
  description: Peaka Gateway API Documentation
  version: '1.0'
servers:
  - url: https://partner.peaka.studio/api/v1
    description: Default Server URL (US Zone)
  - url: https://partner.eu.peaka.studio/api/v1
    description: EU Zone
security:
  - bearerAuth: []
paths:
  /data/projects/{projectId}/queries/{queryId}:
    get:
      tags:
        - Data -- Queries
      summary: Read Query
      description: >-
        Returns a single query by its ID. Includes path and folderId if the
        query is placed in a folder.
      operationId: readQuery
      parameters:
        - name: projectId
          in: path
          description: ID of the Project
          required: true
          schema:
            type: string
          example: mtKDhe1U
        - name: queryId
          in: path
          description: ID of the Query
          required: true
          schema:
            type: string
          example: 709922802836177300
      responses:
        '200':
          description: Read Query
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Query'
components:
  schemas:
    Query:
      type: object
      properties:
        id:
          type: string
          description: The ID of the query.
        displayName:
          type: string
          description: The display name of the query.
        name:
          type: string
          description: >-
            The name of the query used in SQL, e.g. SELECT * FROM
            "peaka"."query"."<name>".
        inputQuery:
          type: string
          description: The SQL query.
        inputQueryRefId:
          type: string
          description: >-
            The reference id of the input query. For a MATERIALIZED query, the
            id of the original query it materializes.
          nullable: true
        queryType:
          type: string
          description: The type of the query.
          enum:
            - PLAIN
            - MATERIALIZED
        schedule:
          $ref: '#/components/schemas/MaterializedQuerySchedule'
        path:
          type: string
          description: >-
            The folder path of the query (e.g. "/analytics/dashboards"). Null if
            not in any folder.
          nullable: true
        folderId:
          type: string
          description: >-
            The ID of the folder containing this query. Null if not in any
            folder.
          nullable: true
      description: A saved query belonging to a project.
    MaterializedQuerySchedule:
      type: object
      properties:
        type:
          type: string
          description: Type of schedule.
          enum:
            - interval
            - cron
            - none
        cronExpression:
          type: string
          description: Cron expression. Set only when the schedule type is 'cron'.
          nullable: true
        repeatDuration:
          type: string
          description: ISO-8601 duration. Set only when the schedule type is 'interval'.
          nullable: true
        timezone:
          type: string
          description: >-
            IANA timezone used to evaluate the cron expression. Set only when
            the schedule type is 'cron'.
          nullable: true
      description: >-
        Schedule configuration of a materialized query. Provide EITHER an
        interval schedule (`type=interval` with `repeatDuration`) OR a cron
        schedule (`type=cron` with `cronExpression` and optional `timezone`).
        Use `type=none` for no schedule. The fields that do not apply to the
        chosen type are omitted.
      nullable: true
      example:
        type: cron
        cronExpression: 0 0 * * *
        timezone: UTC
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        Use the Authorization header with the value 'Bearer <apiKey>' to
        authenticate. Partner API Keys have full access; Project API Keys are
        limited to their project scope. Learn more:
        https://docs.peaka.com/api-reference/authentication
      scheme: bearer
      bearerFormat: Api Key

````