---
title: "Forecast multiple available outputs together"
method: POST
path: "/api/v1/grid/forecasts/batch"
tags: ["Forecast"]
---

# Forecast multiple available outputs together

`POST /api/v1/grid/forecasts/batch`

## Request

- Base URL: `https://askthegrid.com`
- URL: `https://askthegrid.com/api/v1/grid/forecasts/batch`
- Auth: HTTP bearer

Up to 20 independent forecast reads in one request. Each item uses the getForecast input and preserves its native target, units, horizon and issuance. Results retain request ids and per-output status, including failures and quota retry times. Each item uses the same authentication, entitlement, rate limit and metering as a single read. Availability comes from forecast-capabilities. This groups marginal forecasts; it does not generate correlated joint scenarios.

## Request body

- object
  - `requests` object[], required
    - `id` string, required
    - `input` object, required
      - `sourceId` string: Serving source id from forecast capability discovery.
      - `modelId` string: Stable model id; the returned modelVersion and modelHash identify its serving build.
      - `variable` string: price, load or generation, subject to serving capabilities. Existing requests default to price.
      - `horizonHours` string: Forward hours, bounded by the selected source. Used to construct the window when both from and to are omitted.
      - `quantiles` string: Comma-separated published levels, e.g. 0.05,0.5,0.95. Compatibility p10/p50/p90 fields remain available.
      - `iso` union
        - ''
        - string
      - `targetKind` string
      - `targetId` string
      - `from` string
      - `to` string
      - `asOf` string
      - `vintageMode` string
      - `leadHours` string
      - `detail` string

## Response `200`

Success

- object
  - `results` union[], required
    - union
      - object
        - `id` string, required
        - `ok` true, required
        - `status` 200, required
        - `bundle` object, required
          - `delivery` object
            - `truncated` boolean, required
            - `totalRows` integer, required
            - `rowsReturned` integer, required
          - `iso` 'ERCOT' | 'NYISO' | 'CAISO' | 'PJM' | 'MISO' | 'ISONE' | 'SPP' | 'BPAT' | 'TVA' | 'DUK' | 'CPLE' | 'CPLW' | 'FPC' | 'FPL' | 'SOCO' | 'BCA' | 'AESO' | 'IESO' | 'CENACE' | 'HQ' | 'BCH' | 'MHEB' | 'SPC' | 'NBSO' | 'NSIESO', required
          - `target` object, required
            - `kind` 'node' | 'zone' | 'system' | 'fuel' | 'station', required
            - `id` string, required
          - `from` string, required
          - `to` string, required
          - `viewerTier` 'free' | 'enterprise', required
          - `series` object[], required
            - `access` union
              - …
            - `source` object, required
              - …
            - `status` 'ready' | 'empty' | 'locked' | 'restricted', required
            - `issuedAt` string, nullable, required
            - `mirrorUpdatedAt` string, nullable
            - `contextStart` string, nullable, required
            - `contextEnd` string, nullable, required
            - `points` object[], required
              - …
            - `distributionSupports` object
            - `nodeCoverage` object
              - …
            - `vintageMode` 'latest' | 'historical-comparison' | 'latest-before' | 'auction-matched'
            - `modelVersion` string, nullable
            - `modelHash` string, nullable
            - `accuracy` object, nullable
              - …
            - `upgradeHref` string
      - object
        - `id` string, required
        - `ok` false, required
        - `status` number, required
        - `error` string, required
        - `retryAfter` string

## Other responses

- `400`: The request did not match the contract.
- `401`: Missing or invalid credentials.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds; `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` report the budget. Signed-in sessions and API keys have larger budgets than anonymous callers.

---

[API](https://skmtc.dev/askthegrid/apis/ask-the-grid-api.md) · [All operations](https://skmtc.dev/askthegrid/apis/ask-the-grid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/askthegrid/apis/ask-the-grid-api/revisions/9cd80115e395?raw)
