Skip to main content

Suspend / Revoke User

Use the User Lifecycle API to change a user's status after they have been created. This lets you temporarily suspend access or permanently revoke it.

Lifecycle statuses

StatusDescription
clearUser is active and can access APIs per their accessType
suspendedUser access is temporarily blocked. Can be reinstated.
revokedUser access is permanently removed. Cannot be undone.

Request

The action, reasonCode, and comment query parameters are all mandatory.

POST /api/v1/client/{clientHashId}/user/{userHashId}/lifecycle
?action=suspend
&reasonCode=role_change
&comment=User+no+longer+requires+access

Query parameters:

ParameterTypeRequiredDescription
actionstringYesThe lifecycle action: suspend, revoke, or clear (to reinstate).
reasonCodestringYesReason for the change (e.g. role_change).
commentstringYesFree-text explanation. Max 255 characters.
blockTypestringNoOptional block classification.

Response

{
"status": "suspended",
"message": "User has been Suspended",
"reasonCode": "role_change",
"blockUpdatedBy": "CLIENT"
}

Full lifecycle flow

Customer is Clear


Create User (POST /users)

├─── kycStatus: kyc_required kycStatus: kyc_not_required
│ (new edit-access user) (view-access user, or stakeholder
│ │ with verified biometric identity)
│ ▼ │
│ Submit KYC (POST /userKyc) │
│ │ │
│ ▼ │
│ User completes biometric check │
│ │ │
│ ▼ │
│ status: pending (subStatus: under_review) │
│ │ │
│ ▼ │
│ Compliance approved │
│ │ │
└───►▼◄─────────────────────────────────────┘
status: clear — user access enabled

[Optional later actions via /lifecycle — see Suspend / Revoke User]
clear → suspended → clear (reinstate via action=clear)
clear → revoked (permanent, cannot be undone)

[rejected path]
pending → rejected (if KYC or compliance check fails)
note

For full details on suspending and revoking users, see Suspend / Revoke User. For the KYC step, see Submit KYC.

LLM-ready documentation:: llms.txt and llms-full.txt