---
title: "Get the state of an application snapshot restore"
method: GET
path: "/v2/apps/{appId}/snapshots/restore"
tags: ["Snapshots"]
---

# Get the state of an application snapshot restore

`GET /v2/apps/{appId}/snapshots/restore`

## Request

- Base URL: `https://api.squarecloud.app`
- URL: `https://api.squarecloud.app/v2/apps/{appId}/snapshots/restore`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/squarecloud/apis/square-cloud-api/docs/v2/apps/:appId/snapshots/restore/get.ts> (a function with typed inputs; its response is checked against the schema)

Progress and outcome of the application's last snapshot restore, as reported by its node: `queued`/`running` (with the current `step`) while it runs, then `success` or `error` (with `code`) for an hour after it ends. `none` when there is no recent restore.

Rate limited to 30 requests per 60s per user.

Requires the workspace Administrator role (or ownership) when called against a workspace-shared application.

## Path parameters

- `appId` string, required

## Response `200`

Restore state. Timestamps are Unix milliseconds.

- SnapshotRestoreStateResult
  - `status` 'success', required
  - `response` object, required
    - `state` 'none' | 'queued' | 'running' | 'success' | 'error', required
    - `step` string: Current step, in order: `queued`, `inspect`, `download`, `preflight`, `verify`, `lock`, `stop`, `wipe`, `unzip`, `start`, `recovery`, `done`. `interrupted` when the node restarted mid-restore.
    - `code` string: Why it failed, when `state` is `error`.
    - `started_at` integer: Unix ms.
    - `finished_at` integer: Unix ms, once `success` or `error`.

## Other responses

- `401`: The Authorization header is missing, malformed, or the credentials are not valid.
- `403`: `PERMISSION_DENIED` when the workspace member's role does not allow this operation; `MISSING_SCOPE` / `RESOURCE_NOT_ALLOWED` when the API key lacks the scope or does not cover the resource.
- `404`: The target application could not be found, or the caller is not a member of the workspace.
- `429`: `KEEP_CALM` when the caller hit this endpoint's own cooldown, `RATE_LIMITED` when it exceeded the global request budget.
- `500`: An unexpected error occurred while processing the request.
- `503`: The platform database is temporarily unavailable. Retry in a few seconds.

## Changes

- **2026-11-13** `e363e004303c`: 6 warning
  - added the new `SNAPSHOTS_UNAVAILABLE` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `401`
  - added the new `SNAPSHOTS_UNAVAILABLE` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `403`
  - added the new `SNAPSHOTS_UNAVAILABLE` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
  - added the new `SNAPSHOTS_UNAVAILABLE` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `429`
  - …2 more
- **2026-11-02** `4cf53a0d5577`: 12 warning
  - added the new `WRITE_FAILED` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `401`
  - added the new `WRITE_FAILED` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `403`
  - added the new `WRITE_FAILED` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `404`
  - added the new `WRITE_FAILED` enum value to the `code/anyOf[#/components/schemas/ErrorCode]/` response property for the response status `429`
  - …8 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/squarecloud/apis/square-cloud-api/changes/v2/apps/:appId/snapshots/restore/get.md)

---

[API](https://skmtc.dev/squarecloud/apis/square-cloud-api.md) - [All operations](https://skmtc.dev/squarecloud/apis/square-cloud-api/llms.txt) - [OpenAPI document](https://skmtc.dev/squarecloud/apis/square-cloud-api/revisions/41b6994d1c97?raw)
