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

# Read newly observed prices to overlay a saved forecast

> Returns genuine selected-side targets (Kalshi closing ask, Polymarket US display quote) or stock closes after the immutable input cutoff. The first prediction-row minute is retained when available, even outside the most recent 500 observations; worker completion does not move this comparison to another minute. A quote preceding publication is retrospective, not a backdated fill. Stock rows include interval and exchange session_date metadata; minute closes are not final daily closes. Does not run models or revise predictions. Poll no faster than once per minute. Stock overlays have no fixed 90-day cutoff-age limit: retained forecast-interval closes support 120/180-day replays, bounded to 2,000 rows; recent stock minutes use a seven-day window. Prediction-market and perpetual live overlays expire 90 days after input cutoff and expose their availability state. Provider retention still applies. Dataset-only jobs return no live observations.



## OpenAPI

````yaml https://quantura.studio/api/openapi.json get /ensemble-forecasts/{forecast_id}/observations
openapi: 3.1.0
info:
  title: Quantura Forecast Intelligence API
  version: 1.0.0
  description: >-
    Versioned access to Quantura forecasts, collaborator-aware workspaces,
    screeners, datasets, and provenance metadata.
  contact:
    name: Quantura
    url: https://quantura.studio/contact
  license:
    name: Quantura API Terms
    url: https://quantura.studio/terms
servers:
  - url: https://quantura.studio/api/v1
security:
  - bearerAuth: []
tags:
  - name: Access
    description: Identity, token scopes, plans, and effective workspace access.
  - name: Workspaces
    description: Resources are authorized against current membership on every request.
  - name: Uploaded CSVs
    description: Workspace-isolated CSV metadata, organization, and authorized exports.
  - name: Datasets
    description: Licensing-aware catalog and schema metadata.
  - name: Forecasts
    description: Prospective forecasts and immutable probability trajectories.
  - name: Ensemble Forecasts
    description: >-
      Asynchronous probabilistic time-series ensemble jobs and reproducible
      presets.
  - name: Backtests
    description: >-
      Asynchronous point-in-time ensemble-quantile simulations and versioned
      strategy exports; never live order execution.
paths:
  /ensemble-forecasts/{forecast_id}/observations:
    get:
      tags:
        - Ensemble Forecasts
      summary: Read newly observed prices to overlay a saved forecast
      description: >-
        Returns genuine selected-side targets (Kalshi closing ask, Polymarket US
        display quote) or stock closes after the immutable input cutoff. The
        first prediction-row minute is retained when available, even outside the
        most recent 500 observations; worker completion does not move this
        comparison to another minute. A quote preceding publication is
        retrospective, not a backdated fill. Stock rows include interval and
        exchange session_date metadata; minute closes are not final daily
        closes. Does not run models or revise predictions. Poll no faster than
        once per minute. Stock overlays have no fixed 90-day cutoff-age limit:
        retained forecast-interval closes support 120/180-day replays, bounded
        to 2,000 rows; recent stock minutes use a seven-day window.
        Prediction-market and perpetual live overlays expire 90 days after input
        cutoff and expose their availability state. Provider retention still
        applies. Dataset-only jobs return no live observations.
      operationId: getEnsembleForecastObservations
      parameters:
        - name: forecast_id
          in: path
          required: true
          description: Forecast id or unique slug.
          schema:
            type: string
      responses:
        '200':
          description: >-
            Authorized current observations, possibly empty when no new data is
            available.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      forecast_id:
                        type: string
                      rows:
                        type: array
                        items:
                          type: object
                          properties:
                            timestamp:
                              type: string
                              format: date-time
                            target:
                              type: number
                      input_cutoff:
                        type: string
                        format: date-time
                      observed_at:
                        type: string
                        format: date-time
                      availability:
                        type: string
                      refresh_after_seconds:
                        type: integer
                  meta:
                    type: object
              example:
                data:
                  forecast_id: ens_example
                  rows:
                    - timestamp: '2026-09-11T22:01:00Z'
                      target: 0.51
                  input_cutoff: '2026-09-11T22:00:00Z'
                  observed_at: '2026-09-11T22:01:10Z'
                  availability: available
                  refresh_after_seconds: 60
                meta:
                  api_version: v1
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - request_id
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                        format: uuid
        '403':
          description: Scope, plan, or workspace authorization denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - request_id
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                        format: uuid
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                      - request_id
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      request_id:
                        type: string
                        format: uuid
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Quantura API key

````

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