---
title: "Restore Snapshot"
method: POST
path: "/api/v1/admin/source-tracker/snapshots/{snapshot_id}/restore"
tags: ["source-tracker-admin"]
---

# Restore Snapshot

`POST /api/v1/admin/source-tracker/snapshots/{snapshot_id}/restore`

Return a rejected snapshot to the review queue.

Reject is otherwise terminal — a rejected row drops out of ``/pending`` and
can never be published — so a mistaken reject would only be recoverable by a
full re-run (which regenerates the *current* week). The scan data is still
on the row, so restoring it to PENDING_REVIEW is the honest recovery.

## Path parameters

- `snapshot_id` string, uuid, required

## Response `200`

Successful Response

- TrackerReviewResponse
  - `snapshot_id` string, uuid, required
  - `status` 'pending_review' | 'published' | 'rejected' | 'incomplete', required — Lifecycle of a per-country passport report.

## Other responses

- `404` — Resource not found
- `409` — Invalid lifecycle transition
- `422` — Validation Error

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/3ad158624c53/schema)
