concierge.v1.UserDirectory

Admin (UserRead): the full profile of ANY user by id (the admin sibling of the self-only GetMe), for the user-detail drawer.

post/concierge.v1.UserDirectory/GetUser

Request

  • The document declares no server URL.
  • Auth: none required

Headers

Connect-Protocol-Version1 required

Define the version of the Connect protocol

Connect-Timeout-Msnumber

Define the timeout, in ms

Request body

user_idstring

Response

Success

user_idstring
emailstring
email_verifiedboolean
statusstring
legal_namestring

Editable profile fields (control plane; empty until the user sets them). email and status above stay read-only — email is the IdP's, status is admin-managed.

preferred_namestring
phonestring
date_of_birthstring
nationalitystring
tax_residencestring
residential_addressstring
languagestring
base_currencystring
timezonestring
kyc_levelinteger

The user's KYC level (admin-managed; mirrored to the money plane).

rolestring

The user's platform access role (snake_case: investor/operator/admin/owner). Admin-managed via SetRole; read-only here.

role_is_break_glassboolean

True when role above came from the OWNER_SUBJECTS emergency allowlist rather than from users.role. See UserSummary.role_is_break_glass in auth.proto — same flag, same meaning: real authority, granted by the environment while the fund has no persisted owner, seating nobody. Render it as a warning, never as ownership.

suspended_bystring

WHY the account is disabled — and therefore who may undo it. Empty on an active user, and also on one suspended before this field existed (those keep the old one-act, never-lapsing semantics they were actually suspended under). "admin_hold" — one operator's brake; lapses at hold_expires_at; ReinstateUser lifts it in one act. "governance" — the owners' ratified verdict; never lapses; ReinstateUser refuses and names OpenUserReinstatement.

permissionsstring[]

What the caller may do, concrete: no alias, no wildcard. Filled by GetMe only. To a relying party, its tenant's namespace and nothing else; to a first-party session, the seat's permissions plus every tenant's. A relying party gates on this alone.

usernamestring

A handle beside the email, interchangeable with it wherever an account is named. Empty when the account has none.

Changes