---
title: "Get Permit Runs"
method: GET
path: "/permit-runs"
tags: ["operator-runs"]
---

# Get Permit Runs

`GET /permit-runs`

List the org's permit_registration runs — ONE row per permit (latest run).

Only production runs surface (business_workflow_version like "prod%"),
matching the warranty tab. A permit's stable identity is its sheet
coordinate (trade tab + sheet_row_ref — the request_id's key); retries and
re-runs each write an agent_runs row, so rows are deduped to the latest run
per permit. Orgs with the permit workflow disabled get an empty list.

A permit a manager resolved (POST /permit-runs/resolve) is hidden while its
latest run predates the resolution; a newer run resurfaces it. The row shape
follows operator_config.permit.mode (packet vs. portal columns).

## Response `200`

Successful Response

- unknown

## Other responses

- `404` — Not found

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/216c8523b7ae?raw)
