Skip to main content
Auth0’s normalized user profile consists of the following attributes. Each attribute indicates whether it is supported for search, update, import, upsert, and export.

User profile attributes

For Auth0 database connections, all characters are converted to lowercase when saved to the user profile. When not using the Auth0 user store (for example, custom database connections with import mode off, or other connection types), the email is retained as-is and not converted to lowercase.
object
search
update
import
upsert
export
Custom fields that store info about a user that influences the user’s access, such as support plan, security roles (if not using the Authorization Core feature set), or access control groups. To learn more, read Metadata Overview.
boolean
search
update
import
export
Indicates whether the user has been blocked. Importing enables subscribers to ensure that users remain blocked when migrating to Auth0.
object[]
IP addresses that have been blocked under suspicion of a bruteforce attack.
date time
search
export
Timestamp indicating when the user profile was first created.
string
search
update
import
export
(unique) The user’s email address.The maximum length is 64 characters for the user/local part and 256 characters for the domain part. This value is validated by the JSON validation schema.
boolean
search
update
import
upsert
export
Indicates whether the user has verified their email address.
string
search
update
import
upsert
export
The user’s family name.The length can be 1-150 characters and it can contain any UTF-8 character.
string
search
update
import
upsert
export
The user’s given name.The length can be 1-150 characters and it can contain any UTF-8 character.
object[]
Detailed information about the guardian backup authorization methods the user has set up, including SMS and Recovery Codes.
object[]
search
export
Contains info retrieved from the identity provider with which the user originally authenticates. Users may also link their profile to multiple identity providers; those identities will then also appear in this array. The contents of an individual identity provider object varies by provider, but it will typically include the following:
  • connection (text): Name of the Auth0 connection used to authenticate the user.
  • isSocial (boolean): Whether the connection is a social one.
  • provider (text): Name of the entity that is authenticating the user, such as Facebook, Google, SAML, or your own provider.
  • user_id (text): User’s unique identifier for this connection/provider.
  • profileData (object): User info associated with the connection. When profiles are linked, it is populated with the associated user info for secondary accounts.
In some cases, it will also include an API Access Token to be used with the provider.
string
search
export
IP address associated with the user’s last login.
date time
search
export
Timestamp indicating when the user last logged in. If a user is blocked and logs in, the blocked session updates last_login. If you are using this property from inside a Rule using the user< object, its value will be associated with the login that triggered the rule; this is because rules execute after login.
date time
export
Timestamp indicating the last time the user’s password was reset/changed. At user creation, this field does not exist. This property is only available for Database connections.
integer
search
export
Number of times the user has logged in. If a user is blocked and logs in, the blocked session is counted in logins_count.
string[]
export
List of multi-factor providers with which the user is enrolled.
date time
export
Date and time of the last update to a user’s multifactor authentication.
string
search
update
import
upsert
export
The user’s full name.The length can be 1-150 characters and it can contain any UTF-8 character.
string
search
update
import
upsert
export
The user’s nickname.The length can be 1-350 characters and it can contain any UTF-8 character.
string
search
update
export
The user’s phone number. Only valid for users with SMS connections.Phone numbers must be in E.164 format and are validated against the regular expression ^\+[0-9]{1,15}$.
boolean
search
update
export
Indicates whether the user has been verified their phone number. Only valid for users with SMS connections.
string
update
import
upsert
export
string
Name of the tenant being used.
date time
search
export
Timestamp indicating when the user’s profile was last updated/modified. Changes to last_login are considered updates, so most of the time, updated_at will match last_login.
string
search
import
export
(unique) The user’s identifier. Importing allows user records to be synchronized across multiple systems without using mapping tables.
object
search
update
import
upsert
export
Custom fields that store info about a user that does not impact what they can or cannot access, such as work address, home address, or user preferences. To learn more, read Metadata Overview.
string
search
update
import
export
(unique) The user’s username.The default allowed length for usernames is between 1 and 15 characters up to a maximum length of 128 characters. The username field accepts alphanumeric characters without accent marks, automatically converted to lowercase, and the following special characters:
  • at sign, @, but email addresses are not allowed
  • backtick, `
  • caret, ^
  • dollar sign, $
  • exclamation mark, !
  • minus, -
  • number sign, #
  • period, .
  • plus, +
  • single quote, '
  • tilde, ~
  • underscore, _
No other characters/symbols are allowed, and Auth0 does not validate or sanitize custom database inputs.

Password validation

Auth0 accepts a specific validation schema for passwords:
  • password: The minimum password length you can set is 1 byte, while the maximum is 72 bytes. Passwords support ASCII characters in the range of 33-126.
  • password_hash (text): Hashed password for the user’s connection. When users are created, Auth0 uses bcrypt to secure the password. Importing compatible hashed passwords allows users to retain their passwords, thereby providing a smoother experience. Compatible passwords should be hashed using bcrypt {"$2a$"} or {"$2b$"} and have 10 saltRounds. You can provide this field only when the user is first imported; you cannot update it later.
  • custom_password_hash (object): Hashed password for the user’s connection when created using an alternate algorithm. Used in place of the password_hash field. During the bulk import process, you can update the custom_password_hash if the user did not login using the initially imported custom_password_hash.

User profile examples

This is a sample user profile from a user that logged in through Google:
This is a sample profile from Microsoft Account:
This is a sample profile from Office 365 (Microsoft Azure Active Directory):
This is a sample profile from ADFS (Active Directory Federation Services):