---
title: "Resolve a question into a plan (no data fetched)"
method: GET
path: "/v1/resolve"
tags: ["Resolution"]
---

# Resolve a question into a plan (no data fetched)

`GET /v1/resolve`

## Request

- Base URL: `https://api.stackdata.io`
- URL: `https://api.stackdata.io/v1/resolve`
- Auth: one of:
  - none
  - API key in header `X-API-Key`

Returns the cascade as a **plan**, not an answer — the model proposes, you inspect.
`plan.status` is explicit: `ready` means it can be executed; anything else names
exactly why not (`licence_forbids_render`, `licence_unverified`, `no_candidates`,
`dsd_unavailable`). A blocked plan is still a `200` with an honest body.

**Metered** (the embedding cost is paid on every call). May return `429`.

## Query parameters

- `q` string, required

## Response `200`

The resolution plan.

- object
  - `plan` object: The resolution plan. `status` is `ready` or a named block reason.
  - `meta` Meta: Attached to every JSON response. `harvest` maps each source id to its last successful harvest timestamp.
    - `harvest` object
    - `api_version` string

## Other responses

- `400`: An unknown query parameter was supplied. Unknown parameters are **rejected, never silently ignored** — the error names the offenders and lists what is allowed.
- `429`: Daily free-tier limit reached (or credits exhausted). The body includes current usage.

---

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