# Delete an organization

> Check what stops an organization from being deleted, then delete it for good.

Source: https://www.coritan.com/docs/organizations/delete-an-organization/

Delete an organization when you no longer sell under it. Its storefront, staff console and API go offline, and it leaves the dashboard of every member. You can delete it only once nothing in it is still running for a customer.

## Before you begin

- You must be the organization's owner, signed in to coritan.com. An admin cannot delete it, and neither can the owner from the organization's staff console.
- End everything the organization still runs. The dashboard lists what is left; [What stops a deletion](#what-stops-a-deletion) says how each thing ends.
- Settle money you are owed. After the deletion we create no more payouts and no customer invoices for the organization, so ask [support](https://www.coritan.com/dashboard/support) for a final payout if one is due. [Track your payouts](/docs/organizations/billing/payouts/) explains how payouts are worked out.

## Delete the organization

1. Go to [Organizations](https://www.coritan.com/dashboard/organizations), open your organization and choose **Settings**.
2. Scroll to the **Delete organization** card at the bottom.
3. If the card lists products, end each one. Where a product has a tab in the dashboard, its row links there. The button unlocks once the list is empty.
4. Choose **Delete organization…**.
5. Type the organization's slug and choose **Delete organization**.

> [!CAUTION]
> You cannot undo a deletion yourself. Nothing is erased: we keep the organization's customers, invoices and settings, so [support](https://www.coritan.com/dashboard/support) can restore it if you change your mind.

## Result

The dashboard takes you back to your list of organizations, and the deleted one is no longer in it for you or any other member. At the same time:

- its storefront, customer portal, staff console and API stop answering;
- everyone signed in to its staff console or customer portal is signed out, and has to sign in again if support restores it;
- its API keys stop working, and its Discord bot goes offline;
- its slug stays taken, so no new organization can use it.

## What stops a deletion

Each blocker has a `kind` in the API. The dashboard shows it with a count and a hint.

| Kind | What is still live | How it ends |
| --- | --- | --- |
| `services` | Customer services that are not cancelled or terminated. | Cancel them in your [staff console](/docs/organizations/staff-console/), or ask support to end them. |
| `platform_services` | Coritan services still running after the customer orders they served have ended. | Ask support to terminate them. |
| `dns_zones` | DNS zones. | Delete them on the [DNS](/docs/organizations/dns/) tab. |
| `mail_tenants` | Mail tenants that are not terminated. | Cancel the services behind them, or ask support to close them. |
| `game_proxy_routes` | Game proxy addresses. | They go when the servers they point at are terminated. |
| `game_proxy_domains` | Custom join domains. | They go when the servers they point at are terminated. |
| `domain_claims` | Platform addresses that customers claimed for websites. | Customers release them from their websites, or support does. |
| `ip_orders` | IP orders in progress. | Wait for them to finish or expire. |
| `snapshots` | Snapshots your customers still store. | They go when the customers delete them, or when a customer's allowance runs out. |
| `commerce_store` | A store that shoppers can still order from. | Ask support to disable the store. |
| `apps` | Apps that are not deleted. | [Delete each app](/docs/apps/app-settings/#delete-an-app). Its replicas and domains go with it. |
| `sub_organizations` | Active sub-organizations. | The owner of each has to delete it, or support has to close it. |
| `storefront_brand` | The organization runs a storefront brand that Coritan configures. | Ask support. Coritan has to take the brand off the platform before the organization can go. |

## Troubleshooting

`403 Only the organization's owner can delete it, from their coritan.com dashboard.`
: You are not the owner, or you are signed in through the organization's staff console. Ask the owner, or sign in at coritan.com as the owner.

`409` naming what the organization still has
: Something became live after the list loaded, for example a customer ordered a service. End it, then try again. The card shows the new list.

`422 Type the organization's slug, acme, to confirm.`
: The typed slug did not match. Letter case and spaces around it do not count.

`404 Organization not found`
: The organization is already deleted, or it is not active.

`429` with `rate_limited`
: You tried too many times in a short time. Wait, then try again.

## Related

- [Manage members and roles](/docs/organizations/members-and-roles/)
- [Manage customer services](/docs/organizations/customer-services/)
- [Track your payouts](/docs/organizations/billing/payouts/)

## With the API

Both routes need the owner's own access token, sent as `Authorization: Bearer $CORITAN_TOKEN`. Check first:

```bash
curl "https://api.coritan.com/api/v1/orgs/acme/deletion" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

The answer has `deletable`, which is `true` when nothing is in the way, and `blockers`. Each blocker has `kind`, `label` (such as `2 DNS zones`), `hint`, `count` and `tab`, the dashboard tab where you can end it, or `null` when there is none.

Then delete, passing the slug in `confirm`:

```bash
curl -X DELETE "https://api.coritan.com/api/v1/orgs/acme?confirm=acme" \
  -H "Authorization: Bearer $CORITAN_TOKEN"
```

The answer is `{"slug": "acme", "status": "deleted"}`.

| Route | What it does |
| --- | --- |
| `GET /api/v1/orgs/{org_slug}/deletion` | Says whether the organization can be deleted now, and lists what is in the way. |
| `DELETE /api/v1/orgs/{org_slug}` | Deletes the organization. Needs `confirm`, the organization's slug. |

## API

- `GET /api/v1/orgs/{org_slug}/deletion`: Whether the owner can delete this organization now, and what is in the way (https://www.coritan.com/docs/api/reference/organizations/organizations-members/deletion/#op-get-api-v1-orgs-org-slug-deletion)
- `DELETE /api/v1/orgs/{org_slug}`: Delete the organization, as its owner (https://www.coritan.com/docs/api/reference/organizations/organizations-members/#op-delete-api-v1-orgs-org-slug)
