---
title: "List the findings surfaced by Grid Radar"
method: GET
path: "/api/v1/insights"
tags: ["Insights"]
---

# List the findings surfaced by Grid Radar

`GET /api/v1/insights`

## Request

- Base URL: `https://askthegrid.com`
- URL: `https://askthegrid.com/api/v1/insights`
- Auth: HTTP bearer

Returns Radar's findings for one market with detector coverage, evidence lineage, methodology, objective materiality, supported follow-on actions and each finding's episode. `severity` filters the result and `limit` is capped at 100. `include_resolved` adds episodes resolved in the last seven days. `as_of` evaluates the detectors against what was knowable at that instant, without lifecycle state. `model=true` adds findings built on the Metis 1 Preview price forecast for a signed-in caller the model is shown to: hubs and load zones on the free tier, every location on a plan that includes them.

## Query parameters

- `iso` union
  - ''
  - string
- `severity` 'critical' | 'watch' | 'normal'
- `limit` union
  - number
  - string
- `as_of` string, date-time
- `include_resolved` union
  - boolean
  - '0' | '1' | 'true' | 'false'
- `model` union
  - boolean
  - '0' | '1' | 'true' | 'false'

## Response `200`

Success

- object
  - `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
  - `evaluatedAt` string, required
  - `source` 'store' | 'evaluated', required
  - `coverage` object[], required
    - `detectorId` 'operator_condition' | 'system_price' | 'binding_constraint' | 'price_separation' | 'current_headroom' | 'next_day_capacity' | 'load_forecast_error' | 'load_forecast_skill' | 'renewable_forecast_error' | 'system_frequency' | 'tie_congestion' | 'net_load_surprise' | 'net_load_ramp_risk' | 'scarcity_pressure' | 'local_congestion' | 'cross_market_spread' | 'interface_loading' | 'node_price' | 'forecast_price_spike' | 'forecast_negative_price' | 'demand_record' | 'reliability_adder' | 'reserve_decline', required
    - `state` 'ready' | 'unsupported' | 'missing' | 'stale', required
    - `reason` string
    - `observedAt` string
  - `findings` object[], required
    - `id` string, required
    - `fingerprint` string, required
    - `revision` string, required
    - `detectorId` 'operator_condition' | 'system_price' | 'binding_constraint' | 'price_separation' | 'current_headroom' | 'next_day_capacity' | 'load_forecast_error' | 'load_forecast_skill' | 'renewable_forecast_error' | 'system_frequency' | 'tie_congestion' | 'net_load_surprise' | 'net_load_ramp_risk' | 'scarcity_pressure' | 'local_congestion' | 'cross_market_spread' | 'interface_loading' | 'node_price' | 'forecast_price_spike' | 'forecast_negative_price' | 'demand_record' | 'reliability_adder' | 'reserve_decline', required
    - `detectorVersion` number, 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
    - `subject` object, required
      - `kind` 'grid' | 'constraint' | 'settlement_point' | 'seam' | 'forecast' | 'fuel' | 'dc_tie' | 'interface' | 'asset' | 'portfolio' | 'site' | 'operator_event' | 'weather_event', required
      - `id` string, required
      - `label` string, required
    - `claimClass` 'observed' | 'calculated', required
    - `marketRun` 'real_time' | 'day_ahead' | 'operator_published', required
    - `horizon` 'current' | 'intraday' | 'next_day', required
    - `evidenceStatus` 'live' | 'operator_published', required
    - `knownAt` string, nullable, required
    - `detectedAt` string, required
    - `knowledgeCutoff` string, required
    - `containsCustomerData` false, required
    - `status` 'active' | 'resolved', required
    - `severity` 'critical' | 'watch' | 'normal', required
    - `score` number, required
    - `materiality` object
      - `score` number, required
      - `components` object[], required
        - `key` string, required
        - `label` string, required
        - `score` number, required
        - `weight` number, required
        - `contribution` number, required
    - `headline` string, required
    - `detail` string, required
    - `soWhat` string, required
    - `metric` object, required
      - `value` number, required
      - `unit` string, required
      - `display` string, required
    - `firstObservedAt` string, nullable, required
    - `observedAt` string, required
    - `evidence` object[], required
      - `provider` string, required
      - `datasetId` string, required
      - `recordId` string
      - `observedAt` string, required
      - `fields` string[], required
    - `methodology` object
      - `version` number, required
      - `interpretation` 'reported' | 'calculated' | 'statistical' | 'model_inferred', required
      - `causalStrength` 'none' | 'component' | 'constraint' | 'attribution', required
      - `formula` string
      - `inputs` object[], required
        - `id` string, required
        - `label` string, required
        - `value` union, required
          - number
          - string
        - `unit` string
        - `observedAt` string, required
        - `issuedAt` string
        - `provider` string, required
        - `datasetId` string, required
        - `recordId` string
      - `assumptions` string[]
    - `actions` object, required
      - `investigate` object, required
        - `href` string, required
        - `label` string, required
        - `surface` 'radar' | 'map' | 'alerts' | 'reports', required
        - `tab` string
        - `widgetId` string
      - `follow` object
        - `href` string, required
        - `label` string, required
        - `surface` 'radar' | 'map' | 'alerts' | 'reports', required
        - `tab` string
        - `widgetId` string
      - `createAlert` object
        - `href` string, required
        - `label` string, required
        - `surface` 'radar' | 'map' | 'alerts' | 'reports', required
        - `tab` string
        - `widgetId` string
      - `addToBrief` object
        - `href` string, required
        - `label` string, required
        - `surface` 'radar' | 'map' | 'alerts' | 'reports', required
        - `tab` string
        - `widgetId` string
    - `suggestedQuestion` string, required
    - `episode` object
      - `id` string, required
      - `status` 'confirming' | 'active' | 'recovering' | 'resolved' | 'unevaluable', required
      - `onsetAt` string, nullable, required
      - `firstDetectedAt` string, required
      - `lastSeenAt` string, required
      - `lastEvaluatedAt` string, required
      - `resolvedAt` string, nullable, required
      - `unevaluableReason` string, nullable, required
      - `peakSeverity` 'critical' | 'watch' | 'normal', required
      - `peakMateriality` number, required
      - `revision` number, 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)
