---
title: "Restore a previously archived app (v2)"
method: POST
path: "/v2/apps/{appId}/restore"
tags: ["Apps"]
---

# Restore a previously archived app (v2)

`POST /v2/apps/{appId}/restore`

## Request

- Base URL: `https://api.chat.ethora.com`
- URL: `https://api.chat.ethora.com/v2/apps/{appId}/restore`
- Auth: HTTP bearer

Flips an `archived` app back to `active`. Child entities (users, chats,
messages, files) become accessible again because they were never touched
by the archive step.

Idempotent: restoring an already-active app returns 200 with
`alreadyActive: true`.

Cannot restore an app whose cascade purge has started (`status: 'deleting'`)
or completed (`status: 'deleted'`) - returns 409.

Supports `User JWT` and `B2B Server JWT`.

## Path parameters

- `appId` string, required

## Response `200`

restored ok

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: app not found
- `409`: app is in a non-restorable state
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/ethora/apis/platform-api.md) · [All operations](https://skmtc.dev/ethora/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ethora/apis/platform-api/revisions/01b6e64378ee?raw)
