---
title: "Recover control by installing a fresh website file"
method: POST
path: "/api/v1/submissions/{id}/recover"
---

# Recover control by installing a fresh website file

`POST /api/v1/submissions/{id}/recover`

## Request

- Base URL: `https://submitby.ai`
- URL: `https://submitby.ai/api/v1/submissions/{id}/recover`
- Auth: none declared

POST {} to receive a private new_control_token and challenge. Install the file, then POST recovery_id to activate the new token. The old token remains valid until proof succeeds.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `recovery_id` string, uuid

## Response `200`

Success

## Other responses

- `404`: Unknown submission or invalid control token
- `409`: State conflict; follow the returned next action
- `422`: Invalid input
- `429`: Rate limited; see Retry-After

---

[API](https://skmtc.dev/submitby/apis/submitby-ai.md) · [All operations](https://skmtc.dev/submitby/apis/submitby-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/submitby/apis/submitby-ai/revisions/b064e781c910?raw)
