---
title: "Recent run history for the report picker"
method: GET
path: "/reports/runs"
tags: ["Deliverables"]
---

# Recent run history for the report picker

`GET /reports/runs`

## Query parameters

- `projectId` string, uuid, required

## Response `200`

Successful response

- object
  - `runs` object[], required
    - `id` string, uuid, required
    - `startedAt` string, date-time, required
    - `completedAt` string, date-time, nullable
    - `triggeredBy` 'manual' | 'scheduled'
    - `status` 'running' | 'completed' | 'failed' | 'interrupted' | 'cancelled' | 'none', required — `cancelled` is reported by /prompts/status when a `failed` run had `cancelRequested = true`. `none` only appears when no run exists for the project.
    - `promptCount` integer

## Other responses

- `400` — Missing or invalid request parameter.
- `401` — Missing, malformed, or revoked API key.
- `402` — Monthly included API calls for your tier are used up (code `USAGE_LIMIT`). Body includes a `limit` object — `{ limitHit, currentTier, targetTier, feature, cap, used, resetAt }` — describing the cap and the upgrade that lifts it.
- `404` — Resource not found or not owned by your account.
- `429` — Rate limit, project cap, or daily quota hit. Body includes a `code` field.
- `500` — Server error. Retry; if persistent, contact support.

---

[API](https://skmtc.net/openlens/apis/openlens-api.md) · [All operations](https://skmtc.net/openlens/apis/openlens-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openlens/openlens-api/versions/d307a7633c0a/schema)
