---
title: "List Project Jobs"
method: GET
path: "/v1/projects/{project_id}/jobs"
tags: ["public_api", "external", "recipes"]
---

# List Project Jobs

`GET /v1/projects/{project_id}/jobs`

## Request

- Base URL: `https://api.hydracept.com`
- URL: `https://api.hydracept.com/v1/projects/{project_id}/jobs`
- Auth: HTTP bearer

List prompt-free job metadata for one project/environment.

`outcome=reusable` means succeeded with at least one output artifact. `selected=true`
means an explicit variant selection exists. Prompt/request bodies never appear here;
use the per-job read surface when the caller intentionally inspects one job.

## Path parameters

- `project_id` string, required

## Query parameters

- `limit` integer
- `cursor` string, nullable
- `status` 'queued' | 'running' | 'awaiting_approval' | 'succeeded' | 'failed' | 'canceling' | 'canceled' | 'needs_attention'
- `capabilityKey` string, nullable
- `outcome` 'failed' | 'reusable', nullable
- `selected` boolean, nullable

## Response `200`

Successful Response

- ProjectJobListResponse
  - `items` ProjectJobListItem[], required
    - `jobId` string, required
    - `status` string, required
    - `capabilityKey` string, required
    - `createdAt` string, date-time, required
    - `completedAt` string, date-time, nullable
    - `artifactCount` integer
    - `errorCode` string, nullable
    - `selectedArtifactId` string, nullable
    - `receiptId` string, nullable
  - `nextCursor` string, nullable

## Other responses

- `401`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `403`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `404`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `422`: Validation failure: public envelope plus Pydantic `detail` / `validationErrors`
- `429`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `500`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `502`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `503`: Structured public error envelope (`code`, `message`, `requestId`, …)

---

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