restore_project

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

Purpose

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.

Required ability

project:update

Input schema

{
  "type": "object",
  "required": ["project_id"],
  "properties": {
    "project_id": {
      "type": "string",
      "description": "UUID of the archived project to restore."
    }
  }
}

Output shape

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

Example prompts

"Restore project 7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13 — we're reopening signups."

"Put my Research Premium project back on sale."

"Un-archive the summer cohort project."

Failure modes

  • RESOURCE_NOT_FOUND — unknown project_id, a project belonging to another team, one outside the token's scope:project: allow-list, or a project that was deleted rather than archived.
  • VALIDATION_FAILED — the caller is a team member whose role lacks the team's project-update permission. error.context.project carries the refusal.
  • AUTHENTICATION_REQUIRED — no authenticated user on the request.
  • TOKEN_MISSING_ABILITY — token lacks project:update.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request