Version
DESTRUCTIVE

restore_project

Bring an archived project back on sale by flipping active to true. Emits project.restored. Noop if already active.

The reverse of archive_project. Flips active back to true so checkout, the portal and the bot accept new subscribers again. Nothing else moves: an archive never touched subscribers, plans or history, so there is nothing to rebuild.

It runs the same Action the dashboard and the REST API use, so project.restored fires once, when the flag actually changes. Re-calling on a project that is already active is a no-op — the current row comes back and nothing emits.

Archived is not deleted

An archived project resolves like any other, so its id is all you need. A project removed with delete_project is gone for good and answers RESOURCE_NOT_FOUND here.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Runs the same action as

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Fires one event

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveIdempotentOpen world

A client that honours annotations asks a person before running it. Sending the same arguments twice changes nothing the second time. It reaches beyond Subscriby: a connector, a provider or a member.

Arguments

project_id*string

UUID of the archived project to restore.

What it returns

{  "data": {    "id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "active": true  }}

How it fails

RESOURCE_NOT_FOUND

unknown project_id, a project belonging to another team, one outside the

VALIDATION_FAILED

the caller is a team member whose role lacks the team's project-update

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks project:update.

How is this guide?

Last updated on