Skip to content

Product documentation

Users

Tenant user management — CRUD plus lifecycle (suspend/reactivate/soft-delete), metadata, sessions/force-logout, unlock, password-reset-on-behalf, and risk-state (SSO-1884).

Users

Tenant user management — CRUD plus lifecycle (suspend/reactivate/soft-delete), metadata, sessions/force-logout, unlock, password-reset-on-behalf, and risk-state (SSO-1884).

Base URL: https://api.stg.thoryn.org

Operations

MethodPathSummaryScopes
GET/api/v1/usersUsers Listtenant:users.read
POST/api/v1/usersUsers Createtenant:users.write
GET/api/v1/users/lockedUsers List Lockedtenant:users.read
GET/api/v1/users/sessionsUsers List Tenant Sessionstenant:users.read
GET/api/v1/users/{userId}Users Gettenant:users.read
PATCH/api/v1/users/{userId}Users Updatetenant:users.write
DELETE/api/v1/users/{userId}Users Deletetenant:users.write
GET/api/v1/users/{userId}/linked-identitiesUsers List Linked Identitiestenant:users.read
GET/api/v1/users/{userId}/metadataUsers Get Metadatatenant:users.read
PATCH/api/v1/users/{userId}/metadata/appUsers Patch App Metadatatenant:users.write
PATCH/api/v1/users/{userId}/metadata/userUsers Patch User Metadatatenant:users.write
GET/api/v1/users/{userId}/organizationsUsers List Organizationstenant:users.read
POST/api/v1/users/{userId}/password-resetUsers Password Resettenant:users.write
POST/api/v1/users/{userId}/reactivateUsers Reactivatetenant:users.write
GET/api/v1/users/{userId}/risk-stateUsers Get Risk Statetenant:users.read
PATCH/api/v1/users/{userId}/risk-stateUsers Set Risk Statetenant:users.write
GET/api/v1/users/{userId}/sessionsUsers List Sessionstenant:users.read
DELETE/api/v1/users/{userId}/sessionsUsers Revoke All Sessionstenant:users.write
DELETE/api/v1/users/{userId}/sessions/{sessionId}Users Revoke Sessiontenant:users.write
POST/api/v1/users/{userId}/suspendUsers Suspendtenant:users.write
POST/api/v1/users/{userId}/unlockUsers Unlocktenant:users.write

Operation details

GET /api/v1/users

Users List

  • Operation ID: usersList
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
limitquerynointeger
cursorquerynostring
emailquerynostring
statusquerynostring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

POST /api/v1/users

Users Create

  • Operation ID: usersCreate
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
modequerynostring
Idempotency-Keyheadernostring

Request body (required): application/jsonCreateUserRequest

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/locked

Users List Locked

  • Operation ID: usersListLocked
  • Required scopes: tenant:users.read

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/sessions

Users List Tenant Sessions

  • Operation ID: usersListTenantSessions
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
limitquerynointeger

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/{userId}

Users Get

  • Operation ID: usersGet
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

PATCH /api/v1/users/{userId}

Users Update

  • Operation ID: usersUpdate
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Request body (required): application/jsonUpdateUserRequest

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

DELETE /api/v1/users/{userId}

Users Delete

  • Operation ID: usersDelete
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/{userId}/linked-identities

Users List Linked Identities

  • Operation ID: usersListLinkedIdentities
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/{userId}/metadata

Users Get Metadata

  • Operation ID: usersGetMetadata
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

PATCH /api/v1/users/{userId}/metadata/app

Users Patch App Metadata

  • Operation ID: usersPatchAppMetadata
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Request body (required): application/jsonJsonNode

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

PATCH /api/v1/users/{userId}/metadata/user

Users Patch User Metadata

  • Operation ID: usersPatchUserMetadata
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Request body (required): application/jsonJsonNode

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/{userId}/organizations

Users List Organizations

  • Operation ID: usersListOrganizations
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

POST /api/v1/users/{userId}/password-reset

Users Password Reset

  • Operation ID: usersPasswordReset
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

POST /api/v1/users/{userId}/reactivate

Users Reactivate

  • Operation ID: usersReactivate
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/{userId}/risk-state

Users Get Risk State

  • Operation ID: usersGetRiskState
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

PATCH /api/v1/users/{userId}/risk-state

Users Set Risk State

  • Operation ID: usersSetRiskState
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Request body (required): application/jsonSetRiskStateRequest

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

GET /api/v1/users/{userId}/sessions

Users List Sessions

  • Operation ID: usersListSessions
  • Required scopes: tenant:users.read

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

DELETE /api/v1/users/{userId}/sessions

Users Revoke All Sessions

  • Operation ID: usersRevokeAllSessions
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

DELETE /api/v1/users/{userId}/sessions/{sessionId}

Users Revoke Session

  • Operation ID: usersRevokeSession
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring
sessionIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

POST /api/v1/users/{userId}/suspend

Users Suspend

  • Operation ID: usersSuspend
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)

POST /api/v1/users/{userId}/unlock

Users Unlock

  • Operation ID: usersUnlock
  • Required scopes: tenant:users.write

Parameters:

NameInRequiredTypeDescription
userIdpathyesstring

Responses:

StatusDescriptionBody
200OKobject
401Unauthorized — bearer token missing, expired, signed by an untrusted issuer, or missing the tnt tenant claim.Problem (problem+json)
403Forbidden — token lacks a required tenant:* scope, or the tnt claim does not match the tenant addressed by the request path.Problem (problem+json)