Skip to content

Unarchive a workspace page ​

POST/api/v2/workspaces/{slug}/pages/{pk}/unarchive/

Restore an archived workspace (wiki) page. The call sets the page's archived_at back to null and restores its nested pages with it. After this, Delete a workspace page refuses the page again until you re-archive it.

This is a bodyless POST. Send no JSON. A successful call returns 204 with no body.

The call is idempotent. Unarchiving a page that isn't archived returns 204 and changes nothing.

A nested page can't come back while its parent is still archived. In that case, the call returns 400 invalid_request with detail The parent page should be restored first. Unarchive the parent instead, and the nested page comes back with it.

Path Parameters ​

slug:requiredstring

The workspace slug. It appears in your Plane URLs. In https://app.plane.so/my-team/projects/, the slug is my-team.

pk:requiredstring (uuid)

The id of the wiki page to restore. A project page id returns 404.

Body Parameters ​

None. The endpoint takes no request body.

Scopes ​

wiki.pages:write

Errors ​

StatusCodeCause
400invalid_requestThe page's parent is still archived.
401unauthorizedMissing or invalid credentials.
402payment_requiredThe feature this endpoint belongs to isn't enabled on your plan, or is switched off.
403forbiddenYour role or token scope can't restore this page.
404not_foundNo such wiki page in this workspace, or you can't see it.
406not_acceptableThe Accept header asks for a representation the API can't produce.
409conflictAll write endpoints declare this status. This endpoint has no conflict case of its own.
413payload_too_largeThe request body is over the size limit.
415unsupported_media_typeThe Content-Type isn't one this endpoint accepts.
429rate_limitedThrottled. Honor the Retry-After header before retrying.
Unarchive a workspace page
bash
curl -X POST \
  "https://api.plane.so/api/v2/workspaces/my-team/pages/9c1f0b3d-6d2e-4c9a-8b41-2f7e5a0d6c88/unarchive/" \
  -H "X-Api-Key: $PLANE_API_KEY"
Response204

No response body.

Response400
json
{
  "type": "invalid_request",
  "code": "invalid_request",
  "detail": "The parent page should be restored first."
}

What unarchiving changes ​

  • archived_at on the page goes back to null.
  • Every nested page under it is restored too, including nested pages that were archived on their own before the parent was. The nested pages are updated in the background, so for a moment after the 204 they can still read as archived.
  • The page's attachments accept writes again, unless the page is locked.

Unarchiving doesn't undo the other effects of archiving:

  • The page stays unpublished. If you need its public link back, publish it again in the Plane app.
  • Favorites that archiving removed stay removed.

Learn more about restoring pages