---
title: "Get a request"
method: GET
path: "/v1/requests/{id}"
---

# Get a request

`GET /v1/requests/{id}`

Inspect a customer-owned Request. Poll queued or running requests after retryAfterSeconds. Successful output is retained for 24 hours; metadata remains after the result expires.

## Path parameters

- `id` string, uuid, required

## Response `200`

Current request snapshot.

- RequestSnapshot
  - `completedAt` string, date-time
  - `createdAt` string, date-time, required
  - `error` object
    - `code` string, required
  - `expiresAt` string, date-time
  - `requestId` string, uuid, required
  - `result` object
    - `costUsd` number, required — USD charged on the ORIGINAL run, echoed for envelope parity; this re-read is free.
    - `items` integer, required — Number of result rows returned by the original run.
    - `jqError` string — Present only when a `jq` expression failed; `output` then carries the full unshaped result and this explains why the reshape did not apply.
    - `output` unknown, required
    - `provider` string, required — Always "AnyAPI".
    - `replayed` boolean, required — False on this cached-result endpoint; true is reserved for durable idempotency replays from POST /v1/run/{sku}.
    - `resultId` string — The id you requested, echoed so you can keep re-reading the same cached result.
  - `resultExpired` boolean
  - `retryAfterSeconds` integer
  - `serviceOutcome` 'served' | 'valid_negative' | 'caller_error' | 'service_failure' | 'rejected' — End-to-end AnyAPI service result when known; independent of payment settlement.
  - `settlementState` 'not_required' | 'pending' | 'settled' | 'reconcile' | 'charged_undelivered' | 'writeoff' — Payment settlement state when known; independent of request lifecycle status.
  - `sku` string, required
  - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'expired', required

## Other responses

- `401` — Missing or invalid API key.
- `404` — Unknown request id, or a request owned by another customer.

## Changes

- **2026-08-27** `1f6d99b8eadf` — 2 info
  - added the optional property `requestId` to the response with the `401` status
  - added the optional property `requestId` to the response with the `404` status
- **2026-08-12** `10b9a3cf14dc` — 2 info
  - added the optional property `serviceOutcome` to the response with the `200` status
  - added the optional property `settlementState` to the response with the `200` status
- **2026-08-11** `162b6891cbfa` — 3 info
  - added the optional property `payment` to the response with the `401` status
  - added the optional property `payment` to the response with the `404` status
  - the response property `result/items` became required for the status `200`
- **2026-08-05** `f9c8f6434794` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/getanyapi-com/apis/anyapi/changes/v1/requests/:id/get.md)

---

[API](https://skmtc.dev/getanyapi-com/apis/anyapi.md) · [All operations](https://skmtc.dev/getanyapi-com/apis/anyapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanyapi-com/anyapi/revisions/f3c680bdb098/schema)
