---
title: "Restore Layer"
method: POST
path: "/api/v1/layers/{layer_id}/restore"
tags: ["layers"]
---

# Restore Layer

`POST /api/v1/layers/{layer_id}/restore`

Restore a layer and recorded members that still sit on Default.

Every submitted id is validated atomically for writable-project scope and
live state before any write. Historical membership and completeness cannot
be verified after delete moved members to Default: only the caller's receipt
records them, and `deleted_at` cannot reconstruct that fact (spec-lite
§2.1). An incomplete receipt therefore produces ADR-0172's accepted lossy
restore. Returns 409 `not_deleted` for an already-live layer.

## Path parameters

- `layer_id` string, uuid, required

## Request body

- RestoreLayerRequest
  - `reassigned_condition_ids` string[], required

## Response `200`

Successful Response

- Layer
  - `id` string, uuid, required
  - `project_id` string, uuid, required
  - `name` string, required
  - `sort_order` number, required
  - `is_default` boolean, required
  - `created_at` string, date-time, required
  - `condition_count` integer
  - `measurement_count` integer

## Other responses

- `4XX` — Client Error
- `5XX` — Server Error

---

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