---
title: "Get radar time-series curves"
method: GET
path: "/api/v1/grid/radar/curves"
tags: ["Grid"]
---

# Get radar time-series curves

`GET /api/v1/grid/radar/curves`

## Request

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

The plotted curves behind the Radar desks. `as_of` takes an ISO-8601 knowledge cutoff so a curve can be replayed as it was known at a past instant rather than with hindsight.

## Query parameters

- `iso` union
  - ''
  - string
- `include_events` string
- `as_of` string
- `horizon` string

## Response `200`

Success

- object
  - `supplyDemand` object, nullable, required
    - `demand` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `capacity` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `forecastDemand` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `forecastDemandCurrent` object[]
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `forecastDemandPriorDay` object[]
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `forecastCapacity` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `headroomMw` number, nullable, required
  - `demandHistory` object, nullable
    - `firstYear` number, required
    - `lastYear` number, required
    - `points` object[], required
      - `ts` string, required
      - `low` number, required
      - `median` number, required
      - `high` number, required
    - `record` object, nullable, required
      - `mw` number, required
      - `at` string, required
  - `lambda` object[], required
    - `ts` string, required
    - `value` number, required
    - `issuedAt` string
  - `reliabilityAdder` object[]
    - `ts` string, required
    - `value` number, required
    - `issuedAt` string
  - `asCapability` object[]
    - `type` string, required
    - `points` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
  - `storage` object[], required
    - `ts` string, required
    - `value` number, required
    - `issuedAt` string
  - `wind` object, required
    - `actual` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `forecast` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
  - `solar` object, required
    - `actual` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
    - `forecast` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
  - `temps` object[], required
    - `zone` string, required
    - `points` object[], required
      - `ts` string, required
      - `value` number, required
      - `issuedAt` string
  - `outageCapacity` object[], required
    - `ts` string, required
    - `value` number, required
    - `issuedAt` string
  - `adequacyOutlook` object[], required
    - `ts` string, required
    - `peakLoadMw` number, nullable, required
    - `availableCapacityMw` number, nullable, required
    - `outageMw` number, nullable, required
    - `requiredReserveMw` number, nullable, required
    - `surplusMw` number, nullable, required
    - `alert` string, nullable, required
  - `ruc` object[], required
    - `ts` string, required
    - `value` number, required
    - `issuedAt` string
  - `asPlan` object[], required
    - `type` string, required
    - `mw` number, required
  - `da` object[], required
    - `id` string, required
    - `da` number, required
  - `bindingHistory` object[], required
    - `ts` string, required
    - `count` number, required
    - `maxShadow` number, required
  - `events` object[], required
    - `id` string, required
    - `groupKey` string
    - `scope` object, required
      - `kind` 'iso' | 'territory' | 'private_grid', required
      - `id` string, required
      - `label` string, required
      - `parent` object
        - `kind` 'iso' | 'territory' | 'private_grid', required
        - `id` string, required
        - `label` string, required
    - `form` 'episode' | 'schedule' | 'observation', required
    - `category` 'operations' | 'reliability' | 'generation' | 'transmission' | 'distribution' | 'weather' | 'market' | 'security' | 'policy' | 'news' | 'other', required
    - `type` string, required
    - `title` string, required
    - `summary` string, required
    - `severity` object, required
      - `level` 'info' | 'watch' | 'warning' | 'emergency', required
      - `basis` 'source' | 'rule' | 'model' | 'unknown', required
      - `rationale` string
    - `sourceStatus` string
    - `validTime` object, required
      - `kind` 'instant' | 'interval', required
      - `startsAt` string, required
      - `endsAt` string
    - `knowledgeTime` object, required
      - `observedAt` string, required
      - `publishedAt` string
      - `updatedAt` string
    - `provenance` object, required
      - `provider` string, required
      - `datasetId` string, required
      - `recordId` string, required
      - `recordIds` string[]
      - `aggregation` 'single_record' | 'contiguous_records' | 'correlated_records'
      - `authority` 'grid_operator' | 'utility' | 'government' | 'market_monitor' | 'third_party' | 'model', required
      - `interpretation` 'reported' | 'derived' | 'inferred', required
      - `sourceUrl` string
      - `model` string
    - `subjects` object[], required
      - `kind` 'grid' | 'territory' | 'zone' | 'county' | 'node' | 'plant' | 'load' | 'resource' | 'substation' | 'line' | 'dc_tie' | 'layer' | 'event' | 'point', required
      - `id` string, required
      - `label` string, required
      - `role` 'primary' | 'affected' | 'related', required
      - `relationship` object, required
        - `basis` 'reported' | 'deterministic_crosswalk' | 'inferred' | 'scope', required
        - `method` string
        - `confidence` number
      - `scope` object
        - `kind` 'iso' | 'territory' | 'private_grid', required
        - `id` string, required
        - `label` string, required
        - `parent` object
          - `kind` 'iso' | 'territory' | 'private_grid', required
          - `id` string, required
          - `label` string, required
      - `location` unknown[]
        - unknown
    - `attachments` object[], required
      - `id` string, required
      - `label` string, required
      - `role` 'primary' | 'affected' | 'related', required
      - `relationship` object, required
        - `basis` 'reported' | 'deterministic_crosswalk' | 'inferred' | 'scope', required
        - `method` string
        - `confidence` number
      - `target` union, required
        - object
          - `kind` 'subject', required
          - `subjectKind` 'grid' | 'territory' | 'zone' | 'county' | 'node' | 'plant' | 'load' | 'resource' | 'substation' | 'line' | 'dc_tie' | 'layer' | 'event' | 'point', required
          - `subjectId` string, required
        - object
          - `kind` 'geometry', required
          - `geometry` Schema0, required (unresolved $ref)
        - object
          - `kind` 'layer', required
          - `layerId` string, required
          - `featureId` string
        - object
          - `kind` 'event', required
          - `eventId` string, required
        - object
          - `kind` 'scope', required
          - `scope` object, required
            - `kind` 'iso' | 'territory' | 'private_grid', required
            - `id` string, required
            - `label` string, required
            - `parent` object
              - …
      - `anchor` unknown[]
        - unknown
    - `segments` object[]
      - `id` string, required
      - `validTime` object, required
        - `kind` 'instant' | 'interval', required
        - `startsAt` string, required
        - `endsAt` string
      - `metrics` object, required
      - `attributes` object, required
    - `metrics` object, required
    - `attributes` object, required
    - `escalation` object
      - `step` number, required
      - `rung` 'normal' | 'advisory' | 'alert' | 'warning' | 'emergency' | 'load_shed', required
      - `track` 'capacity' | 'transmission' | 'weather' | 'minimum_generation' | 'other', required
      - `native` object, required
        - `label` string, required
        - `level` string
      - `nercEea` union, required
        - 1
        - 2
        - 3
      - `nercEeaBasis` 'stated' | 'procedure'
      - `regions` object[], required
        - `id` string, required
        - `label` string, required
        - `kind` 'rto' | 'region' | 'zone' | 'area', required
        - `mapZones` string[], required
      - `rtoWide` boolean, required
      - `drill` boolean, required
  - `asOf` string, nullable, required

## 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)
