Skip to main content

All Fields

Liquid offers a large variety of fields and attributes that you can use for various purposes. These fields are typically categorized into 3 categories according to how sensitive they are. Below is a list of all fields along with their sensitivity levels:

Field NameSensitivity Level (Write)TypeReadable by AdminReadable by ClientReadable by Delegated UserPatchable / Related API
usernameHIGHStringYesYesYesYes
passwordHIGHStringNoNoNoYes
2faEnabledHIGHBooleanYesYesNo2FA
2faMediumHIGHStringYesYesNo2FA
firstNameLOWStringYesYesYesYes
middleNameLOWStringYesYesYesYes
lastNameLOWStringYesYesYesYes
genderLOWStringYesYesYesYes
preferredLanguageLOWStringYesYesYesYes
roleHIGHStringYesYesYesYes
designation*LOWStringYesYesYesYes
profilePictureUrlMEDIUMStringYesYesYesProfile Pictures
profilePicturePathMEDIUMStringYesYesYesProfile Pictures
bioLOWStringYesYesYesYes
customLinkLOWStringYesYesYesYes
pronounsLOWStringYesYesYesYes
verifiedHIGHBooleanYesYesYesSpecial Field
verifiedDateLOWDateYesYesYesSpecial Field
verifiedByLOWObjectIdYesYesNoSpecial Field
followingCountREAD_ONLYNumberYesYesYesFollow API
followerCountREAD_ONLYNumberYesYesYesFollow API
isPrivateMEDIUMBooleanYesYesYesPrivate Account API
emailMEDIUMStringYesYesYesYes
emailVerifiedMEDIUMBooleanYesYesYesNo
phone*MEDIUMStringYesYesYesYes
phoneCountryCodeMEDIUMStringYesYesYesYes
phoneVerifiedMEDIUMBooleanYesYesYesNo
secondaryEmailMEDIUMStringYesYesYesYes
secondaryEmailVerifiedMEDIUMBooleanYesYesYesNo
secondaryPhone*MEDIUMStringYesYesYesYes
secondaryPhoneCountryCode*MEDIUMStringYesYesYesYes
secondaryPhoneVerified*MEDIUMBooleanYesYesYesNo
addressLine1*HIGHStringYesYesNoYes
addressLine2*HIGHStringYesYesNoYes
city*HIGHStringYesYesNoYes
countryHIGHStringYesYesYesYes
pincode*HIGHNumberYesYesNoYes
organizationLOWStringYesYesYesYes
isSubscribedMEDIUMBooleanYesYesYesSpecial Field
subscriptionExpiryMEDIUMDateYesYesYesSpecial Field
subscriptionTierMEDIUMStringYesYesYesSpecial Field
creditsMEDIUMNumberYesYesYesSpecial Field
scopeEXTREMEArrayYesYesNoAccess Provisioning
invitedByLOWObjectIdYesYesYesInvite Only Mode
isActiveLOWBooleanYesYesYesNA
deactivateDateLOWDateYesYesNoNA
isBannedHIGHBooleanYesYesYesSpecial Field
bannedDateHIGHDateYesYesYesSpecial Field
bannedByLOWObjectIdYesYesNoSpecial Field
bannedReasonHIGHStringYesYesYesSpecial Field
isRestrictedHIGHBooleanYesYesYesSpecial Field
restrictedDateHIGHDateYesYesYesSpecial Field
restrictedByLOWObjectIdYesYesNoSpecial Field
restrictedReasonHIGHStringYesYesYesSpecial Field
isDeletedEXTREMEBooleanYesYesYesNA
deletedDateEXTREMEDateYesYesYesNA
ssoEnabledLOWBooleanNoNoNoGoogle SSO
ssoProviderLOWStringNoNoNoGoogle SSO
googleProfileIdMEDIUMStringNoNoNoGoogle SSO
creationIpHIGHStringYesYesNoNo
customDataHIGHStringYesYesYesCustom Data
globalLogoutAtLOWDateNoNoNoNo

* - Field patchable, but validations are not available.

Updating Fields

Liquid provides granular control on who can change what fields of a user.

Most of these fields can be updated using Update User Fields (Delegated) or Update User Fields (Admin), but some fields are special and cannot be updated directly by PATCH APIs. Such fields are related to special features of Liquid and the documentation for usage is linked in the Related API column of the table above.

For delegated users

When fields are changed by a user themselves, it is possible to control which fields they can edit by listing the editable fields in the option user.profile.editable-fields.

For admin users

When fields are updated by admins, the process is much more sophisticated:

Before you start, give your admins the permissions admin:profile:read, admin:profile:write and admin:configuration:read. Adjust the editable fields for admins by using option admin-api.user.profile.editable-fields.

If you want to be more granular about the field write access per person, they can be granted specifically scopes that allow editing a field that lies in a particular sensitivity level.

Once you have identified the level of write access you want to provide a user, you can provide them the respective scope in the format admin:profile:sensitive:<sensitivity-level>:write. Note that sensitivity extreme does not immediately grant access to sensitivity low, medium and high. Sensitivity levels have to be provided for all required levels.

By default, Liquid does not allow editing anything before assigning the sensitivity scopes.

When editing roles, the role sent in the body should be of less priority in ranking than the user that is requesting the API unless the requesting user is a super_admin. For instance, a user with role ‘user’ cannot make someone an ‘admin’.

More Fields

If these set of fields are not enough for your use case, you can extend the user object by using the Custom Data mechanism.