resume_org

Resume a suspended org

act entity tenant-private since 2026-10-01

Brings a suspended org back: its users, and its test twin's, can sign in again. Nothing else changes: its settings, members and data are as they were. Calling it on an org that is already live changes nothing. An org whose deletion is counting down is refused org_deletion_scheduled: cancel the deletion first, which returns it to suspended, then resume it. A test twin, an org the repository declares and a purged org are refused. Trade HQ staff only.

Contract

shape
entity
authority
act
evidence
none
subscription
false
permission
any one of: 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.resumed
MCP tool
resume_org
decision_set
approve, reject, escalate
REST
POST https://api.containertradehq.com/v1/cap/resume_org

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 suspended org to resume.

Response

  • org_id · string · The org.
  • state · string · active: the org is live.
  • purge_after · stringnull · Always null: a live org has no deletion scheduled.
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": [
        "active"
      ],
      "description": "active: the org is live.",
      "x-data-class": "operational"
    },
    "purge_after": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Always null: a live org has no deletion scheduled.",
      "x-data-class": "operational"
    }
  },
  "required": [
    "org_id",
    "state",
    "purge_after"
  ],
  "additionalProperties": false
}

Refusals

  • capability_not_enabled · 422 · the capability's release flag is off for the caller
  • org_deletion_scheduled · 409 · the org's deletion is counting down; cancel the deletion first (it returns the org to suspended), then resume it
  • org_has_no_lifecycle · 422 · the org has no lifecycle row: a ported org nothing has typed yet
  • org_has_no_type · 422 · the org has a lifecycle row and no type row; a person repairs it
  • org_is_twin · 422 · a test twin follows its live org
  • org_declared · 422 · the org is declared in db/tradehq/orgs.json and leaves by a reviewed change
  • org_purged · 422 · the org is purged; only its tombstone is left

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

Surfaces

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

Events

Related

None.