---
title: "List your saved insight backtests"
method: GET
path: "/api/v1/insights/backtests"
tags: ["Insights"]
---

# List your saved insight backtests

`GET /api/v1/insights/backtests`

## Request

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

Newest first, without their results; fetch one with `getInsightBacktest`.

## Query parameters

- `limit` union
  - number
  - string

## Response `200`

Success

- object
  - `runs` object[], required
    - `runId` string, 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
    - `mode` 'replay' | 'recorded', required
    - `from` string, required
    - `to` string, required
    - `stepMinutes` number, required
    - `detectors` string[], required
    - `durationMs` number, required
    - `createdAt` string, 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)
