Skip to main content
User attributes are key-value pairs attached to a user that control how WisdomAI filters and personalizes data for their session. They are used for:
  • Parameterized connections: matching a user’s attributes against credentialMappings.attributeMatch to resolve the right data source credentials.
  • Row-level authorization: referencing attributes in filter rules to restrict which rows a user can see.
  • Personalized data access: passing session-specific context (e.g., a selected account or region) at impersonation time.

Attribute sources

Every attribute has a source field that indicates where it came from. When the same key exists in both sources, the DATABASE value takes precedence — unless a transient (session-specific) attribute is passed at impersonation time, which overrides both for that session only.

Setting attributes

Attributes can be set at three points in a user’s lifecycle: when the user is first provisioned, updated later via API, or passed at impersonation time for session-specific context.

At creation time

Pass userAttributes in CreateUsersInput when provisioning the user. This is the most efficient option when you know the attributes upfront:
Replace {ACCOUNT}.wisdom.ai with the base URL of your WisdomAI tenant — the same domain you use to log in. Both wisdom.ai and askwisdom.ai are valid depending on your deployment.

Updating later

Call setUserAttributes to replace the user’s DATABASE-sourced attributes after they’ve been created:
setUserAttributes replaces all DATABASE-sourced attributes. Include every attribute the user should have after the call — omitting an attribute removes it.

At impersonation time (transient)

Pass attributes in impersonateUser for session-only overrides. These are applied for the duration of the JWT only and are never persisted:
Transient attributes override DATABASE-sourced values for that session. They are useful for passing request-scoped context that should not be stored on the user.

Choosing the right approach

Create Users

Set attributes at provisioning time

Set User Attributes

Update DATABASE-sourced attributes on existing users

Impersonate User

Pass transient attributes at session time

List Users

Inspect a user’s current attributes and their source