Skip to main content
GET
/
v3
/
workflows
/
{workflow_id}
/
runs
/
curl -X GET 'https://api.anyformat.ai/v3/workflows/0686bb97-8c30-70f0-8000-97669e000eb8/runs/?limit=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'
import requests

workflow_id = "0686bb97-8c30-70f0-8000-97669e000eb8"
url = f"https://api.anyformat.ai/v3/workflows/{workflow_id}/runs/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

page = requests.get(url, headers=headers, params={"limit": 20}).json()
for run in page["items"]:
    print(run["id"], run["status"])
{
  "items": [
    {
      "id": "069dcc2c-e14c-7606-8000-2ee4fb17b4fa",
      "document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
      "status": "processed",
      "created_at": "2026-07-02T09:00:00.000Z",
      "updated_at": "2026-07-02T09:02:30.000Z"
    },
    {
      "id": "069dcc2c-e14c-7606-8000-2ee4fb17b4f9",
      "document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
      "status": "error",
      "created_at": "2026-07-01T12:00:00.000Z",
      "updated_at": "2026-07-01T12:01:10.000Z"
    }
  ],
  "next_cursor": null
}
Rate limit tier: general (600 req/min) — see Rate limits. Returns one keyset page of a workflow’s runs, newest first. Follow next_cursor until it is null (see Pagination). Items are slim — id, document_packet_id, status, timestamps. Fetch GET /v3/runs/{run_id}/ for the results envelope.
curl -X GET 'https://api.anyformat.ai/v3/workflows/0686bb97-8c30-70f0-8000-97669e000eb8/runs/?limit=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'
import requests

workflow_id = "0686bb97-8c30-70f0-8000-97669e000eb8"
url = f"https://api.anyformat.ai/v3/workflows/{workflow_id}/runs/"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

page = requests.get(url, headers=headers, params={"limit": 20}).json()
for run in page["items"]:
    print(run["id"], run["status"])
{
  "items": [
    {
      "id": "069dcc2c-e14c-7606-8000-2ee4fb17b4fa",
      "document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
      "status": "processed",
      "created_at": "2026-07-02T09:00:00.000Z",
      "updated_at": "2026-07-02T09:02:30.000Z"
    },
    {
      "id": "069dcc2c-e14c-7606-8000-2ee4fb17b4f9",
      "document_packet_id": "069dcc2c-e14c-7606-8000-2ee4fb17b4e1",
      "status": "error",
      "created_at": "2026-07-01T12:00:00.000Z",
      "updated_at": "2026-07-01T12:01:10.000Z"
    }
  ],
  "next_cursor": null
}

Authorizations

Authorization
string
header
required

API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.

Path Parameters

workflow_id
string
required

Query Parameters

limit
integer
default:20

Page size, capped at 100.

Required range: 1 <= x <= 100
cursor
string | null

Opaque token from a previous response's next_cursor.

Response

Successful Response

One keyset page of runs.

Fixed (-created_at, -id) order. No totals or page numbers — iterate by following next_cursor until it is null.

items
RunSummaryV3 · object[]
required

Runs on this page, newest first.

next_cursor
string | null

Opaque token to fetch the next page; pass it back as ?cursor=. null on the last page.