Skip to main content

RetireOrganizationInput

Which organization to retire, proof that you mean that one, and why.

input RetireOrganizationInput {
orgId: BigInt!
expectedSlug: String!
reason: String!
acknowledgeFrozenBalance: Boolean
acknowledgeProbeInfrastructure: Boolean
}

Fields

RetireOrganizationInput.orgId ● BigInt! non-null scalar

Organization to retire (BigInt as a decimal string).

RetireOrganizationInput.expectedSlug ● String! non-null scalar

The slug the organization must currently have. Refused if it does not match, which is what stops a mistyped or copy-pasted id from retiring a paying customer. There is no bulk form of this mutation for the same reason.

RetireOrganizationInput.reason ● String! non-null scalar

Why this organization is being retired. Required and stored on the tombstone.

RetireOrganizationInput.acknowledgeFrozenBalance ● Boolean scalar

Required when the organization holds a non-zero wallet balance. Retirement FREEZES that balance indefinitely: the money is held, deliberately, and is neither refunded nor forfeited. That is settled policy (operator decision, 2026-08-21), not a placeholder for one. The amount is recorded on the tombstone so every organization it applies to stays enumerable if the policy is ever revisited. Refusing by default rather than omitting the case is deliberate — an unreachable dangerous path guarantees the danger and removes the fix.

RetireOrganizationInput.acknowledgeProbeInfrastructure ● Boolean scalar

Required when the organization is a tier's DURABLE PROBE ORGANIZATION — the <family>-<tier> org scripts/probe-org.sh reuses on every run. Retiring one frees nothing: the slug stays taken, organizationBySlug keeps returning it, and the next probe run fails on a bare permission denial days later, so the cost lands on somebody else. The refusal names the family and tells you that reinstateOrganization is the way back.

Member Of

retireOrganization mutation