---
title: "Check a recipe or workflow run"
method: GET
path: "/api/v1/recipes/runs/{runId}"
tags: ["Recipes"]
---

# Check a recipe or workflow run

`GET /api/v1/recipes/runs/{runId}`

## Request

- Base URL: `https://api.popnow.ai`
- URL: `https://api.popnow.ai/api/v1/recipes/runs/{runId}`
- Auth: HTTP bearer

The run's state and each step's task. `uri` is the first result of a finished step; get download links and full details
from `GET /api/v1/jobs/recordInfo?taskId=<jobId>`.

## Response `200`

The run.

- object
  - `code` 200, required
  - `msg` string, required
  - `data` SavedRecipeRun, required
    - `runId` string, required
    - `state` 'draft' | 'running' | 'paused' | 'done' | 'stopped' | 'failed', required
    - `pauseReason` string
    - `spentCredits` integer, required
    - `estimatedCredits` integer, required
    - `items` object[], required
      - `stepId` string, required
      - `state` string, required
      - `jobId` string
      - `uri` string

## Other responses

- `401`: Missing, malformed, expired, revoked, or otherwise invalid API key.
- `404`: Resource does not exist or is not visible to this account and API key. These cases are intentionally indistinguishable.
- `429`: Account-level request limit exceeded.
- `500`: Internal failure. Details are not exposed; report `request_id` to support.

## Changes

- **2026-10-20** `fede911a6e9b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/popnow/apis/popnow-api/changes/api/v1/recipes/runs/:runId/get.md)

---

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