---
title: "Resolve Permit Case"
method: POST
path: "/permit-runs/resolve"
tags: ["operator-runs"]
---

# Resolve Permit Case

`POST /permit-runs/resolve`

Mark one permit case handled without re-running it (managers).

The resolution lands in operator_case_resolutions keyed by (org, workflow,
case_key); the runs list hides the permit while its latest run predates the
resolution, and a newer run (sheet, cron or dashboard) resurfaces it.

## Request body

- ResolvePermitCaseRequest — Body for marking one permit case resolved (hidden) from the dashboard.
  - `case_key` string, required
  - `note` string, nullable
  - `run_id` string, nullable
  - `job_id` string, nullable
  - `reason` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `404` — Not found
- `422` — Validation Error

## Changes

- **2026-09-18** `40ae92592bd0` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/noso/apis/crucible-backend-api/changes/permit-runs/resolve/post.md)

---

[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/d1993647e543?raw)
