reinstate_user

Reinstate a user

act entity tenant-private since 2026-10-01

Undoes a deactivation: the user can sign in again, with their memberships and records as they were. Calling it on an active user changes nothing. An anonymized user cannot be reinstated. An org admin can reinstate only a user whose every org they administer.

Contract

shape
entity
authority
act
evidence
none
subscription
false
permission
any one of: org.admin (carried by the caller's role template in EVERY org the user `user_id` belongs to); account.owner (account role owner or higher in the account of EVERY org the user `user_id` belongs to; an org with no account blocks); 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
user.reinstated
MCP tool
reinstate_user
decision_set
approve, reject, escalate
REST
POST https://api.containertradehq.com/v1/cap/reinstate_user

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
user_iduser_idrequiredtradehq-user-id; 1 to 20 characters
The user to reinstate.

Response

  • user_id · string · The user.
  • orgs · string[] · The orgs the user belongs to, whose admins the event reaches.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20,
      "pattern": "^[A-Za-z0-9_-]{1,20}$",
      "format": "tradehq-user-id",
      "description": "The user.",
      "x-data-class": "operational"
    },
    "orgs": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 20,
        "pattern": "^[A-Za-z0-9_-]{1,20}$",
        "format": "tradehq-org-id"
      },
      "description": "The orgs the user belongs to, whose admins the event reaches.",
      "x-data-class": "operational"
    }
  },
  "required": [
    "user_id",
    "orgs"
  ],
  "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
MobileF
APIF
MCPF*
VoiceD2
PushF
OneBoxN
OutboundN
  • MCP: approval required
  • Voice: degraded: confirmation
  • OneBox: no document originates a reinstatement
  • Outbound: crosses to no counterparty

Events

Related

None.