---
title: "Restore an archived surface"
method: POST
path: "/api/workspaces/{slug}/surfaces/{surfaceSlug}/unarchive"
tags: ["Surfaces"]
---

# Restore an archived surface

`POST /api/workspaces/{slug}/surfaces/{surfaceSlug}/unarchive`

## Request

- Base URL: `https://trydock.ai`
- URL: `https://trydock.ai/api/workspaces/{slug}/surfaces/{surfaceSlug}/unarchive`
- Auth: HTTP bearer

Reverse a surface archive (DELETE). Rows and doc body come back; the surface is placed last in the surface order. Idempotent on a live surface. Refused with 409 if another live surface now owns its slug. Emits `surface.unarchived`. Editor role required. MCP: `update_surface` with `archived: false`.

## Path parameters

- `slug` string, required
- `surfaceSlug` string, required

## Response `200`

Restored (or already live).

- object
  - `archived` false, required
  - `alreadyLive` boolean
  - `surface` object, required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
    - `kind` 'table' | 'doc', required: Whether this tab is a typed-row table or a TipTap rich-text doc.
    - `position` integer, required: Tab order within the workspace, 0-indexed.
    - `columns` object[], nullable: Column schema for table surfaces. `null` on doc/html surfaces.
      - `key` string, required
      - `label` string, required
      - `type` 'text' | 'longtext' | 'number' | 'status' | 'person' | 'date' | 'url' | 'checkbox' | 'select', required
      - `position` integer, required
      - `width` integer
      - `hidden` boolean
      - `wrap` boolean
      - `description` string
      - `options` object[]
        - `value` string, required
        - `label` string, required
        - `color` string

## Other responses

- `403`: Caller lacks editor role.
- `409`: Another live surface now owns this surface's slug.

## Changes

- **2026-11-05** `dd96ae96a412`: 1 info
  - added the optional property `surface/columns/items/wrap` to the response with the `200` status
- **2026-11-05** `767beae124a8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trydock/apis/dock-rest-api/changes/api/workspaces/:slug/surfaces/:surfaceSlug/unarchive/post.md)

---

[API](https://skmtc.dev/trydock/apis/dock-rest-api.md) - [All operations](https://skmtc.dev/trydock/apis/dock-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trydock/apis/dock-rest-api/revisions/3b43f299a4fe?raw)
