Protected ReadonlycacheProtected ReadonlydbStaticinstanceThe process default: built from each dependency's own instance().
Clear each customer's membership tag and each record tag wherever cached,
and always this namespace's collection tag. keys are exact deletes in this
instance's key space: the only bust a null client honours.
ProtectedinvalidateThe bust every identity write makes, whatever it changed: its record tag in
every namespace copying its columns, its customer's pages on both surfaces,
and the folded get key, the one bust a null client honours.
OptionalamlVerificationStatuses?: VerificationStatus[]OptionalcountriesOfResidence?: string[]OptionalcreatedAt?: DbTimestampCriteriaOptionalemailLike?: stringPartial match on email
Optionalemails?: string[]Exact match, ignoring case
OptionalhasCustomerVerification?: booleanIdentities that have customer verification or don't.
undefined will return either.
OptionalidentityDocumentVerificationStatuses?: VerificationStatus[]Optionalids?: string[]Fetch multiple ids
OptionalincludeDeleted?: booleanOptionalnameLike?: stringPartial match on first, middle, last name or full name
OptionalorderBy?: DbOrderByCriterion<Ties break on the row id, in the last criterion's direction. fullName is
the name every list shows, served by identity_*full_name_idx.
Optionalpage?: numberDefaults to 1
OptionalpageSize?: numberDefaults to 50
OptionalpartialText?: stringPartial text search on: id, referenceId, name, email, phone
OptionalphoneLike?: stringPartial match on phone
Optionalphones?: string[]OptionalreferenceIdLike?: stringPartial match on reference ID
OptionalreferenceIds?: string[]Optionalstatuses?: (OptionalupdatedAt?: DbTimestampCriteriaOptionalworkspaceIds?: string[]Identities that own one of these sign-in workspaces
ProtectedsearchTags for a page: the scope its query searched (each customer's membership
tag, else the collection tag), so an empty page is bustable too, plus the
records it projects and the fields that chose or ordered its rows.
StaticgetThe exact cache key IdentityQueryService.get reads through.
get folds onto search, so its entry is an ordinary single-row search
page — these args must stay identical to the ones get passes
({ customerId, ids: [id], pageSize: 1 }, with search's page default of
1). Every other search filter is undefined there, and serviceCacheKey
canonicalizes with JCS, which drops undefined properties — so naming only
the four that are set produces the same digest. identityCache.test.ts
pins that equivalence.
Writers pass this to SearchCache.invalidateCache's keys so
read-after-write holds in memory mode, where tag invalidation no-ops. The
cache hashes and surface-prefixes it; this returns the arguments only.
StaticserializeIdentity → the dashboard wire form. Not the cached shape; needs no cache instance.
OptionalamlVerification?: { id: string; status: VerificationStatus } & { statusDescription: string }What this identity is capable of executing currently
Country of jurisdiction; alias of countryOfResidence
OptionalcustomerVerification?: { id: string }Details of customer's own verification of the identity
Verification unique identifier in the customer's system
OptionaldateOfBirth?: stringIn ISO format: yyyy-MM-dd
OptionaldeletedAt?: DateOptionalidentityDocumentVerification?: { id: string; status: VerificationStatus } & { statusDescription: string }OptionalreferenceId?: stringField paths verification needs and the identity lacks; derived, never stored.
The one label status is shown under, computed in SQL beside it.
OptionaltaxId?: stringThe person's own tax identification number — an SSN or ITIN for a US person, the local equivalent elsewhere. Stored as entered.
Mirrors related_person.data.taxId: the two are the same fact about
the same kind of party, and both forward to AiPrise the same way
(additional_info: TAX_IDENTIFICATION_NUMBER on the identity-document
verification run — AiPrise's user profile has no field for it).
Discriminator shared with Organization for mixed entity lists
OptionalverificationProfileId?: stringAiPrise user profile ID
Only set if we verify the identity.
OptionalverificationReasonCode?: Customer-safe; set while the verification is declined, in review or needs info.
OptionalverificationReasonCodeDescription?: string
Unless need to directly act on an identity specifically, you should be using
EntityServiceinstead.Extends IdentityCache, which owns the
identity-searchnamespace this read goes through.