The Auth0 My Account API provides a dedicated set of endpoints for users to manage their own account information. Customers can use these APIs to build self-service experiences in their applications or progressively add details to a user account. The My Account API operates within the context of the currently logged-in user and can be used directly within user-facing applications.Documentation Index
Fetch the complete documentation index at: https://auth0.com/llms.txt
Use this file to discover all available pages before exploring further.
Using Auth0 domain vs. custom domainThe My Account API supports using your canonical Auth0 domain or your custom domain, but you must use the same one throughout the entire process, including:
- Getting an access token
- Setting the
audiencevalue - Calling the My Account API endpoint
Activate the My Account API
You can activate the My Account API for your tenant in the :- Navigate to Applications > APIs.
- Locate the MyAccount API banner.
- Select Activate.

require_client_grantfor user flowsdeny_allfor client (machine-to-machine) flows
allow_all, which allows any application in your tenant to request any scope from the My Account API.
Auth0 does not recommend using allow_all for user access flows because the My Account API exposes sensitive information and operations. You should follow a least privilege principle with My Account API to ensure applications only get access to what they truly need, minimizing potential security risks.
The final permissions granted to the application will be determined by the intersection of the scopes allowed by the application API access policy, the Role-Based Access Control (RBAC) permissions assigned to the end user, and any user consent given (if applicable).
You cannot update the application API policy for client access to the My Account API, which means you cannot access the My Account API using the Client Credentials Flow.
Default Policy setting
The Default Policy provides built-in authentication assurance for the My Account API by requiring Step-up Authentication. When enabled, Auth0 automatically enforces that users have authenticated recently and with a second factor. The policy enforces 2FA within 15 minutes. Auth0 applies this rule at login and on every Refresh Token exchange:- If a user has an enrolled MFA factor, 2FA must be completed at login and again when their tokens are older than 15 minutes.
- If a user has no enrollable factor, Auth0 allows initial access but returns an
unmet_authentication_requirementserror on refresh token exchanges after 15 minutes.
The Default Policy is not compatible with Classic Login. Enable this feature if your tenant uses Universal Login or a supported embedded flow (Resource Owner Password Flow or native passkeys).
Enable Default Policy
To enable the Default Policy for the My Account API:- Navigate to Applications > APIs, then select the My Account API.
- Select the Settings tab.
- Under Default Policy, toggle on Require 2FA.
- Select Save.
Authentication requirements hierarchy
The Default Policy sits between the tenant-level MFA policy and any MFA logic you define in Actions:- Tenant MFA policy — the base default applied across all authentication on your tenant
- Default Policy — overrides the tenant level specifically for the My Account API
- Actions — any MFA commands in Actions always take precedence over both
Default Policy behavior
The behavior depends on whether the user has an enrollable second factor. Users with an enrolled MFA factor For users enrolled with TOTP, email, or another supported factor:- At login, Auth0 challenges the user with their enrolled factor before issuing tokens.
- The refresh token records the authentication method and timestamp (AMR).
- On refresh token exchange within 15 minutes of the last challenge, Auth0 issues a new access token without re-challenging.
- On refresh token exchange after 15 minutes, Auth0 challenges the user again before issuing tokens.
- At login, Auth0 allows access without a second factor.
- On refresh token exchange within 15 minutes, Auth0 issues a new access token without challenge.
- On refresh token exchange after 15 minutes, Auth0 returns an
unmet_authentication_requirementserror.
When
unmet_authentication_requirements is returned on a refresh token exchange, the token cannot be refreshed. Your application must restart the full authentication flow to obtain new tokens.The same error is returned for a silent login (prompt=none) when the user cannot satisfy the policy after 15 minutes.Get an access token
You can get an for the My Account API in the same way you’d get an access token for one of your own APIs.If you need authentication assurance beyond the Default Policy — for example, to require a specific factor or to apply requirements to only certain operations — you can use step-up authentication with Actions to define custom MFA logic. Note that Actions always override the Default Policy.
- Call Your API Using the Authorization Code Flow
- Call Your API Using the Authorization Code Flow with PKCE
Audience
The of the My Account API ishttps://{yourDomain}/me/.
Scope
The My Account API supports the following scopes:| Scope | Description |
|---|---|
create:me:authentication_methods | Allows the user to enroll a new authentication method. |
read:me:authentication_methods | Allows the user to view existing authentication methods. |
update:me:authentication_methods | Allows the user to modify existing authentication methods. |
delete:me:authentication_methods | Allows the user to modify existing authentication methods. |
read:me:factors | Allows the user to view the factors they can enroll. |
| Scope | Description |
|---|---|
create:me:connected_accounts | Allows the user to connect a new account to their user profile. |
read:me:connected_accounts | Allows the user to view the existing connected accounts linked to their user profile. |
delete:me:connected_accounts | Allows the user to delete a connected account from their user profile. |
Examples
Universal Login with authorization code flow
Step 1: Request authorization code
Step 2: Exchange code for access token
Embedded login with native passkeys
Step 1: Request login challenge
Step 2: Authenticate existing user
Rate limits
During Early Access, the My Account API is limited at a tenant level to 25 requests per second.Cross-Origin Requests
If you intend to call the My Account API directly from a browser-based application (like a Single Page Application) running on a different domain than your Auth0 tenant, you will encounter browser security policies known as Cross-Origin Resource Sharing (CORS). By default, browsers block these cross-origin requests. To allow your application to successfully make requests to the API, you must add your application’s domain (its “origin”) to your client’s configuration:- Navigate to Dashboard > Applications. Select the application to view.
- Under Cross-Origin Authentication, toggle on Allow Cross-Origin Authentication.
- Locate Allowed Origins (CORS), and enter your application’s origin URL.
- Select Save.
If you do not need to use CORS for your application, ensure that Allow Cross-Origin Authentication is toggled off. Adding your application’s URL to this list tells Auth0 to trust requests from that origin, allowing your client-side application to access the API.