---
title: "Restore Organization"
method: POST
path: "/v2/orgs/{org_id}/restore"
tags: ["Organizations"]
---

# Restore Organization

`POST /v2/orgs/{org_id}/restore`

Restores a soft-deleted organization. Superuser-only endpoint.

Clears the deleted_at timestamp so the organization becomes visible again.
UUID-only: slug lookup is not accepted because org keys are only unique
among active orgs (partial unique index on `key WHERE deleted_at IS NULL`).
Idempotent: calling restore on an already-active org returns the current row.
Returns 403 if the caller is not a superuser.
Returns 404 if no organization with the given id exists.
Returns 409 if another active org has reused this org's key while it was
soft-deleted — the key must be freed before this org can be restored.
Returns 422 if org_id is not a valid UUID.

## Path parameters

- `org_id` string, uuid, required — Organization UUID (slug not accepted)

## Response `200`

Successful Response

- OrganizationRead
  - `key` string, required — A URL-friendly name of the organization (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the organization.
  - `id` string, uuid, required — Unique id of the organization
  - `is_enterprise` boolean, required — Is this an enterprise account?
  - `usage_limits` UsageLimits
    - `mau` integer — Monthly active users limit. Default for trial is 5000.
    - `tenants` integer — Number of tenants limit. Default for trial is 50.
    - `billing_tier` 'free' | 'startup' | 'pro' | 'enterprise' | 'internal' | 'trial' — An enumeration.
  - `created_at` string, date-time, required — Date and time when the organization was created (ISO_8601 format).
  - `updated_at` string, date-time, required — Date and time when the organization was last updated/modified (ISO_8601 format).
  - `name` string, required — The name of the organization, usually it's your company's name.
  - `settings` object — the settings for this project

## Other responses

- `403` — Superuser access required
- `404` — Organization not found
- `409` — An active organization with the same key already exists; the key must be freed before this org can be restored.
- `422` — Validation Error

---

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