schedule_org_deletion

Schedule an org's deletion

act entity tenant-private since 2026-10-01

Starts a 30 day countdown to an org's deletion and locks its users out for it. Nothing is deleted: after the countdown, purge_org needs two staff or one principal, and a job does the purge. Cancelling returns the org to the state it was in. Calling it again returns the countdown already running. A test twin, an org the repository declares and a purged org are refused.

Contract

shape
entity
authority
act
evidence
none
subscription
false
permission
any one of: account.owner (account role owner or higher in the account of the org `org_id`); staff.ops (the staff role staff_ops held in the Internal org, tradehq_role.staff_role); a deactivated caller is refused first
idempotency
natural
emits
org.deletion_scheduled
MCP tool
schedule_org_deletion
decision_set
approve, reject, escalate
REST
POST https://api.containertradehq.com/v1/cap/schedule_org_deletion

Through MCP this call returns an approval request first; see Approvals.

Idempotency: keyed by the contract's own inputs: the same inputs replay the first call's result

Inputs

nametyperequiredvalidation
org_idorg_idrequiredtradehq-org-id; 1 to 20 characters
The org whose deletion to schedule.

Response

  • org_id · string · The org.
  • state · string · deletion_scheduled.
  • purge_after · string · The end of the countdown: when a purge may be approved.
  • scheduled_at · string · When the countdown started: the first call's time on a replay.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "org_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "pattern": "^[A-Za-z0-9_-]{1,20}$",
      "format": "tradehq-org-id",
      "description": "The org.",
      "x-data-class": "operational"
    },
    "state": {
      "type": "string",
      "enum": [
        "deletion_scheduled"
      ],
      "description": "deletion_scheduled.",
      "x-data-class": "operational"
    },
    "purge_after": {
      "type": "string",
      "format": "date-time",
      "description": "The end of the countdown: when a purge may be approved.",
      "x-data-class": "operational"
    },
    "scheduled_at": {
      "type": "string",
      "format": "date-time",
      "description": "When the countdown started: the first call's time on a replay.",
      "x-data-class": "operational"
    }
  },
  "required": [
    "org_id",
    "state",
    "purge_after",
    "scheduled_at"
  ],
  "additionalProperties": false
}

Refusals

not yet declared

The platform refusals apply to every call: version, authentication, authority, validation and rate limits, each in the same envelope.

Surfaces

DesktopF
MobileD2
APIF
MCPF*
VoiceD2
PushF
OneBoxN
OutboundN
  • Mobile: degraded: confirmation
  • MCP: approval required
  • Voice: degraded: confirmation
  • OneBox: no document originates a deletion
  • Outbound: crosses to no counterparty

Events

Related

None.