How to customize text for new universal login?

Customize Text for the New Universal Login Experience (

In the documentation page, the API requires a Bearer access token. Where do we get an access token for a single page application?

I need to change the text below “Welcome” as seen in the link below.
Custom Text API for New Universal Login [Product Roadmap: Launched] - Auth0 Community

Hi @jackluo923,

Thanks for joining the Community!

Since you only need to make this request once to update the New Universal Login settings for your tenant, you can use the Management API Explorer.

In your dashboard, go to APIs and select “Auth0 Management API”. Go to the API Explorer tab and authorize the explorer if needed. The token can be copied from this tab:

You can then make the request with cURL or adjust for Postman, etc using the Access Token:

curl --request PUT \
  --url 'https://YOUR_DOMAIN/api/v2/prompts/login/custom-text/en' \
  --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
  --header 'content-type: application/json' \
  --data '{ "login": { "description": "Welcome to ACME'\''s Website" } }'
1 Like

Hi Stephanie,
This is the first thing I tried, however either I am doing it incorrectly or there’s something that I have missed.

The data field I used is the following: --data '{ "login": { "description": "Hello World" } }'

I have tried 3 urls:

  1. https://<tenant_name or our actual domain name>
    response: {"statusCode":401,"error":"Unauthorized","message":"Bad audience: https://<tenant_name or our actual domain name>"}

    response: {"statusCode":401,"error":"Unauthorized","message":"Bad audience: https://<tenant_name>"}

  3. https://<tenant_name>
    response: {"login":{"description":"Hello World"}} , but the new universal login screen text hasn’t changed.

For the Bearer MGMT_API_ACCESS_TOKEN, I have used the one that’s available in the API explorer interface which starts with eyJhbGciOiJSUzI.

It sounds like the domain may be the issue. to get the domain, you can go to any of your application settings and copy the domain value. Use this for the URL https://YOUR_DOMAIN_FROM_APPLICATION_SETTINGS/api/v2/prompts/login/custom-text/en

Hi Stephanie,
The 3rd url type I’ve tried is from the “Domain” field in the single page application settings.
Screenshot 2021-01-25 111507

the resulting URL which I used in the curl --url field is https://<Domain copied and pasted>/api/v2/prompts/login/custom-text/en. The response to this curl request is the --data field in my request, however the login screen text did not change.

Also, now that I think about it, is it possible that I am not presented with English (en) version of the log-in screen? All of the text certainly appears as English and I am located in Canada (above US), however I have no idea how to check what’s presented to me is the English version.

Hm, if it is returning the data, then it should update the login page. Have you tried checking via the “Try it out” link in the “Getting Started” section of the dashboard?

Regarding the language, the New Login Experience will use your tenant settings to determine which language to use. To see which language your tenant is using, go to the general tab in your tenant settings and scroll down to Language

I have tried both the Try it out button and testing via log-in button redirected to log-in page inside a browser incognito tab. In both cases, the universal login page’s message (circled in red) should have been modified to “Hello World” if the response I received from the curl command is response: {"login":{"description":"Hello World"}}. However, as you can see from the screenshot, the message remains as Log in to <company name> to continue to All Applications.

This behavior seems to contradict the results referenced in multiple documentations. That’s why I think there might be some obscure setting or mistake which prevents the feature from working.

With regards to the language, I have confirmed that I only enabled English in the tenant setting and set the custom text to the English sign in portal as well.

1 Like

It looks like you are using the new Identifier First setting for the Universal Login. Do you see your custom text when you set this to Identifier + Password in the Universal Login settings in your dashboard?

If that is the issue, then you can update the Identifier First text by passing login-id instead of login:

{"login-id":{"description":"Hello World"}}

and change the URL to https://<Domain copied and pasted>/api/v2/prompts/login-id/custom-text/en

1 Like

Thank you so much. I understand the problem now. The root cause is that I selected Identifier First initial sign-in screen for the universal login. Therefore, instead of using login api, I should be using login-id to customize the fields.

1 Like

Glad that resolved the issue!

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.