---
title: "Finalize a durable replay run"
method: POST
path: "/internal/replay/runs/{run_id}/status"
tags: ["results"]
---

# Finalize a durable replay run

`POST /internal/replay/runs/{run_id}/status`

Reconciles retry-exhausted units as failed and freezes the final R-star aggregate after the Temporal workflow completes.

## Path parameters

- `run_id` string, required

## Request body

- object
  - `tenant_uuid` string, required
  - `status` 'completed' | 'partial' | 'failed', required
  - `completed` number, required
  - `failed` number, required

## Other responses

- `400` — Bad Request - Invalid parameters or malformed request
- `401` — Unauthorized - Invalid or missing authentication
- `403` — Forbidden - User lacks permission to access this resource
- `404` — Not Found - Resource does not exist
- `422` — Unprocessable Entity - Invalid request parameters or validation errors
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error - Unexpected server error

---

[API](https://skmtc.net/rhythms/apis/rhythms-params-in-body.md) · [All operations](https://skmtc.net/rhythms/apis/rhythms-params-in-body/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rhythms/rhythms-params-in-body/revisions/35a74726695d/schema)
