tenancy
GET /v1/orgs/{orgId}/closure-plan
What closing this organization would do.
Authentication
Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.
Where your organisation id goes
This endpoint takes your organisation id in the URL itself, as orgId. Substitute it into the path — there is no header or query parameter that will do instead.
Your organisation id is on the API keys screen in your dashboard, beside the key itself. It is the same id in every call you make.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X GET https://api.zinndigital.com/v1/orgs/{orgId}/closure-plan \
-H "Authorization: Bearer zdk_live_…"Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
A **pure read** — opens no transport, arms no workflow, writes nothing — computed by the same function `DELETE /v1/orgs/{orgId}` runs, so the summary a customer confirms is the plan that then executes. ⛔ Gated on `org.delete`, not `org.read`: the plan is a complete inventory of the account (every site, every client org, every retained domain) plus what it owes.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
orgId (path) | Uuid | Yes | Organization ID (UUIDv7). |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
org_id | Uuid | Yes | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_type | string | Yes | — |
site_ids | Uuid[] | Yes | Sites that will be torn down, through the ordinary teardown — so they land in `DeletedSite` and stay restorable for the whole retention window. |
reparented_org_ids | Uuid[] | Yes | D-W15-11 — client orgs re-parented to Zinn®. Never torn down. |
retained_domain_ids | Uuid[] | Yes | D-W15-12 — domains that keep renewing and stay the customer's. Reported so nobody discovers on an invoice what closing did not stop paying for. |
forfeited_credit_minor | integer | Yes | ⚖️ Wallet credit this organization holds and will **LOSE** on closure — *"credit is not returnable ever, even on account closure etc."* (owner ruling, 2026-08-22). ⛔ Reported fo… |
forfeited_credit_currency | string | Yes | ISO-4217 code for `forfeited_credit_minor`. |
outstanding_minor | integer | Yes | Minor units owed (D-W15-13). Mixed currencies report the largest single-currency total, never a sum — adding minor units across currencies is the §2.8 error. |
outstanding_currency | string | Yes | ISO 4217 code for `outstanding_minor`; empty when nothing is owed. |
blocked_by_balance | boolean | Yes | True when the closure would be refused and the org suspended instead. |
Errors this endpoint can return
401 · 403 · 404 · 429