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

# Query dataset

> Query a dataset with time filters, pagination, selected columns, and optional resampling.



## OpenAPI

````yaml GET /v1/datasets/{dataset_id}/query
openapi: 3.1.0
info:
  title: GridCertainty Public API
  description: >-
    Read-only public API for ERCOT datasets, pricing locations, reports, and
    system metadata.
  version: 1.0.0
servers:
  - url: https://api.felixfusion.ai
    description: Production public API
  - url: http://localhost:8001
    description: Local public API
security:
  - ApiKeyHeader: []
  - ApiKeyQuery: []
paths:
  /v1/datasets/{dataset_id}/query:
    get:
      tags:
        - Query Data
      summary: Query dataset
      description: >-
        Query a dataset with time filters, pagination, selected columns, and
        optional resampling.
      operationId: query_dataset
      parameters:
        - $ref: '#/components/parameters/dataset_id'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/filter_column'
        - $ref: '#/components/parameters/filter_value'
        - $ref: '#/components/parameters/filter_operator'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/page_size'
        - $ref: '#/components/parameters/columns'
        - $ref: '#/components/parameters/cursor'
        - $ref: '#/components/parameters/timezone'
        - $ref: '#/components/parameters/time'
        - $ref: '#/components/parameters/time_comparison'
        - $ref: '#/components/parameters/start_time'
        - $ref: '#/components/parameters/end_time'
        - $ref: '#/components/parameters/publish_time'
        - $ref: '#/components/parameters/publish_time_start'
        - $ref: '#/components/parameters/publish_time_end'
        - $ref: '#/components/parameters/resample_frequency'
        - $ref: '#/components/parameters/resample_by'
        - $ref: '#/components/parameters/resample_function'
        - $ref: '#/components/parameters/return_format'
        - $ref: '#/components/parameters/download'
        - $ref: '#/components/parameters/json_schema'
      responses:
        '200':
          description: Query results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryDatasetResponse'
            text/csv:
              schema:
                type: string
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    dataset_id:
      name: dataset_id
      in: path
      required: true
      schema:
        type: string
      description: Dataset identifier.
    order:
      name: order
      in: query
      schema:
        type: string
        enum:
          - asc
          - desc
        default: asc
      description: Sort order.
    filter_column:
      name: filter_column
      in: query
      schema:
        type: string
      description: Column name to filter on.
    filter_value:
      name: filter_value
      in: query
      schema:
        type: string
      description: Filter value for the selected filter column.
    filter_operator:
      name: filter_operator
      in: query
      schema:
        type: string
        default: eq
      description: Filter operator.
    limit:
      name: limit
      in: query
      schema:
        type: integer
      description: Optional limit for returned rows.
    page:
      name: page
      in: query
      schema:
        type: integer
        default: 1
      description: Page number.
    page_size:
      name: page_size
      in: query
      schema:
        type: integer
        default: 500
      description: Page size.
    columns:
      name: columns
      in: query
      schema:
        type: string
      description: Comma-separated list of columns to return.
    cursor:
      name: cursor
      in: query
      schema:
        type: string
      description: Cursor for pagination.
    timezone:
      name: timezone
      in: query
      schema:
        type: string
        default: UTC
      description: Timezone for localized datetime output.
    time:
      name: time
      in: query
      schema:
        type: string
      description: Single timestamp filter value.
    time_comparison:
      name: time_comparison
      in: query
      schema:
        type: string
        default: '='
      description: Comparison operator for `time`.
    start_time:
      name: start_time
      in: query
      schema:
        type: string
      description: Start of time range filter.
    end_time:
      name: end_time
      in: query
      schema:
        type: string
      description: End of time range filter.
    publish_time:
      name: publish_time
      in: query
      schema:
        type: string
      description: Single publish time filter.
    publish_time_start:
      name: publish_time_start
      in: query
      schema:
        type: string
      description: Start of publish time range filter.
    publish_time_end:
      name: publish_time_end
      in: query
      schema:
        type: string
      description: End of publish time range filter.
    resample_frequency:
      name: resample_frequency
      in: query
      schema:
        type: string
      description: Resample interval such as `5min` or `1h`.
    resample_by:
      name: resample_by
      in: query
      schema:
        type: string
      description: Comma-separated grouping columns for resampling.
    resample_function:
      name: resample_function
      in: query
      schema:
        type: string
        default: mean
      description: Aggregation function used during resampling.
    return_format:
      name: return_format
      in: query
      schema:
        type: string
        enum:
          - json
          - csv
        default: json
      description: Return response as JSON or CSV.
    download:
      name: download
      in: query
      schema:
        type: boolean
        default: false
      description: Set true to request a downloadable attachment response.
    json_schema:
      name: json_schema
      in: query
      schema:
        type: string
        default: array_of_objects
      description: Optional JSON schema output mode.
  schemas:
    QueryDatasetResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            additionalProperties: true
        meta:
          $ref: '#/components/schemas/Metadata'
        dataset_metadata:
          type: object
          additionalProperties: true
    Metadata:
      type: object
      properties:
        page:
          type:
            - integer
            - 'null'
        limit:
          type:
            - integer
            - 'null'
        page_size:
          type:
            - integer
            - 'null'
        hasNextPage:
          type:
            - boolean
            - 'null'
        cursor:
          type:
            - string
            - 'null'
      additionalProperties: true
    ErrorResponse:
      type: object
      properties:
        detail:
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            detail: Dataset not found
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api_key

````