---
title: "List Forecasts"
method: GET
path: "/v1/forecasts"
---

# List Forecasts

`GET /v1/forecasts`

## Request

- Base URL: `https://api.anteproof.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.anteproof.com/v1/forecasts`
- Auth: none declared

The public forecast log: live (non-backtest) forecasts, newest
first, with their question text and resolution when one exists.
A forecast whose question was later voided stays in the log (the
forecast is part of the record) and carries ``question_status`` =
"voided" plus the recorded ``voided_reason`` so it is never mistaken
for an open call.
``question`` is the exact wording that was forecast and timestamped;
``title`` is a reader-friendly rendering of the same question (see
foresight_api.titles) and falls back to the text.

``entity_kind`` is ``entity.kind`` for the question's entity — the
same column ``/v1/entities/{id}`` already publishes — and is null
when the question has no entity (a market question) or the entity row
is gone. It is here because ``entity_id`` alone cannot tell a
dependency question from one about a company: an SEC Form D filer has
a real ``entity_id`` exactly like tox-dev/tox does, and only the kind
separates them ("company" vs "repo"). A client that is about
dependencies -- the homepage's two lists are -- filters on it; see
SOFTWARE_ENTITY_KINDS in static/index.html.

This endpoint itself does NOT filter. The archive is append-only and
public by design, and an API that silently drops rows from the log is
a worse answer than a page that curates its own two lists: the record
has to stay complete for anyone checking it. The field is added so
the curation can happen where the curation claim is made.

``resolved=true`` returns only forecasts whose question has an
outcome, newest resolution first. That slice is what lets a reader
check the record against what happened -- including the calls we got
wrong, which are in it by construction rather than by the luck of a
window ordered on issue date.

## Query parameters

- `limit` integer
- `offset` integer
- `resolved` boolean

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/anteproof/apis/anteproof-api.md) · [All operations](https://skmtc.dev/anteproof/apis/anteproof-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anteproof/apis/anteproof-api/revisions/c0d5ac701f1e?raw)
