> ## Documentation Index
> Fetch the complete documentation index at: https://docs-staging-quickstart-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Learn how to create login page templates for the Universal Login experience.

# Customize Universal Login Page Templates

You can customize <Tooltip tip="Universal Login: Your application redirects to Universal Login, hosted on Auth0's Authorization Server, to verify a user's identity." cta="View Glossary" href="/docs/glossary?term=Universal+Login">Universal Login</Tooltip> pages by providing a page template created with the [Liquid template language](https://shopify.github.io/liquid/basics/introduction/). With page templates, you can define the content displayed around Universal Login prompts, such as the login box or an <Tooltip tip="Multi-factor authentication (MFA): User authentication process that uses a factor in addition to username and password such as a code via SMS." cta="View Glossary" href="/docs/glossary?term=MFA">MFA</Tooltip> challenge. As the same page template is used for all login flow pages, this method of customization allows you to easily implement a consistent, branded experience for users.

To use customized page templates, you must configure a [Custom Domain](/docs/customize/custom-domains) for your tenant. Further, you can only update Universal Login page templates with the [Management API](https://auth0.com/docs/api/management/v2).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  The term `prompt` refers to a specific step of the login flow, such as the sign-up page or an MFA challenge. The variables and code samples on this page may use the term `prompt` or the term `widget`. While these terms are synonymous in the context of Universal Login, they are **not** interchangeable within your code.  To ensure successful customization, verify you are using the appropriate term listed for any elements you add to your code.
</Callout>

## Page template requirements

When creating a Universal Login page template, you must include the following tags:

<table class="table">
  <thead>
    <tr>
      <th><strong>Tag</strong></th>
      <th><strong>Description</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>auth0:widget</code></td>
      <td>Contains HTML for the prompt displayed on every page of the login flow, such as the Login page or Reset Password page</td>
    </tr>

    <tr>
      <td><code>auth0:head</code></td>
      <td>Contains the tags required for rendering the prompt</td>
    </tr>
  </tbody>
</table>

To center the prompt on the page, add `class="_widget-auto-layout"` to the `<body>` element. You can omit this attribute to manually position the prompt as needed.

<Warning>
  **Page template limitations:**

  * CSS class names change each time Auth0 builds the project. Custom CSS that targets these classes will break with each new build.
  * The HTML structure of Universal Login pages is subject to change. Avoid customizations that rely on the HTML structure to prevent any interruptions.

  To learn more, review [CSS customization](#css-customization).
</Warning>

##### Example template:

The following example demonstrates the simplest Universal Login page template you can create with the required tags:

```liquid lines
<!DOCTYPE html>
{% assign resolved_dir = dir | default: "auto" %}
<html lang="{{locale}}" dir="{{resolved_dir}}">
  <head>
    {%- auth0:head -%}
  </head>
  <body class="_widget-auto-layout">
    {%- auth0:widget -%}
  </body>
</html>
```

<Warning>
  If you use Storybook to view your template, be aware that the `<script>` tag breaks the rendering as it cannot parse these tags correctly.  As a workaround, use backticks (\`) and plus sign (+) characters to properly inject the `<script>` tag into your template code.

  **Example**:

  ``<scr`+`ipt>console.log("test");</scr`+`ipt>``
</Warning>

## Page template variables

Page templates support a variety of context variables that impact how a page is rendered.

For example, you can use these variables to:

* Render different content depending on the application associated with the login flow. For example, you may manage two brands that require different page designs.
* Render different content depending on the specific prompt. For example, you may want to add information about what your application offers on the Login page but prefer the MFA flow to only display the MFA challenge prompt.
* Add a footer with user support information, such as links to your support page or contact information.

### Available variables

Page templates support the following variables:

#### Application

<table class="table">
  <thead>
    <tr>
      <th><strong>Variable</strong></th>
      <th><strong>Description</strong></th>
      <th><strong>Example</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>application.id</code></td>
      <td>Your application client ID</td>
      <td>XXXXXXXXXXXXXXXXXXXXXXXXX</td>
    </tr>

    <tr>
      <td><code>application.name</code></td>
      <td>The name of your application</td>
      <td>My Application</td>
    </tr>

    <tr>
      <td><code>application.logo\_url</code></td>
      <td>URL of the application logo</td>
      <td>`https://example.com/mylogo.png`</td>
    </tr>

    <tr>
      <td><code>application.metadata</code></td>
      <td>Your application metadata</td>

      <td>
        ```json lines
        {
          "attribute1": "value",
          "attribute2": "value",
          "attribute3": "value"
        }
        ```
      </td>
    </tr>
  </tbody>
</table>

#### Branding

<table class="table">
  <thead>
    <tr>
      <th><strong>Variable</strong></th>
      <th><strong>Description</strong></th>
      <th><strong>Example</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>branding.logo\_url</code></td>
      <td>URL of your application logo</td>
      <td>`https://example.com/mylogo.png`</td>
    </tr>

    <tr>
      <td><code>branding.colors.primary</code></td>
      <td>Your primary branding color</td>
      <td>#000000</td>
    </tr>

    <tr>
      <td><code>branding.colors.page\_background</code></td>
      <td>Background color for Universal Login pages</td>
      <td>#FFFFFF</td>
    </tr>
  </tbody>
</table>

#### Tenant

<table class="table">
  <thead>
    <tr>
      <th><strong>Variable</strong></th>
      <th><strong>Description</strong></th>
      <th><strong>Example</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>tenant.friendly\_name</code></td>
      <td>Your tenant's display name</td>
      <td>My Tenant</td>
    </tr>

    <tr>
      <td><code>tenant.support\_email</code></td>
      <td>Support email address for your tenant</td>
      <td>[support@example.com](mailto:support@example.com)</td>
    </tr>

    <tr>
      <td><code>tenant.support\_url</code></td>
      <td>Support page URL for your tenant</td>
      <td>`https://example.com/support`</td>
    </tr>

    <tr>
      <td><code>tenant.enabled\_locales</code></td>
      <td>Comma-separated list of locales enabled for your tenant</td>
      <td><code>en, es</code></td>
    </tr>
  </tbody>
</table>

#### Organizations

The following variables refer to the [Auth0 Organizations](/docs/manage-users/organizations/organizations-overview) feature.

<table class="table">
  <thead>
    <tr>
      <th><strong>Variable</strong></th>
      <th><strong>Description</strong></th>
      <th><strong>Example</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>organization.id</code></td>
      <td>ID of Organization</td>
      <td>org\_XXXXXXXXXXXXXXX</td>
    </tr>

    <tr>
      <td><code>organization.display\_name</code></td>
      <td>Display name of Organization</td>
      <td>My Organization</td>
    </tr>

    <tr>
      <td><code>organization.name</code></td>
      <td>Internal name of Organization</td>
      <td>my-organization</td>
    </tr>

    <tr>
      <td><code>organization.metadata</code></td>
      <td>Organization metadata</td>

      <td>
        ```json lines
        {
          "attribute1": "value",
          "attribute2": "value",
          "attribute3": "value"
        }
        ```
      </td>
    </tr>

    <tr>
      <td><code>organization.branding.logo\_url</code></td>
      <td>URL of Organization logo</td>
      <td>`https://example.com/orglogo.png`</td>
    </tr>

    <tr>
      <td><code>organization.branding.colors.primary</code></td>
      <td>Primary branding color for Organization</td>
      <td>#000000</td>
    </tr>

    <tr>
      <td><code>organization.branding.colors.page\_background</code></td>
      <td>Background color for Organization's login pages</td>
      <td>#FFFFFF</td>
    </tr>
  </tbody>
</table>

#### Current user information

You can only use the following variables for pages that render after authentication.

<table class="table">
  <thead>
    <tr>
      <th><strong>Variables</strong></th>
      <th><strong>Description</strong></th>
      <th><strong>Example</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>user.user\_id</code></td>
      <td>ID of the user profile</td>
      <td>auth0|XXXXXXXXXXXXXXXXXXXX</td>
    </tr>

    <tr>
      <td><code>user.picture</code></td>
      <td>URL of the user's profile picture</td>
      <td>`https://example.com/userimage`</td>
    </tr>

    <tr>
      <td><code>user.email</code></td>
      <td>Email address of user</td>
      <td>[user@example.com](mailto:user@example.com)</td>
    </tr>

    <tr>
      <td><code>user.email\_verified</code></td>
      <td>Boolean of email verification status (true/false)</td>
      <td>true</td>
    </tr>

    <tr>
      <td><code>user.app\_metadata</code></td>
      <td><code>app\_metadata</code> object of the user profile</td>

      <td>
        ```json lines
        {
          "attribute1": "value",
          "attribute2": "value",
          "attribute3": "value"
        }
        ```
      </td>
    </tr>

    <tr>
      <td><code>user.user\_metadata</code></td>
      <td><code>user\_metadata</code> object of the user profile</td>

      <td>
        ```json lines
        {
          "attribute1": "value",
          "attribute2": "value",
          "attribute3": "value"
        }
        ```
      </td>
    </tr>

    <tr>
      <td><code>user.family\_name</code></td>
      <td>Family (last) name of user</td>
      <td>Smith</td>
    </tr>

    <tr>
      <td><code>user.given\_name</code></td>
      <td>Given (first) name of user</td>
      <td>Abigail</td>
    </tr>

    <tr>
      <td><code>user.name</code></td>
      <td>Full name of user</td>
      <td>Abigail Smith</td>
    </tr>

    <tr>
      <td><code>user.nickname</code></td>
      <td>Nickname (alias) of user</td>
      <td>Abby</td>
    </tr>

    <tr>
      <td><code>user.username</code></td>
      <td>Internal name of user</td>
      <td>asmith</td>
    </tr>
  </tbody>
</table>

#### Current screen information

<table class="table">
  <thead>
    <tr>
      <th><strong>Variables</strong></th>
      <th><strong>Description</strong></th>
      <th><strong>Example</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>dir</code></td>
      <td>Indicates the direction of the element's text.</td>
      <td><code>auto</code>, <code>rtl</code>, <code>ltr</code></td>
    </tr>

    <tr>
      <td><code>locale</code></td>
      <td>Locale used to render the page; matches one of the <a href="/docs/customize/internationalization-and-localization/universal-login-internationalization">supported tenant languages</a></td>
      <td>en-US</td>
    </tr>

    <tr>
      <td><code>prompt.name</code></td>
      <td>Name of the currently rendered <a href="#prompts">Universal Login prompt</a></td>
      <td>mfa</td>
    </tr>

    <tr>
      <td><code>prompt.screen.name</code></td>
      <td>Name of the currently rendered Universal Login screen</td>
      <td>mfa-login-options</td>
    </tr>

    <tr>
      <td><code>prompt.screen.texts</code></td>
      <td>All localized texts from the current screen</td>

      <td>
        ```json lines
        {
          "pageTitle": "Available methods"
        }
        ```
      </td>
    </tr>

    <tr>
      <td><code>state</code></td>
      <td>Renders the current page's state value, which is opaque and used for security purposes.</td>

      <td />
    </tr>
  </tbody>
</table>

### Prompts

The term `prompt` refers to a specific step of the login flow. A specific prompt may consist of one or more screens. You can manage prompts through the [Auth0 Dashboard](https://manage.auth0.com/#/custom_text) or the prompts endpoints of the [Management API](https://auth0.com/docs/api/management/v2).

The sections below provide details for each available prompt.

<AccordionGroup>
  <Accordion title="common">
    ## Screen: redeem-ticket

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/KCEsvkqT5-VRQ297/images/cdy7uua7fh8z/7H4DS8I8fnlUgtS4ttpMyK/90006ee36032cc1ee3d9674fe6bcf575/redeem-ticket.png?fit=max&auto=format&n=KCEsvkqT5-VRQ297&q=85&s=1ad8c1b475945477bc43d9d23ba08673" alt="redeem-ticket reference screenshot" width="550" height="656" data-path="images/cdy7uua7fh8z/7H4DS8I8fnlUgtS4ttpMyK/90006ee36032cc1ee3d9674fe6bcf575/redeem-ticket.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Loading...</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Javascript is not enabled on your browser, please click button to continue.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="consent">
    ## Screen: consent

    <Frame>![consent reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/consent.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Authorize \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Authorize App</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Hi \${userName},</td>
          <td><code>pickerTitle</code></td>
        </tr>

        <tr>
          <td>Tenant and Audience selector</td>
          <td><code>audiencePickerAltText</code></td>
        </tr>

        <tr>
          <td>\$\{clientName} is requesting access to your account.</td>
          <td><code>messageMultipleTenants</code></td>
        </tr>

        <tr>
          <td>$\{clientName} is requesting access to your ${companyName} account.</td>
          <td><code>messageSingleTenant</code></td>
        </tr>

        <tr>
          <td>Accept</td>
          <td><code>acceptButtonText</code></td>
        </tr>

        <tr>
          <td>Decline</td>
          <td><code>declineButtonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Invalid action</td>
          <td><code>invalid-action</code></td>
        </tr>

        <tr>
          <td>Audience is required</td>
          <td><code>invalid-audience</code></td>
        </tr>

        <tr>
          <td>Invalid scope, must be an array</td>
          <td><code>invalid-scope</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="device-flow">
    ## Screen: device-code-activation

    <Frame>![device-code-activation reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/device-code-activation.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your device code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Enter the code displayed on your device</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Enter your one-time code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Device Activation</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Invalid or expired user code</td>
          <td><code>invalid-expired-code</code></td>
        </tr>

        <tr>
          <td>Please enter the code displayed on your device</td>
          <td><code>no-code</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: device-code-activation-allowed

    <Frame>![device-code-activation-allowed reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/device-code-activation-allowed.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Login successful \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Your device is now connected.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Congratulations, you're all set!</td>
          <td><code>eventTitle</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: device-code-activation-denied

    <Frame>![device-code-activation-denied reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/device-code-activation-denied.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Login error \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>We are not able to activate your device.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Activation Denied</td>
          <td><code>eventTitle</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: device-code-confirmation

    <Frame>![device-code-confirmation reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/device-code-confirmation.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Confirm your device code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Please confirm this is the code displayed on your \${clientName}:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Secure code</td>
          <td><code>inputCodeLabel</code></td>
        </tr>

        <tr>
          <td>Device Confirmation</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Confirm</td>
          <td><code>confirmButtonText</code></td>
        </tr>

        <tr>
          <td>Cancel</td>
          <td><code>cancelButtonText</code></td>
        </tr>

        <tr>
          <td>If you did not initiate this action or you do not recognize this device select cancel.</td>
          <td><code>confirmationText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="email-otp-challenge">
    ## Screen: email-otp-challenge

    <Frame>![email-otp-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/email-otp-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your email code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>We've sent an email with your code to \${email}</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Enter the code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive an email?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>You have exceeded the amount of emails. Wait a few minutes and try again.</td>
          <td><code>too-many-email</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="email-verification">
    ## Screen: email-verification-result

    <Frame>![email-verification-result reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/email-verification-result.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Email verification status \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Email Verified</td>
          <td><code>verifiedTitle</code></td>
        </tr>

        <tr>
          <td>Error</td>
          <td><code>errorTitle</code></td>
        </tr>

        <tr>
          <td>Your email address was successfully verified.</td>
          <td><code>verifiedDescription</code></td>
        </tr>

        <tr>
          <td>This account is already verified.</td>
          <td><code>alreadyVerifiedDescription</code></td>
        </tr>

        <tr>
          <td>User account does not exist or the verification code is invalid.</td>
          <td><code>invalidAccountOrCodeDescription</code></td>
        </tr>

        <tr>
          <td>Your email address could not be verified.</td>
          <td><code>unknownErrorDescription</code></td>
        </tr>

        <tr>
          <td>Back to \${clientName}</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>This ticket was expired.</td>
          <td><code>auth0-users-expired-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>This ticket was already used.</td>
          <td><code>auth0-users-used-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="invitation">
    ## Screen: accept-invitation

    <Frame>![accept-invitation reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/accept-invitation.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Accept your invitation to sign up \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>You've Been Invited!</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>$\{inviterName} has invited you (${email}) to join ${companyName} on ${clientName}.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="login">
    ## Screen: login

    <Frame>![login reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/login.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Log in</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Welcome</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Log in to \<%= "${companyName}" %&gt; to continue to &lt;%= "${clientName}" %>.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Or</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Continue with \<%= "{yourConnectionName}" %></td>
          <td><code>federatedConnectionButtonText</code></td>
        </tr>

        <tr>
          <td>Sign up</td>
          <td><code>signupActionLinkText</code></td>
        </tr>

        <tr>
          <td>Don't have an account?</td>
          <td><code>signupActionText</code></td>
        </tr>

        <tr>
          <td>Forgot password?</td>
          <td><code>forgotPasswordText</code></td>
        </tr>

        <tr>
          <td>Password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username or email address</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number</td>
          <td><code>phonePlaceholder</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>usernameOnlyPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone or Username or Email</td>
          <td><code>phoneOrUsernameOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number or Email address</td>
          <td><code>phoneOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone Number or Username</td>
          <td><code>phoneOrUsernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Username or Email address</td>
          <td><code>usernameOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editEmailText</code></td>
        </tr>

        <tr>
          <td>Alerts</td>
          <td><code>alertListTitle</code></td>
        </tr>

        <tr>
          <td>You've Been Invited!</td>
          <td><code>invitationTitle</code></td>
        </tr>

        <tr>
          <td>Log in to accept \<%= "${inviterName}" %&gt;'s invitation to join &lt;%= "${companyName}" %> on \<%= "\${clientName}" %>.</td>
          <td><code>invitationDescription</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Show password</td>
          <td><code>showPasswordText</code></td>
        </tr>

        <tr>
          <td>Hide password</td>
          <td><code>hidePasswordText</code></td>
        </tr>

        <tr>
          <td>Wrong username or password</td>
          <td><code>wrong-credentials</code></td>
        </tr>

        <tr>
          <td>Wrong email or password</td>
          <td><code>wrong-email-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect username or password</td>
          <td><code>wrong-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect phone number or password</td>
          <td><code>wrong-phone-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, username, or password</td>
          <td><code>wrong-email-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, phone number, username, or password. Phone numbers must include the country code.</td>
          <td><code>wrong-email-phone-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, phone number, or password. Phone numbers must include the country code.</td>
          <td><code>wrong-email-phone-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect phone number, username or password. Phone numbers must include the country code.</td>
          <td><code>wrong-phone-username-credentials</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Invalid or expired user code</td>
          <td><code>invalid-expired-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>We are sorry, something went wrong when attempting to log in</td>
          <td><code>authentication-failure</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>invalid-connection</code></td>
        </tr>

        <tr>
          <td>We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.</td>
          <td><code>ip-blocked</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>no-db-connection</code></td>
        </tr>

        <tr>
          <td>We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.</td>
          <td><code>password-breached</code></td>
        </tr>

        <tr>
          <td>Your account has been blocked after multiple consecutive login attempts.</td>
          <td><code>user-blocked</code></td>
        </tr>

        <tr>
          <td>Too many login attempts for this user. Please wait, and try again later.</td>
          <td><code>same-user-login</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Password is required</td>
          <td><code>no-password</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="login-id">
    ## Screen: login-id

    <Frame>![login-id reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/login-id.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Log in</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Welcome</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Log in to \<%= "${companyName}" %&gt; to continue to &lt;%= "${clientName}" %>.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Or</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Continue with \<%= "{yourConnectionName}" %></td>
          <td><code>federatedConnectionButtonText</code></td>
        </tr>

        <tr>
          <td>Can't log in to your account?</td>
          <td><code>forgotPasswordText</code></td>
        </tr>

        <tr>
          <td>Sign up</td>
          <td><code>signupActionLinkText</code></td>
        </tr>

        <tr>
          <td>Don't have an account?</td>
          <td><code>signupActionText</code></td>
        </tr>

        <tr>
          <td>Password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username or email address</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number</td>
          <td><code>phonePlaceholder</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>usernameOnlyPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone or Username or Email</td>
          <td><code>phoneOrUsernameOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number or Email address</td>
          <td><code>phoneOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone Number or Username</td>
          <td><code>phoneOrUsernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Username or Email address</td>
          <td><code>usernameOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editEmailText</code></td>
        </tr>

        <tr>
          <td>Alerts</td>
          <td><code>alertListTitle</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Continue with a passkey</td>
          <td><code>passkeyButtonText</code></td>
        </tr>

        <tr>
          <td>Wrong username or password</td>
          <td><code>wrong-credentials</code></td>
        </tr>

        <tr>
          <td>Wrong email or password</td>
          <td><code>wrong-email-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect username or password</td>
          <td><code>wrong-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect phone number or password</td>
          <td><code>wrong-phone-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, username, or password</td>
          <td><code>wrong-email-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, phone number, username, or password. Phone numbers must include the country code.</td>
          <td><code>wrong-email-phone-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, phone number, or password. Phone numbers must include the country code.</td>
          <td><code>wrong-email-phone-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect phone number, username or password. Phone numbers must include the country code.</td>
          <td><code>wrong-phone-username-credentials</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Invalid or expired user code</td>
          <td><code>invalid-expired-code</code></td>
        </tr>

        <tr>
          <td>Username can only contain alphanumeric characters or: '\<%= "${characters}" %&gt;'. Username should have between &lt;%= "${min}" %> and \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username</code></td>
        </tr>

        <tr>
          <td>Invalid Login ID entered</td>
          <td><code>invalid-login-id</code></td>
        </tr>

        <tr>
          <td>Enter a valid email address or phone number. Phone numbers must include the country code.</td>
          <td><code>invalid-email-phone</code></td>
        </tr>

        <tr>
          <td>Enter a valid email address or username</td>
          <td><code>invalid-email-username</code></td>
        </tr>

        <tr>
          <td>Enter a valid phone number or username. Phone numbers must include the country code.</td>
          <td><code>invalid-phone-username</code></td>
        </tr>

        <tr>
          <td>Enter a valid email address, phone number, or username. Phone numbers must include the country code.</td>
          <td><code>invalid-email-phone-username</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>We are sorry, something went wrong when attempting to log in</td>
          <td><code>authentication-failure</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>invalid-connection</code></td>
        </tr>

        <tr>
          <td>We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.</td>
          <td><code>ip-blocked</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>no-db-connection</code></td>
        </tr>

        <tr>
          <td>Email does not match any enterprise directory</td>
          <td><code>no-hrd-connection</code></td>
        </tr>

        <tr>
          <td>We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.</td>
          <td><code>password-breached</code></td>
        </tr>

        <tr>
          <td>Your account has been blocked after multiple consecutive login attempts.</td>
          <td><code>user-blocked</code></td>
        </tr>

        <tr>
          <td>Too many login attempts for this user. Please wait, and try again later.</td>
          <td><code>same-user-login</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Password is required</td>
          <td><code>no-password</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>

        <tr>
          <td>Enter a valid phone number</td>
          <td><code>invalid-phone-number</code></td>
        </tr>

        <tr>
          <td>Password and passkey are not allowed</td>
          <td><code>conflict-password-passkey</code></td>
        </tr>

        <tr>
          <td>Password is not allowed</td>
          <td><code>password-not-allowed</code></td>
        </tr>

        <tr>
          <td>Passkey is not allowed</td>
          <td><code>passkey-not-allowed</code></td>
        </tr>

        <tr>
          <td>Please select a passkey</td>
          <td><code>no-passkey</code></td>
        </tr>

        <tr>
          <td>Passkey authentication failed</td>
          <td><code>passkey-authentication-failed</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again later.</td>
          <td><code>invalid-passkey</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="login-password">
    ## Screen: login-password

    <Frame>![login-password reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/login-password.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your password to log in</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Enter Your Password</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter your password for \<%= "${companyName}" %&gt; to continue to &lt;%= "${clientName}" %></td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Or</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Continue with \<%= "{yourConnectionName}" %></td>
          <td><code>federatedConnectionButtonText</code></td>
        </tr>

        <tr>
          <td>Sign up</td>
          <td><code>signupActionLinkText</code></td>
        </tr>

        <tr>
          <td>Don't have an account?</td>
          <td><code>signupActionText</code></td>
        </tr>

        <tr>
          <td>Forgot password?</td>
          <td><code>forgotPasswordText</code></td>
        </tr>

        <tr>
          <td>Password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username or email address</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editEmailText</code></td>
        </tr>

        <tr>
          <td>Edit email address</td>
          <td><code>editLinkScreenReadableText</code></td>
        </tr>

        <tr>
          <td>Alerts</td>
          <td><code>alertListTitle</code></td>
        </tr>

        <tr>
          <td>You've Been Invited!</td>
          <td><code>invitationTitle</code></td>
        </tr>

        <tr>
          <td>Log in to accept \<%= "${inviterName}" %&gt;'s invitation to join &lt;%= "${companyName}" %> on \<%= "\${clientName}" %>.</td>
          <td><code>invitationDescription</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Use Fingerprint or Face Recognition</td>
          <td><code>useBiometricsText</code></td>
        </tr>

        <tr>
          <td>Show password</td>
          <td><code>showPasswordText</code></td>
        </tr>

        <tr>
          <td>Hide password</td>
          <td><code>hidePasswordText</code></td>
        </tr>

        <tr>
          <td>Wrong username or password</td>
          <td><code>wrong-credentials</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Invalid or expired user code</td>
          <td><code>invalid-expired-code</code></td>
        </tr>

        <tr>
          <td>Wrong email or password</td>
          <td><code>wrong-email-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect username or password</td>
          <td><code>wrong-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect phone number or password</td>
          <td><code>wrong-phone-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, username, or password</td>
          <td><code>wrong-email-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, phone number, username, or password. Phone numbers must include the country code.</td>
          <td><code>wrong-email-phone-username-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect email address, phone number, or password. Phone numbers must include the country code.</td>
          <td><code>wrong-email-phone-credentials</code></td>
        </tr>

        <tr>
          <td>Incorrect phone number, username or password. Phone numbers must include the country code.</td>
          <td><code>wrong-phone-username-credentials</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>We are sorry, something went wrong when attempting to log in</td>
          <td><code>authentication-failure</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>invalid-connection</code></td>
        </tr>

        <tr>
          <td>We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.</td>
          <td><code>ip-blocked</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>no-db-connection</code></td>
        </tr>

        <tr>
          <td>We have detected a potential security issue with this account. To protect your account, we have prevented this login. Please reset your password to proceed.</td>
          <td><code>password-breached</code></td>
        </tr>

        <tr>
          <td>Your account has been blocked after multiple consecutive login attempts.</td>
          <td><code>user-blocked</code></td>
        </tr>

        <tr>
          <td>Too many login attempts for this user. Please wait, and try again later.</td>
          <td><code>same-user-login</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Password is required</td>
          <td><code>no-password</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="login-passwordless">
    ## Screen: login-passwordless-email-code

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/KCEsvkqT5-VRQ297/images/cdy7uua7fh8z/6zazshkUI5sdFDd2Fgbo6w/0193e17673250b5293d9581e34316c20/login-passwordless-email-code.png?fit=max&auto=format&n=KCEsvkqT5-VRQ297&q=85&s=e95fa5ddca7eb340a4c9d69974ff70fa" alt="login-passwordless-email-code reference screenshot" width="550" height="640" data-path="images/cdy7uua7fh8z/6zazshkUI5sdFDd2Fgbo6w/0193e17673250b5293d9581e34316c20/login-passwordless-email-code.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your email code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>We've sent an email with your code to \${email}</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Enter the code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive an email?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Code is invalid</td>
          <td><code>invalid-verification-code</code></td>
        </tr>

        <tr>
          <td>Code could not be sent. Please try again later.</td>
          <td><code>passwordless-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again later.</td>
          <td><code>passwordless-unknown-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: login-passwordless-email-link

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/KCEsvkqT5-VRQ297/images/cdy7uua7fh8z/7EcEUmoEPC6GVgJjNyTugr/e160cb40af3a0c748ba1f9fe2307488b/login-passwordless-email-link.png?fit=max&auto=format&n=KCEsvkqT5-VRQ297&q=85&s=1e5199ac8c05efb54dd4e865dfe11137" alt="login-passwordless-email-link reference screenshot" width="550" height="640" data-path="images/cdy7uua7fh8z/7EcEUmoEPC6GVgJjNyTugr/e160cb40af3a0c748ba1f9fe2307488b/login-passwordless-email-link.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Email Sign In Link \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Email sent</td>
          <td><code>successTitle</code></td>
        </tr>

        <tr>
          <td>Something went wrong</td>
          <td><code>errorTitle</code></td>
        </tr>

        <tr>
          <td>Email sent. Check your inbox for a login link.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Please try again later.</td>
          <td><code>unknownErrorDescription</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: login-passwordless-sms-otp

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/OF4RJhPvadaf5sdD/images/cdy7uua7fh8z/5dk4vZpc06UojLdnelUInO/f5fb02e0adeeceaa1b8ce6eef8151bc2/login-passwordless-sms-otp.png?fit=max&auto=format&n=OF4RJhPvadaf5sdD&q=85&s=4c099724ed7496765642f1dacb6f6838" alt="login-passwordless-sms-otp reference screenshot" width="550" height="640" data-path="images/cdy7uua7fh8z/5dk4vZpc06UojLdnelUInO/f5fb02e0adeeceaa1b8ce6eef8151bc2/login-passwordless-sms-otp.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We've sent a text message to:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editText</code></td>
        </tr>

        <tr>
          <td>Enter the 6-digit code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a code?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Code is invalid</td>
          <td><code>invalid-verification-code</code></td>
        </tr>

        <tr>
          <td>Code could not be sent. Please try again later.</td>
          <td><code>passwordless-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again later.</td>
          <td><code>passwordless-unknown-error</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="login-email-verification">
    ## Screen: login-email-verification

    <Frame>![login-email-verification reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/login-email-verification.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your email code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>We've sent an email with your code to \${email}</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Enter the code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive an email?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Verify Your Email</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Invalid or expired user code</td>
          <td><code>invalid-expired-code</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>You have exceeded the amount of emails. Wait a few minutes and try again.</td>
          <td><code>too-many-email</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="logout">
    ## Screen: logout

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/MuTsjoV4fPPSGZz9/images/cdy7uua7fh8z/2lXg143oKAF4OlIilbwDCK/d770603ba5203adff07cf4e23e4fcbbb/logout.png?fit=max&auto=format&n=MuTsjoV4fPPSGZz9&q=85&s=0de4925ea4ed8c3e76e2e4a04c779c84" alt="logout reference screenshot" width="550" height="640" data-path="images/cdy7uua7fh8z/2lXg143oKAF4OlIilbwDCK/d770603ba5203adff07cf4e23e4fcbbb/logout.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Logout \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Logout</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Hi \${userName},</td>
          <td><code>userSalute</code></td>
        </tr>

        <tr>
          <td>Are you sure you want to log out from \${clientName}?</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Yes</td>
          <td><code>acceptButtonText</code></td>
        </tr>

        <tr>
          <td>No</td>
          <td><code>declineButtonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa">
    ## Screen: mfa-detect-browser-capabilities

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/95MUIRU4PPeO3xcE/images/cdy7uua7fh8z/2D7DbdMRJ7SdwxEzOYYsLX/595c1436aaa38ed342137c4a5227f4b0/mfa-detect-browser-capabilities.png?fit=max&auto=format&n=95MUIRU4PPeO3xcE&q=85&s=a2253f036c29220907c0ea6641d51819" alt="mfa-detect-browser-capabilities reference screenshot" width="550" height="640" data-path="images/cdy7uua7fh8z/2D7DbdMRJ7SdwxEzOYYsLX/595c1436aaa38ed342137c4a5227f4b0/mfa-detect-browser-capabilities.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Reload</td>
          <td><code>reloadButtonText</code></td>
        </tr>

        <tr>
          <td>JavaScript Required</td>
          <td><code>noJSErrorTitle</code></td>
        </tr>

        <tr>
          <td>Your browser does not have JavaScript enabled. Please enable and press the Reload page button.</td>
          <td><code>noJSErrorDescription</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-enroll-result

    <Frame>![mfa-enroll-result reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-enroll-result.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>MFA enrollment status</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>You're All Set!</td>
          <td><code>enrolledTitle</code></td>
        </tr>

        <tr>
          <td>You have successfully added a new authentication factor.</td>
          <td><code>enrolledDescription</code></td>
        </tr>

        <tr>
          <td>Invalid Link</td>
          <td><code>invalidTicketTitle</code></td>
        </tr>

        <tr>
          <td>This link is invalid or expired.</td>
          <td><code>invalidTicketDescription</code></td>
        </tr>

        <tr>
          <td>Expired Link</td>
          <td><code>expiredTicketTitle</code></td>
        </tr>

        <tr>
          <td>This link is expired.</td>
          <td><code>expiredTicketDescription</code></td>
        </tr>

        <tr>
          <td>Already used</td>
          <td><code>alreadyUsedTitle</code></td>
        </tr>

        <tr>
          <td>This link has already been used. Please get a new link to enroll with Multi-factor Authentication.</td>
          <td><code>alreadyUsedDescription</code></td>
        </tr>

        <tr>
          <td>Two-factor Verification has Already Been Enabled.</td>
          <td><code>alreadyEnrolledDescription</code></td>
        </tr>

        <tr>
          <td>Something Went Wrong</td>
          <td><code>genericError</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-login-options

    <Frame>![mfa-login-options reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-login-options.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>List of other login methods \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Other Methods</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>SMS</td>
          <td><code>authenticatorNamesSMS</code></td>
        </tr>

        <tr>
          <td>Phone</td>
          <td><code>authenticatorNamesVoice</code></td>
        </tr>

        <tr>
          <td>Phone</td>
          <td><code>authenticatorNamesPhone</code></td>
        </tr>

        <tr>
          <td>Notification via \${appName} app</td>
          <td><code>authenticatorNamesPushNotification</code></td>
        </tr>

        <tr>
          <td>Google Authenticator or similar</td>
          <td><code>authenticatorNamesOTP</code></td>
        </tr>

        <tr>
          <td>Email</td>
          <td><code>authenticatorNamesEmail</code></td>
        </tr>

        <tr>
          <td>Recovery code</td>
          <td><code>authenticatorNamesRecoveryCode</code></td>
        </tr>

        <tr>
          <td>Notification via DUO app</td>
          <td><code>authenticatorNamesDUO</code></td>
        </tr>

        <tr>
          <td>Security Key</td>
          <td><code>authenticatorNamesWebauthnRoaming</code></td>
        </tr>

        <tr>
          <td>Fingerprint or Face Recognition</td>
          <td><code>authenticatorNamesWebauthnPlatform</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-begin-enroll-options

    <Frame>![mfa-begin-enroll-options reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-begin-enroll-options.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Add another authentication method \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Keep Your Account Safe</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Add another authentication method.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>SMS</td>
          <td><code>authenticatorNamesSMS</code></td>
        </tr>

        <tr>
          <td>Phone</td>
          <td><code>authenticatorNamesVoice</code></td>
        </tr>

        <tr>
          <td>Phone</td>
          <td><code>authenticatorNamesPhone</code></td>
        </tr>

        <tr>
          <td>Notification via \${appName} app</td>
          <td><code>authenticatorNamesPushNotification</code></td>
        </tr>

        <tr>
          <td>Google Authenticator or similar</td>
          <td><code>authenticatorNamesOTP</code></td>
        </tr>

        <tr>
          <td>Email</td>
          <td><code>authenticatorNamesEmail</code></td>
        </tr>

        <tr>
          <td>Recovery code</td>
          <td><code>authenticatorNamesRecoveryCode</code></td>
        </tr>

        <tr>
          <td>Notification via DUO app</td>
          <td><code>authenticatorNamesDUO</code></td>
        </tr>

        <tr>
          <td>Security Key</td>
          <td><code>authenticatorNamesWebauthnRoaming</code></td>
        </tr>

        <tr>
          <td>Fingerprint or Face Recognition</td>
          <td><code>authenticatorNamesWebauthnPlatform</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-email">
    ## Screen: mfa-email-challenge

    <Frame>![mfa-email-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-email-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your email code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go Back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>We've sent an email with your code to</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter the code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive an email?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>You have exceeded the amount of emails. Wait a few minutes and try again.</td>
          <td><code>too-many-email</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>We couldn't send the email. Please try again later.</td>
          <td><code>mfa-email-challenge-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-email-list

    <Frame>![mfa-email-list reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-email-list.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>List of available email addresses \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Enrolled Email Addresses</td>
          <td><code>title</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-otp">
    ## Screen: mfa-otp-enrollment-qr

    <Frame>![mfa-otp-enrollment-qr reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-otp-enrollment-qr.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Scan the code to log in using a one-time password \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Scan the QR Code below using your preferred authenticator app and then enter the provided one-time code below.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Trouble Scanning?</td>
          <td><code>codeEnrollmentText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your one-time code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Then</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>You are already enrolled on MFA.</td>
          <td><code>user-already-enrolled</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-otp-enrollment-code

    <Frame>![mfa-otp-enrollment-code reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-otp-enrollment-code.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Copy the code to log in using a one-time password \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Secure code to copy</td>
          <td><code>altText</code></td>
        </tr>

        <tr>
          <td>Copy code</td>
          <td><code>copyCodeButtonText</code></td>
        </tr>

        <tr>
          <td>Manually enter the following code into your preferred authenticator app and then enter the provided one-time code below.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your one-time code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-otp-challenge

    <Frame>![mfa-otp-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-otp-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Check your preferred one-time password application for a code.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your one-time code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Use password</td>
          <td><code>usePasswordText</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-phone">
    ## Screen: mfa-phone-challenge

    <Frame>![mfa-phone-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-phone-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use your phone number to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We will send a 6-digit code to the following phone number:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Choose another phone number.</td>
          <td><code>changePhoneText</code></td>
        </tr>

        <tr>
          <td>Text message</td>
          <td><code>smsButtonText</code></td>
        </tr>

        <tr>
          <td>Voice call</td>
          <td><code>voiceButtonText</code></td>
        </tr>

        <tr>
          <td>How do you want to receive the code?</td>
          <td><code>chooseMessageTypeText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your phone number</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>Phone number can only include digits.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>It seems that your phone number is not valid. Please check and retry.</td>
          <td><code>invalid-phone</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-phone-enrollment

    <Frame>![mfa-phone-enrollment reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-phone-enrollment.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone number to log in using a phone code \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter your country code and phone number to which we can send a 6-digit code:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Text message</td>
          <td><code>smsButtonText</code></td>
        </tr>

        <tr>
          <td>Voice call</td>
          <td><code>voiceButtonText</code></td>
        </tr>

        <tr>
          <td>How do you want to receive the code?</td>
          <td><code>chooseMessageTypeText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your phone number</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't send the SMS. Please try again later.</td>
          <td><code>sms-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Phone number can only include digits.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>It seems that your phone number is not valid. Please check and retry.</td>
          <td><code>invalid-phone</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again. \[<strong>note: this error is not typically reachable</strong>]</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-push">
    ## Screen: mfa-push-welcome

    <Frame>![mfa-push-welcome reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-push-welcome.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Install the application \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>In order to continue, install the \${appName} app via the app store from your mobile device.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Google Play</td>
          <td><code>androidButtonText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>App Store</td>
          <td><code>iosButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-push-enrollment-qr

    <Frame>![mfa-push-enrollment-qr reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-push-enrollment-qr.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Scan the code to log in using a push notification \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Scan the QR Code below using the \${appName} app on your mobile device.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>You must scan the QR code with the \${appName} app on your mobile device.</td>
          <td><code>enrollment-transaction-pending</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-push-challenge-push

    <Frame>![mfa-push-challenge-push reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-push-challenge-push.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Accept the push notification to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We’ve sent a notification to the following device via the \${appName} app:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>I've responded on my device</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a notification?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Manually Enter Code</td>
          <td><code>enterOtpCode</code></td>
        </tr>

        <tr>
          <td>OR</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>You must accept the notification via the \${appName} app on your mobile device.</td>
          <td><code>challenge-transaction-pending</code></td>
        </tr>

        <tr>
          <td>We have not received a confirmation, please slow down.</td>
          <td><code>polling-interval-exceeded</code></td>
        </tr>

        <tr>
          <td>We have received too many notification requests. Wait a few minutes and try again.</td>
          <td><code>too-many-push</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>We have not received a confirmation, please try scanning the code again.</td>
          <td><code>mfa-push-verify-transaction-pending</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the enrollment. Please try again later.</td>
          <td><code>mfa-push-verify-authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't send the notification. Please try again later.</td>
          <td><code>mfa-push-challenge-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification rejected</td>
          <td><code>transaction-rejected</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-push-list

    <Frame>![mfa-push-list reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-push-list.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>List of available devices \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Registered Devices</td>
          <td><code>title</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-recovery-code">
    ## Screen: mfa-recovery-code-enrollment

    <Frame>![mfa-recovery-code-enrollment reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-recovery-code-enrollment.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Copy your recovery code for safe keeping \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Almost There!</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Copy this recovery code and keep it somewhere safe. You’ll need it if you ever need to log in without your device.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Secure code to copy</td>
          <td><code>altText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>I have safely recorded this code</td>
          <td><code>checkboxText</code></td>
        </tr>

        <tr>
          <td>Copy code</td>
          <td><code>copyCodeButtonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Please confirm you have recorded the code</td>
          <td><code>no-confirmation</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-recovery-code-challenge

    <Frame>![mfa-recovery-code-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-recovery-code-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your recovery code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter the recovery code you were provided during your initial enrollment.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your recovery code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Recovery code must have 24 alphanumeric characters</td>
          <td><code>invalid-code-format</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>Please confirm you have recorded the code</td>
          <td><code>no-confirmation</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-sms">
    ## Screen: mfa-country-codes

    <Frame>![mfa-country-codes reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-country-codes.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Select your country code \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Select a Country Code</td>
          <td><code>title</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-sms-enrollment

    <Frame>![mfa-sms-enrollment reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-sms-enrollment.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone number to log in using a text message \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter your phone number below. An SMS will be sent to that number with a code to enter on the next screen.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your phone number</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't send the SMS. Please try again later.</td>
          <td><code>sms-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Phone number can only include digits.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>Seems that your phone number is not valid. Please check and retry.</td>
          <td><code>invalid-phone</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-sms-challenge

    <Frame>![mfa-sms-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-sms-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We've sent a text message to:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editText</code></td>
        </tr>

        <tr>
          <td>Edit phone number</td>
          <td><code>editLinkScreenReadableText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter the 6-digit code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a code?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>or</td>
          <td><code>resendVoiceActionSeparatorTextBefore</code></td>
        </tr>

        <tr>
          <td>get a call</td>
          <td><code>resendVoiceActionText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't send the SMS. Please try again later.</td>
          <td><code>sms-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-sms-list

    <Frame>![mfa-sms-list reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-sms-list.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>List of available phone numbers \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Enrolled Phone Numbers</td>
          <td><code>title</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-voice">
    ## Screen: mfa-voice-enrollment

    <Frame>![mfa-voice-enrollment reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-voice-enrollment.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone number to log in using a phone code \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Secure Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter your phone number below. A voice call will be placed on that number with a code to enter on the next screen.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your phone number</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>Phone number can only include digits.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>Seems that your phone number is not valid. Please check and retry.</td>
          <td><code>invalid-phone</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-voice-challenge

    <Frame>![mfa-voice-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-voice-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone code to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We've sent a 6-digit code via voice phone call to the following phone number:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editText</code></td>
        </tr>

        <tr>
          <td>Edit phone number</td>
          <td><code>editLinkScreenReadableText</code></td>
        </tr>

        <tr>
          <td>Choose another phone number.</td>
          <td><code>changePhoneText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter the 6-digit code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Call again</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a call?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>or</td>
          <td><code>resendSmsActionSeparatorTextBefore</code></td>
        </tr>

        <tr>
          <td>send a text</td>
          <td><code>resendSmsActionText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't make the voice call. Please try again later.</td>
          <td><code>voice-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a code</td>
          <td><code>no-code</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="mfa-webauthn">
    ## Screen: mfa-webauthn-platform-enrollment

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/3jbELjzzcIN-z8n3/docs/media/articles/universal-login/text-customization/mfa-webauth-platform-enrollment.png?fit=max&auto=format&n=3jbELjzzcIN-z8n3&q=85&s=376fddd6715f6f6ef0c59aa1c55a7883" alt="mfa-webauthn-enrollment reference screenshot" width="550" height="630" data-path="docs/media/articles/universal-login/text-customization/mfa-webauth-platform-enrollment.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Log in faster on this device \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Log In Faster on This Device</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Trust this device? You can quickly and securely log in the next time using this device's fingerprint or face recognition.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Awaiting device confirmation</td>
          <td><code>awaitingConfirmation</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Remind me later</td>
          <td><code>snoozeEnrollmentButtonText</code></td>
        </tr>

        <tr>
          <td>Not on this device</td>
          <td><code>refuseAddingDeviceText</code></td>
        </tr>

        <tr>
          <td>Not now</td>
          <td><code>skipAddingDeviceText</code></td>
        </tr>

        <tr>
          <td>We could not start the device enrollment. Please try again later.</td>
          <td><code>webauthn-platform-associate-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-roaming-enrollment

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/3jbELjzzcIN-z8n3/docs/media/articles/universal-login/text-customization/mfa-webauth-roaming-enrollment.png?fit=max&auto=format&n=3jbELjzzcIN-z8n3&q=85&s=b413091fbad776926275a8a42010022b" alt="mfa-webauthn-guidance-enrollment reference screenshot" width="525" height="642" data-path="docs/media/articles/universal-login/text-customization/mfa-webauth-roaming-enrollment.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Register your security key \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Adding Your Security Key</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Security Keys can be used as an additional authentication factor.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Awaiting Security Key</td>
          <td><code>awaitingConfirmation</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Use security key</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Connect your Security Key and continue.</td>
          <td><code>instructions1</code></td>
        </tr>

        <tr>
          <td>Follow the steps on the browser.</td>
          <td><code>instructions2</code></td>
        </tr>

        <tr>
          <td>Name your Security Key to easily identify it later.</td>
          <td><code>instructions3</code></td>
        </tr>

        <tr>
          <td>We could not start the security key enrollment. Please try again later.</td>
          <td><code>webauthn-associate-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-platform-challenge

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/3jbELjzzcIN-z8n3/docs/media/articles/universal-login/text-customization/mfa-webauth-platform-challenge.png?fit=max&auto=format&n=3jbELjzzcIN-z8n3&q=85&s=32847e72520075db1882d5bc680297ff" alt="mfa-webauthn-challenge-user-initiated reference screenshot" width="514" height="642" data-path="docs/media/articles/universal-login/text-customization/mfa-webauth-platform-challenge.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use fingerprint or face recognition to login \${clientName}</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Press the button below and follow your browser's steps to log in.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Awaiting device confirmation</td>
          <td><code>awaitingConfirmation</code></td>
        </tr>

        <tr>
          <td>Too many failed authentication attempts. Please try again later.</td>
          <td><code>too-many-webauthn-challenge-attempts-error</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Use password</td>
          <td><code>usePasswordText</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>We could not start the device verification. Please try again later.</td>
          <td><code>webauthn-platform-challenge-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-roaming-challenge

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/3jbELjzzcIN-z8n3/docs/media/articles/universal-login/text-customization/mfa-webauth-roaming-challenge.png?fit=max&auto=format&n=3jbELjzzcIN-z8n3&q=85&s=35ed9103422f149b274fc53893873a8a" alt="mfa-webauthn-challenge-user-initiated reference screenshot" width="495" height="642" data-path="docs/media/articles/universal-login/text-customization/mfa-webauth-roaming-challenge.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use your security key to log in \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Make sure your Security Key is nearby. Once you continue, you will be prompted to use it.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Awaiting Security Key</td>
          <td><code>awaitingConfirmation</code></td>
        </tr>

        <tr>
          <td>Too many failed authentication attempts. Please try again later.</td>
          <td><code>too-many-webauthn-challenge-attempts-error</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Use security key</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>We could not start the security key verification. Please try again later.</td>
          <td><code>webauthn-challenge-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-change-key-nickname

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/3jbELjzzcIN-z8n3/docs/media/articles/universal-login/text-customization/mfa-webauth-change-key-nickname.png?fit=max&auto=format&n=3jbELjzzcIN-z8n3&q=85&s=2b8f27d2cb995e75e2415f501d12ef2f" alt="mfa-webauthn-change-key-nickname reference screenshot" width="511" height="642" data-path="docs/media/articles/universal-login/text-customization/mfa-webauth-change-key-nickname.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Name your security key \${clientName}</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>If you own multiple keys, this alias will help you identify the right one.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>\$\{userName}'s key</td>
          <td><code>nickname</code></td>
        </tr>

        <tr>
          <td>Security key name</td>
          <td><code>nicknamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Name your device</td>
          <td>\$\{clientName}</td>
        </tr>

        <tr>
          <td>If you own multiple devices, this alias will help you identify the right one.</td>
          <td><code>descriptionPlatform</code></td>
        </tr>

        <tr>
          <td>$\{userName}'s ${deviceName}</td>
          <td><code>nicknamePlatform</code></td>
        </tr>

        <tr>
          <td>Device name</td>
          <td><code>nicknamePlaceholderPlatform</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>We could not update your key's name. Please try again.</td>
          <td><code>webauthn-patch-nickname-error</code></td>
        </tr>

        <tr>
          <td>We could not update your Device's name. Please try again.</td>
          <td><code>webauthn-platform-patch-nickname-error</code></td>
        </tr>

        <tr>
          <td>Name is required</td>
          <td><code>no-nickname</code></td>
        </tr>

        <tr>
          <td>Name is too short</td>
          <td><code>nickname-too-short</code></td>
        </tr>

        <tr>
          <td>Name is too long</td>
          <td><code>nickname-too-long</code></td>
        </tr>

        <tr>
          <td>An error occurred while retrieving your information. Please try again.</td>
          <td><code>error-while-retrieving-authenticator</code></td>
        </tr>

        <tr>
          <td>An error occurred while trying to save the name . Please try again.</td>
          <td><code>error-while-patching</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-enrollment-success

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/3jbELjzzcIN-z8n3/docs/media/articles/universal-login/text-customization/mfa-webauthn-enrollment-success.png?fit=max&auto=format&n=3jbELjzzcIN-z8n3&q=85&s=b0fefb5d2c799a0df664da2f684fe11e" alt="mfa-webauthn-enrollment-success reference screenshot" width="550" height="640" data-path="docs/media/articles/universal-login/text-customization/mfa-webauthn-enrollment-success.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Security key successful \${clientName}</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Device registration successful \${clientName}</td>
          <td><code>titlePlatform</code></td>
        </tr>

        <tr>
          <td>You have successfully registered your Security Key.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>You have successfully registered your device.</td>
          <td><code>descriptionPlatform</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-error

    <Frame>![mfa-webauthn-error reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-webauthn-error.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Try again</td>
          <td><code>tryAgainLinkText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Security key registration error</td>
          <td>\$\{clientName}</td>
        </tr>

        <tr>
          <td>Security Key Verification Failed</td>
          <td><code>errorTitleChallenge</code></td>
        </tr>

        <tr>
          <td>Device registration error</td>
          <td>\$\{clientName}</td>
        </tr>

        <tr>
          <td>Something Went Wrong</td>
          <td><code>errorTitlePlatformChallenge</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again or try using another method.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>If you already registered this device, please try again. If not, try using another method.</td>
          <td><code>descriptionPlatform</code></td>
        </tr>

        <tr>
          <td>No Thanks</td>
          <td><code>refuseAddingAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Use password</td>
          <td><code>usePasswordText</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: mfa-webauthn-not-available-error

    <Frame>![mfa-webauthn-not-available-error reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/mfa-webauthn-not-available-error.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Security keys are not supported \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Security Keys Are Not Supported</td>
          <td><code>errorTitle</code></td>
        </tr>

        <tr>
          <td>We are sorry but your browser or device does not support Security Keys. Try using another browser or log in from another device.</td>
          <td><code>errorDescription</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Use password</td>
          <td><code>usePasswordText</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="organizations">
    ## Screen: organization-selection

    <Frame>![organization-selection reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/organization-selection.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your organization \${clientName}</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Enter your \${companyName} Organization Name to continue</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Enter your Organization Name</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Enter Organization</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>The organization you entered is invalid</td>
          <td><code>invalid-organization</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: organization-picker

    <Frame>![organization-picker reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/organization-picker-rev2.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Choose an Organization</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>is a part of multiple organizations.</td>
          <td><code>loggedInText</code></td>
        </tr>

        <tr>
          <td>is used as a personal account and is a part of multiple organizations.</td>
          <td><code>loggedInTextB2C</code></td>
        </tr>

        <tr>
          <td>Choose an Organization</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Choose an Account to Continue</td>
          <td><code>titleB2C</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OR</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue with personal account</td>
          <td><code>continueTextB2C</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="reset-password">
    ## Screen: reset-password-request

    <Frame>![reset-password-request reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-request.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Reset your password</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Forgot Your Password?</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Back to \<%= "\${clientName}" %></td>
          <td><code>backToLoginLinkText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Enter your email address and we will send you instructions to reset your password.</td>
          <td><code>descriptionEmail</code></td>
        </tr>

        <tr>
          <td>Enter your username and we will send you instructions to reset your password.</td>
          <td><code>descriptionUsername</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>placeholderEmail</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>placeholderUsername</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number</td>
          <td><code>phonePlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone or Username or Email</td>
          <td><code>phoneOrUsernameOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number or Email address</td>
          <td><code>phoneOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone Number or Username</td>
          <td><code>phoneOrUsernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Username or Email address</td>
          <td><code>usernameOrEmailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Enter your Email address and we will send you instructions to reset your password.</td>
          <td><code>emailDescription</code></td>
        </tr>

        <tr>
          <td>Enter your Username and we will send you instructions to reset your password.</td>
          <td><code>usernameDescription</code></td>
        </tr>

        <tr>
          <td>Enter your Phone number and we will send you instructions to reset your password.</td>
          <td><code>phoneDescription</code></td>
        </tr>

        <tr>
          <td>Enter your Phone number or Username or Email address and we will send you instructions to reset your password.</td>
          <td><code>phoneOrUsernameOrEmailDescription</code></td>
        </tr>

        <tr>
          <td>Enter your Phone number or Email address and we will send you instructions to reset your password.</td>
          <td><code>phoneOrEmailDescription</code></td>
        </tr>

        <tr>
          <td>Enter your Phone number or Username and we will send you instructions to reset your password.</td>
          <td><code>phoneOrUsernameDescription</code></td>
        </tr>

        <tr>
          <td>Enter your Username or Email address and we will send you instructions to reset your password.</td>
          <td><code>usernameOrEmailDescription</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>This ticket was expired.</td>
          <td><code>auth0-users-expired-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>This ticket was already used.</td>
          <td><code>auth0-users-used-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>We had a problem sending the email, please try again later.</td>
          <td><code>reset-password-error</code></td>
        </tr>

        <tr>
          <td>You have exceeded the amount of emails. Wait a few minutes and try again.</td>
          <td><code>too-many-email</code></td>
        </tr>

        <tr>
          <td>You have exceeded the amount of emails. Wait a few minutes and try again.</td>
          <td><code>too-many-requests</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone\_number</code></td>
        </tr>

        <tr>
          <td>Phone number is not valid.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>Invalid Login ID entered</td>
          <td><code>invalid-login-id</code></td>
        </tr>

        <tr>
          <td>Enter a valid email address or phone number. Phone numbers must include the country code.</td>
          <td><code>invalid-email-phone</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-email

    <Frame>![reset-password-email reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-email.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Check your email</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Check Your Email</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backButtonText</code></td>
        </tr>

        <tr>
          <td>Please check the email address \<%= "\${email}" %> for instructions to reset your password.</td>
          <td><code>emailDescription</code></td>
        </tr>

        <tr>
          <td>Resend email</td>
          <td><code>resendLinkText</code></td>
        </tr>

        <tr>
          <td>Please check the email address associated with the username \<%= "\${email}" %> for instructions to reset your password.</td>
          <td><code>usernameDescription</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password

    <Frame>![reset-password reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Reset your password</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Change Your Password</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter a new password below to change your password.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Reset password</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>New password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Re-enter new password</td>
          <td><code>reEnterpasswordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Your password must contain:</td>
          <td><code>passwordSecurityText</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Show password</td>
          <td><code>showPasswordText</code></td>
        </tr>

        <tr>
          <td>Hide password</td>
          <td><code>hidePasswordText</code></td>
        </tr>

        <tr>
          <td>Fail</td>
          <td><code>accessibilityError</code></td>
        </tr>

        <tr>
          <td>Pass</td>
          <td><code>accessibilityValid</code></td>
        </tr>

        <tr>
          <td>This ticket was expired.</td>
          <td><code>auth0-users-expired-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>This ticket was already used.</td>
          <td><code>auth0-users-used-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>Enter a new password.</td>
          <td><code>no-password-reset</code></td>
        </tr>

        <tr>
          <td>New password confirmation is missing</td>
          <td><code>no-re-enter-password</code></td>
        </tr>

        <tr>
          <td>Password contains user information</td>
          <td><code>password-contains-user-information</code></td>
        </tr>

        <tr>
          <td>Passwords don't match</td>
          <td><code>password-mismatch</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-success

    <Frame>![reset-password-success reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-success.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Password reset successful</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Password Changed!</td>
          <td><code>eventTitle</code></td>
        </tr>

        <tr>
          <td>Your password has been changed successfully.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Back to \<%= "\${clientName}" %></td>
          <td><code>buttonText</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-error

    <Frame>![reset-password-error reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-error.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Password reset error</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Back to \<%= "\${clientName}" %></td>
          <td><code>backToLoginLinkText</code></td>
        </tr>

        <tr>
          <td>To reset your password, return to the login page and select "Forgot Your Password" to send a new email.</td>
          <td><code>descriptionExpired</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please return to the login page and select "Forgot Your Password" to try again.</td>
          <td><code>descriptionGeneric</code></td>
        </tr>

        <tr>
          <td>This link has already been used. To reset your password, return to the login page and select "Forgot Your Password" to send a new email.</td>
          <td><code>descriptionUsed</code></td>
        </tr>

        <tr>
          <td>Link Expired</td>
          <td><code>eventTitleExpired</code></td>
        </tr>

        <tr>
          <td>Please Try Again</td>
          <td><code>eventTitleGeneric</code></td>
        </tr>

        <tr>
          <td>Invalid Link</td>
          <td><code>eventTitleUsed</code></td>
        </tr>

        <tr>
          <td>This ticket was expired.</td>
          <td><code>auth0-users-expired-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>This ticket was already used.</td>
          <td><code>auth0-users-used-ticket</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>We had a problem sending the email, please try again later.</td>
          <td><code>reset-password-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-email-challenge

    <Frame>![reset-password-mfa-email-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-email-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Go Back</td>
          <td><code>backText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>We've sent an email with your code to</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter the code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive an email?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>You have exceeded the amount of emails. Wait a few minutes and try again.</td>
          <td><code>too-many-email</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>We couldn't send the email. Please try again later.</td>
          <td><code>mfa-email-challenge-authenticator-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-otp-challenge

    <Frame>![reset-password-mfa-otp-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-otp-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Check your preferred one-time password application for a code.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your one-time code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Use password</td>
          <td><code>usePasswordText</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-phone-challenge

    <Frame>![reset-password-mfa-phone-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-phone-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We will send a 6-digit code to the following phone number:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Choose another phone number.</td>
          <td><code>changePhoneText</code></td>
        </tr>

        <tr>
          <td>Text message</td>
          <td><code>smsButtonText</code></td>
        </tr>

        <tr>
          <td>Voice call</td>
          <td><code>voiceButtonText</code></td>
        </tr>

        <tr>
          <td>How do you want to receive the code?</td>
          <td><code>chooseMessageTypeText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your phone number</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>Phone number can only include digits.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>It seems that your phone number is not valid. Please check and retry.</td>
          <td><code>invalid-phone</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-push-challenge-push

    <Frame>![reset-password-mfa-push-challenge-push reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-push-challenge-push.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We’ve sent a notification to the following device via the \<%= "\${appName}" %> app:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>I've responded on my device</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a notification?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>Manually Enter Code</td>
          <td><code>enterOtpCode</code></td>
        </tr>

        <tr>
          <td>OR</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>You must accept the notification via the \<%= "\${appName}" %> app on your mobile device.</td>
          <td><code>challenge-transaction-pending</code></td>
        </tr>

        <tr>
          <td>We have not received a confirmation, please slow down.</td>
          <td><code>polling-interval-exceeded</code></td>
        </tr>

        <tr>
          <td>We have received too many notification requests. Wait a few minutes and try again.</td>
          <td><code>too-many-push</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>We have not received a confirmation, please try scanning the code again.</td>
          <td><code>mfa-push-verify-transaction-pending</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the enrollment. Please try again later.</td>
          <td><code>mfa-push-verify-authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't send the notification. Please try again later.</td>
          <td><code>mfa-push-challenge-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification rejected</td>
          <td><code>transaction-rejected</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-recovery-code-challenge

    <Frame>![reset-password-mfa-recovery-code-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-recovery-code-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Enter the recovery code you were provided during your initial enrollment.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter your recovery code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>Recovery code must have 24 alphanumeric characters</td>
          <td><code>invalid-code-format</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>Please confirm you have recorded the code</td>
          <td><code>no-confirmation</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-sms-challenge

    <Frame>![reset-password-mfa-sms-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-sms-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We've sent a text message to:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editText</code></td>
        </tr>

        <tr>
          <td>Edit phone number</td>
          <td><code>editLinkScreenReadableText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter the 6-digit code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a code?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>or</td>
          <td><code>resendVoiceActionSeparatorTextBefore</code></td>
        </tr>

        <tr>
          <td>get a call</td>
          <td><code>resendVoiceActionText</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't send the SMS. Please try again later.</td>
          <td><code>sms-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-voice-challenge

    <Frame>![reset-password-mfa-voice-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-voice-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your one-time password to change your password for</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We've sent a 6-digit code via voice phone call to the following phone number:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editText</code></td>
        </tr>

        <tr>
          <td>Edit phone number</td>
          <td><code>editLinkScreenReadableText</code></td>
        </tr>

        <tr>
          <td>Choose another phone number.</td>
          <td><code>changePhoneText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Enter the 6-digit code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>Call again</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a call?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>or</td>
          <td><code>resendSmsActionSeparatorTextBefore</code></td>
        </tr>

        <tr>
          <td>send a text</td>
          <td><code>resendSmsActionText</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't make the voice call. Please try again later.</td>
          <td><code>voice-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-webauthn-platform-challenge

    <Frame>![reset-password-mfa-webauthn-platform-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-webauthn-platform-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Verify with fingerprint or face recognition</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Use fingerprint or face recognition to reset password</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Press the button below and follow your browser's steps to log in.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Awaiting device confirmation</td>
          <td><code>awaitingConfirmation</code></td>
        </tr>

        <tr>
          <td>Too many failed authentication attempts. Please try again later.</td>
          <td><code>too-many-webauthn-challenge-attempts-error</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Use password</td>
          <td><code>usePasswordText</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>We could not start the device verification. Please try again later.</td>
          <td><code>webauthn-platform-challenge-error</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: reset-password-mfa-webauthn-roaming-challenge

    <Frame>![reset-password-mfa-webauthn-roaming-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/reset-password-mfa-webauthn-roaming-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use your security key to reset password</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Make sure your Security Key is nearby. Once you continue, you will be prompted to use it.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Awaiting Security Key</td>
          <td><code>awaitingConfirmation</code></td>
        </tr>

        <tr>
          <td>Too many failed authentication attempts. Please try again later.</td>
          <td><code>too-many-webauthn-challenge-attempts-error</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Use security key</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Try another method</td>
          <td><code>pickAuthenticatorText</code></td>
        </tr>

        <tr>
          <td>Remember this device for 30 days</td>
          <td><code>rememberMeText</code></td>
        </tr>

        <tr>
          <td>We could not start the security key verification. Please try again later.</td>
          <td><code>webauthn-challenge-error</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="passkey-enrollment">
    ## Screen: passkey-enrollment

    <Frame>![passkey-enrollment reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/passkey-enrollment.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Create a passkey for <code>\$\{clientName}</code> on this device.</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Log in <code>\$\{clientName}</code>.</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Log in to <code>$\{companyName}</code> to continue to <code>$\{clientName}</code>.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>No need to remember a password.</td>
          <td><code>passkeyBenefit1Title</code></td>
        </tr>

        <tr>
          <td>Webauthn platform icon</td>
          <td><code>passkeyBenefit1ImgAltText</code></td>
        </tr>

        <tr>
          <td>With passkeys, you can use things like your fingerprint or face to login.</td>
          <td><code>passkeyBenefit1Description</code></td>
        </tr>

        <tr>
          <td>Works on all of your devices.</td>
          <td><code>passkeyBenefit2Title</code></td>
        </tr>

        <tr>
          <td>Device globe</td>
          <td><code>passkeyBenefit2ImgAltText</code></td>
        </tr>

        <tr>
          <td>Passkeys will automatically be available across your synced devices.</td>
          <td><code>passkeyBenefit2Description</code></td>
        </tr>

        <tr>
          <td>Keep your account safer.</td>
          <td><code>passkeyBenefit3Title</code></td>
        </tr>

        <tr>
          <td>Shield with check mark.</td>
          <td><code>passkeyBenefit3ImgAltText</code></td>
        </tr>

        <tr>
          <td>Passkeys offer state-of-the-art phishing resistance.</td>
          <td><code>passkeyBenefit3Description</code></td>
        </tr>

        <tr>
          <td>Create a passkey.</td>
          <td><code>createButtonText</code></td>
        </tr>

        <tr>
          <td>Continue without passkeys.</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Create a new passkey.</td>
          <td><code>createButtonResetText</code></td>
        </tr>

        <tr>
          <td>Create a new password.</td>
          <td><code>usePasswordButtonText</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backButtonText</code></td>
        </tr>

        <tr>
          <td>Don't show me this again.</td>
          <td><code>checkboxText</code></td>
        </tr>

        <tr>
          <td>The user already exists.</td>
          <td><code>error\_email-in-use</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>error\_auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>Password and passkey are not allowed.</td>
          <td><code>error\_conflict-password-passkey</code></td>
        </tr>

        <tr>
          <td>Password is not allowed.</td>
          <td><code>error\_password-not-allowed</code></td>
        </tr>

        <tr>
          <td>Passkey is not allowed.</td>
          <td><code>error\_passkey-not-allowed</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again later.</td>
          <td><code>error\_invalid-passkey</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again later.</td>
          <td><code>error\_passkey-enrollment-failure</code></td>
        </tr>

        <tr>
          <td>You have created the maximum number of passkeys for your account.</td>
          <td><code>error\_passkey-enrollment-max-allowed-reached</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="passkey-enrollment-local">
    ## Screen: passkey-enrollment-local

    <Frame>![passkey-enrollment-local reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/passkey-enrollment-local.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Create a passkey for <code>\$\{clientName}</code> on this device.</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Log in <code>\$\{clientName}</code>.</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Log in to <code>$\{companyName}</code> to continue to <code>$\{clientName}</code>.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Sign in quickly with this device.</td>
          <td><code>passkeyBenefit1Title</code></td>
        </tr>

        <tr>
          <td>Lock</td>
          <td><code>passkeyBenefit1ImgAltText</code></td>
        </tr>

        <tr>
          <td>You won't need to use another device's passkey next time you sign in.</td>
          <td><code>passkeyBenefit1Description</code></td>
        </tr>

        <tr>
          <td>No need to remember a password.</td>
          <td><code>passkeyBenefit2Title</code></td>
        </tr>

        <tr>
          <td>Webauthn platform icon.</td>
          <td><code>passkeyBenefit2ImgAltText</code></td>
        </tr>

        <tr>
          <td>With passkeys, you can use things like your fingerprint or face to login.</td>
          <td><code>passkeyBenefit2Description</code></td>
        </tr>

        <tr>
          <td>Create a new passkey.</td>
          <td><code>createButtonText</code></td>
        </tr>

        <tr>
          <td>Continue without a new passkey.</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Don't show me this again.</td>
          <td><code>checkboxText</code></td>
        </tr>

        <tr>
          <td>Something went wrong. Please try again later.</td>
          <td><code>error\_passkey-enrollment-failure</code></td>
        </tr>

        <tr>
          <td>You have created the maximum number of passkeys for your account.</td>
          <td><code>error\_passkey-enrollment-max-allowed-reached</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="phone-identifier-challenge">
    ## Screen: phone-identifier-challenge

    <Frame>![phone-identifier-challenge reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/phone-identifier-challenge.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Enter your phone code to log in</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We've sent a text message to:</td>
          <td><code>smsDescription</code></td>
        </tr>

        <tr>
          <td>We've sent a 6-digit code via voice phone call to the following phone number:</td>
          <td><code>voiceDescription</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backButtonText</code></td>
        </tr>

        <tr>
          <td>Enter the 6-digit code</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>Resend</td>
          <td><code>resendActionText</code></td>
        </tr>

        <tr>
          <td>Didn't receive a code?</td>
          <td><code>resendText</code></td>
        </tr>

        <tr>
          <td>or</td>
          <td><code>resendVoiceActionSeparatorTextBefore</code></td>
        </tr>

        <tr>
          <td>or</td>
          <td><code>resendSmsActionSeparatorTextBefore</code></td>
        </tr>

        <tr>
          <td>send a text</td>
          <td><code>resendSmsActionText</code></td>
        </tr>

        <tr>
          <td>get a call</td>
          <td><code>resendVoiceActionText</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Code has been resent.</td>
          <td><code>resendLimitReachedText</code></td>
        </tr>

        <tr>
          <td>OTP Code must have 6 numeric characters</td>
          <td><code>invalid-otp-code-format</code></td>
        </tr>

        <tr>
          <td>The code you entered is invalid</td>
          <td><code>invalid-code</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>We couldn't verify the code. Please try again later.</td>
          <td><code>authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't make the voice call. Please try again later.</td>
          <td><code>voice-authenticator-error</code></td>
        </tr>

        <tr>
          <td>We couldn't send the SMS. Please try again later.</td>
          <td><code>sms-authenticator-error</code></td>
        </tr>

        <tr>
          <td>Notification was not sent. Try resending the code.</td>
          <td><code>no-transaction-in-progress</code></td>
        </tr>

        <tr>
          <td>Too many failed codes. Wait for some minutes before retrying.</td>
          <td><code>too-many-failures</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="phone-enrollment">
    ## Screen: phone-identifier-enrollment

    <Frame>![phone-identifier-enrollment reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/phone-identifier-enrollment.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use your phone number to log in</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Verify Your Identity</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>We will send a 6-digit code to the following phone number:</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>continueButtonText</code></td>
        </tr>

        <tr>
          <td>Choose another phone number.</td>
          <td><code>changePhoneText</code></td>
        </tr>

        <tr>
          <td>Text message</td>
          <td><code>smsButtonText</code></td>
        </tr>

        <tr>
          <td>Voice call</td>
          <td><code>voiceButtonText</code></td>
        </tr>

        <tr>
          <td>How do you want to receive the code?</td>
          <td><code>chooseMessageTypeText</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backButtonText</code></td>
        </tr>

        <tr>
          <td>Enter your phone number</td>
          <td><code>placeholder</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>There was a problem sending the SMS</td>
          <td><code>send-sms-failed</code></td>
        </tr>

        <tr>
          <td>There was a problem making the voice call</td>
          <td><code>send-voice-failed</code></td>
        </tr>

        <tr>
          <td>Phone number can only include digits.</td>
          <td><code>invalid-phone-format</code></td>
        </tr>

        <tr>
          <td>It seems that your phone number is not valid. Please check and retry.</td>
          <td><code>invalid-phone</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-sms</code></td>
        </tr>

        <tr>
          <td>You have exceeded the maximum number of phone messages per hour. Wait a few minutes and try again.</td>
          <td><code>too-many-voice</code></td>
        </tr>

        <tr>
          <td>Your enrollment transaction expired, you will need to start again.</td>
          <td><code>transaction-not-found</code></td>
        </tr>

        <tr>
          <td>Please enter a phone number</td>
          <td><code>no-phone</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="signup">
    ## Screen: signup

    <Frame>![signup reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/signup.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Sign up</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Welcome</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Sign Up to \<%= "${companyName}" %&gt; to continue to &lt;%= "${clientName}" %>.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Or</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Continue with \<%= "{yourConnectionName}" %></td>
          <td><code>federatedConnectionButtonText</code></td>
        </tr>

        <tr>
          <td>Log in</td>
          <td><code>loginActionLinkText</code></td>
        </tr>

        <tr>
          <td>Already have an account?</td>
          <td><code>loginActionText</code></td>
        </tr>

        <tr>
          <td>Password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Your password must contain:</td>
          <td><code>passwordSecurityText</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number</td>
          <td><code>phonePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address (Optional)</td>
          <td><code>emailOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username (Optional)</td>
          <td><code>usernameOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number (Optional)</td>
          <td><code>phoneOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Show password</td>
          <td><code>showPasswordText</code></td>
        </tr>

        <tr>
          <td>Hide password</td>
          <td><code>hidePasswordText</code></td>
        </tr>

        <tr>
          <td>Fail</td>
          <td><code>accessibilityError</code></td>
        </tr>

        <tr>
          <td>Pass</td>
          <td><code>accessibilityValid</code></td>
        </tr>

        <tr>
          <td>The user already exists.</td>
          <td><code>email-in-use</code></td>
        </tr>

        <tr>
          <td>The password is too weak</td>
          <td><code>password-too-weak</code></td>
        </tr>

        <tr>
          <td>The password is too weak</td>
          <td><code>password-policy-not-conformant</code></td>
        </tr>

        <tr>
          <td>The password is too common</td>
          <td><code>password-too-common</code></td>
        </tr>

        <tr>
          <td>Password has previously been used</td>
          <td><code>password-previously-used</code></td>
        </tr>

        <tr>
          <td>Passwords don't match</td>
          <td><code>password-mismatch</code></td>
        </tr>

        <tr>
          <td>Password contains user information</td>
          <td><code>password-contains-user-information</code></td>
        </tr>

        <tr>
          <td>Username can only contain alphanumeric characters or: '\<%= "${characters}" %&gt;'. Username should have between &lt;%= "${min}" %> and \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username</code></td>
        </tr>

        <tr>
          <td>The username must not be longer than \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username-max-length</code></td>
        </tr>

        <tr>
          <td>The username must have at least \<%= "\${min}" %> characters.</td>
          <td><code>invalid-username-min-length</code></td>
        </tr>

        <tr>
          <td>The username has invalid characters.</td>
          <td><code>invalid-username-invalid-characters</code></td>
        </tr>

        <tr>
          <td>The username cannot be an email.</td>
          <td><code>invalid-username-email-not-allowed</code></td>
        </tr>

        <tr>
          <td>The username provided is in use already.</td>
          <td><code>username-taken</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>invalid-connection</code></td>
        </tr>

        <tr>
          <td>We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.</td>
          <td><code>ip-blocked</code></td>
        </tr>

        <tr>
          <td>Too many signups from the same IP</td>
          <td><code>ip-signup-blocked</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>no-db-connection</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Password is required</td>
          <td><code>no-password</code></td>
        </tr>

        <tr>
          <td>Enter a new password.</td>
          <td><code>no-password-reset</code></td>
        </tr>

        <tr>
          <td>New password confirmation is missing</td>
          <td><code>no-re-enter-password</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>

        <tr>
          <td>At least one identifier is required</td>
          <td><code>no-identifier</code></td>
        </tr>

        <tr>
          <td>This combination of credentials was detected in a public data breach on another website. Before your account is created, please use a different password to keep it secure.</td>
          <td><code>password-breached</code></td>
        </tr>

        <tr>
          <td>We encountered an issue when attempting to sign up with a phone number. Please contact support for assistance.</td>
          <td><code>invalid-phone-attribute-config</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="signup-id">
    ## Screen: signup-id

    <Frame>![signup-id reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/signup-id.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Sign up</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Create Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Sign Up to \<%= "${companyName}" %&gt; to continue to &lt;%= "${clientName}" %>.</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Or</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Phone number</td>
          <td><code>phonePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Continue with \<%= "{yourConnectionName}" %></td>
          <td><code>federatedConnectionButtonText</code></td>
        </tr>

        <tr>
          <td>Log in</td>
          <td><code>loginActionLinkText</code></td>
        </tr>

        <tr>
          <td>Already have an account?</td>
          <td><code>loginActionText</code></td>
        </tr>

        <tr>
          <td>Password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Your password must contain:</td>
          <td><code>passwordSecurityText</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address (Optional)</td>
          <td><code>emailOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username (Optional)</td>
          <td><code>usernameOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number (Optional)</td>
          <td><code>phoneOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>The user already exists.</td>
          <td><code>email-in-use</code></td>
        </tr>

        <tr>
          <td>The password is too weak</td>
          <td><code>password-too-weak</code></td>
        </tr>

        <tr>
          <td>The password is too weak</td>
          <td><code>password-policy-not-conformant</code></td>
        </tr>

        <tr>
          <td>The password is too common</td>
          <td><code>password-too-common</code></td>
        </tr>

        <tr>
          <td>Password has previously been used</td>
          <td><code>password-previously-used</code></td>
        </tr>

        <tr>
          <td>Passwords don't match</td>
          <td><code>password-mismatch</code></td>
        </tr>

        <tr>
          <td>Username can only contain alphanumeric characters or: '\<%= "${characters}" %&gt;'. Username should have between &lt;%= "${min}" %> and \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username</code></td>
        </tr>

        <tr>
          <td>The username must not be longer than \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username-max-length</code></td>
        </tr>

        <tr>
          <td>The username must have at least \<%= "\${min}" %> characters.</td>
          <td><code>invalid-username-min-length</code></td>
        </tr>

        <tr>
          <td>The username has invalid characters.</td>
          <td><code>invalid-username-invalid-characters</code></td>
        </tr>

        <tr>
          <td>The username cannot be an email.</td>
          <td><code>invalid-username-email-not-allowed</code></td>
        </tr>

        <tr>
          <td>The username provided is in use already.</td>
          <td><code>username-taken</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>invalid-connection</code></td>
        </tr>

        <tr>
          <td>We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.</td>
          <td><code>ip-blocked</code></td>
        </tr>

        <tr>
          <td>Too many signups from the same IP</td>
          <td><code>ip-signup-blocked</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>no-db-connection</code></td>
        </tr>

        <tr>
          <td>Email does not match any enterprise directory</td>
          <td><code>no-hrd-connection</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Password is required</td>
          <td><code>no-password</code></td>
        </tr>

        <tr>
          <td>Enter a new password.</td>
          <td><code>no-password-reset</code></td>
        </tr>

        <tr>
          <td>New password confirmation is missing</td>
          <td><code>no-re-enter-password</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>

        <tr>
          <td>At least one identifier is required</td>
          <td><code>no-identifier</code></td>
        </tr>

        <tr>
          <td>Enter a valid phone number</td>
          <td><code>invalid-phone-number</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="signup-password">
    ## Screen: signup-password

    <Frame>![signup-password reference screenshot](https://cdn2.auth0.com/docs/1.14516.0/media/articles/universal-login/text-customization/signup-password.png)</Frame>

    <table class="table">
      <thead>
        <tr>
          <th>Text</th>
          <th>Key</th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Create a password to sign up</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Create Your Account</td>
          <td><code>title</code></td>
        </tr>

        <tr>
          <td>Set your password for \<%= "${companyName}" %&gt; to continue to &lt;%= "${clientName}" %></td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Or</td>
          <td><code>separatorText</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>Phone number</td>
          <td><code>phonePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address</td>
          <td><code>emailPlaceholder</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editEmailText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editPhoneText</code></td>
        </tr>

        <tr>
          <td>Edit</td>
          <td><code>editUsernameText</code></td>
        </tr>

        <tr>
          <td>Edit email address</td>
          <td><code>editLinkScreenReadableText</code></td>
        </tr>

        <tr>
          <td>Continue with \<%= "{yourConnectionName}" %></td>
          <td><code>federatedConnectionButtonText</code></td>
        </tr>

        <tr>
          <td>Log in</td>
          <td><code>loginActionLinkText</code></td>
        </tr>

        <tr>
          <td>Already have an account?</td>
          <td><code>loginActionText</code></td>
        </tr>

        <tr>
          <td>Password</td>
          <td><code>passwordPlaceholder</code></td>
        </tr>

        <tr>
          <td>Your password must contain:</td>
          <td><code>passwordSecurityText</code></td>
        </tr>

        <tr>
          <td>Username</td>
          <td><code>usernamePlaceholder</code></td>
        </tr>

        <tr>
          <td>Email address (Optional)</td>
          <td><code>emailOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Username (Optional)</td>
          <td><code>usernameOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Phone number (Optional)</td>
          <td><code>phoneOptionalPlaceholder</code></td>
        </tr>

        <tr>
          <td>Go back</td>
          <td><code>backButtonText</code></td>
        </tr>

        <tr>
          <td>Accept your invitation to sign up</td>
          <td>\<%= "\${clientName}" %></td>
        </tr>

        <tr>
          <td>Sign Up to accept \<%= "${inviterName}" %&gt;'s invitation to join &lt;%= "${companyName}" %> on \<%= "\${clientName}" %>.</td>
          <td><code>invitationDescription</code></td>
        </tr>

        <tr>
          <td>\<%= "\${companyName}" %></td>
          <td><code>logoAltText</code></td>
        </tr>

        <tr>
          <td>Show password</td>
          <td><code>showPasswordText</code></td>
        </tr>

        <tr>
          <td>Hide password</td>
          <td><code>hidePasswordText</code></td>
        </tr>

        <tr>
          <td>Fail</td>
          <td><code>accessibilityError</code></td>
        </tr>

        <tr>
          <td>Pass</td>
          <td><code>accessibilityValid</code></td>
        </tr>

        <tr>
          <td>The user already exists.</td>
          <td><code>email-in-use</code></td>
        </tr>

        <tr>
          <td>The password is too weak</td>
          <td><code>password-too-weak</code></td>
        </tr>

        <tr>
          <td>The password is too weak</td>
          <td><code>password-policy-not-conformant</code></td>
        </tr>

        <tr>
          <td>The password is too common</td>
          <td><code>password-too-common</code></td>
        </tr>

        <tr>
          <td>Password has previously been used</td>
          <td><code>password-previously-used</code></td>
        </tr>

        <tr>
          <td>Passwords don't match</td>
          <td><code>password-mismatch</code></td>
        </tr>

        <tr>
          <td>Password contains user information</td>
          <td><code>password-contains-user-information</code></td>
        </tr>

        <tr>
          <td>Username can only contain alphanumeric characters or: '\<%= "${characters}" %&gt;'. Username should have between &lt;%= "${min}" %> and \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username</code></td>
        </tr>

        <tr>
          <td>The username must not be longer than \<%= "\${max}" %> characters.</td>
          <td><code>invalid-username-max-length</code></td>
        </tr>

        <tr>
          <td>The username must have at least \<%= "\${min}" %> characters.</td>
          <td><code>invalid-username-min-length</code></td>
        </tr>

        <tr>
          <td>The username has invalid characters.</td>
          <td><code>invalid-username-invalid-characters</code></td>
        </tr>

        <tr>
          <td>The username cannot be an email.</td>
          <td><code>invalid-username-email-not-allowed</code></td>
        </tr>

        <tr>
          <td>The username provided is in use already.</td>
          <td><code>username-taken</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>invalid-connection</code></td>
        </tr>

        <tr>
          <td>We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator.</td>
          <td><code>ip-blocked</code></td>
        </tr>

        <tr>
          <td>Too many signups from the same IP</td>
          <td><code>ip-signup-blocked</code></td>
        </tr>

        <tr>
          <td>Invalid connection</td>
          <td><code>no-db-connection</code></td>
        </tr>

        <tr>
          <td>Please enter an email address</td>
          <td><code>no-email</code></td>
        </tr>

        <tr>
          <td>Password is required</td>
          <td><code>no-password</code></td>
        </tr>

        <tr>
          <td>Enter a new password.</td>
          <td><code>no-password-reset</code></td>
        </tr>

        <tr>
          <td>New password confirmation is missing</td>
          <td><code>no-re-enter-password</code></td>
        </tr>

        <tr>
          <td>Username is required</td>
          <td><code>no-username</code></td>
        </tr>

        <tr>
          <td>Enter a valid phone number</td>
          <td><code>invalid-phone-number</code></td>
        </tr>

        <tr>
          <td>This combination of credentials was detected in a public data breach on another website. Before your account is created, please use a different password to keep it secure.</td>
          <td><code>password-breached</code></td>
        </tr>

        <tr>
          <td>We encountered an issue when attempting to sign up with a phone number. Please contact support for assistance.</td>
          <td><code>invalid-phone-attribute-config</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="status">
    ## Screen: status

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/KCEsvkqT5-VRQ297/images/cdy7uua7fh8z/6sVCv5Bq3QI0rhe21wzU8E/8e03d84d711293ad9dbf13f5f6569994/Screenshot_2025-07-22_at_1.49.06%25C3%25A2__PM.png?fit=max&auto=format&n=KCEsvkqT5-VRQ297&q=85&s=5bfbd7adc41cf9486e57e6f367fb44fe" alt="status reference screenshot" width="396" height="538" data-path="images/cdy7uua7fh8z/6sVCv5Bq3QI0rhe21wzU8E/8e03d84d711293ad9dbf13f5f6569994/Screenshot_2025-07-22_at_1.49.06%C3%A2__PM.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Something Went Wrong</td>
          <td><code>passwordless-no-session-title</code></td>
        </tr>

        <tr>
          <td>The link must be opened on the same device and browser from which you submitted your email address.</td>
          <td><code>passwordless-no-session</code></td>
        </tr>

        <tr>
          <td>Start over from this device or browser</td>
          <td><code>passwordless-no-session-link</code></td>
        </tr>

        <tr>
          <td>Something Went Wrong</td>
          <td><code>mfa-required-title</code></td>
        </tr>

        <tr>
          <td>Two-factor authentication is required to access this application. To enable this, please contact your system administrator.</td>
          <td><code>mfa-required</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>custom-script-error-code</code></td>
        </tr>

        <tr>
          <td>Something went wrong, please try again later.</td>
          <td><code>auth0-users-validation</code></td>
        </tr>

        <tr>
          <td>We are sorry, something went wrong when attempting to log in</td>
          <td><code>authentication-failure</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="brute-force-protection">
    ## Screen: brute-force-protection-unblock

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/jp6vZz7DhptSlPIu/images/cdy7uua7fh8z/7iOAN9mMRsGcnStYmli8iA/e4400cb427cb086119ddccd6e2c18d36/Screenshot_2025-07-22_at_1.34.29%25C3%25A2__PM.png?fit=max&auto=format&n=jp6vZz7DhptSlPIu&q=85&s=bba2c9f7bed9331b91f348004d576c42" alt="brute-force-protection-unblock reference screenshot" width="395" height="554" data-path="images/cdy7uua7fh8z/7iOAN9mMRsGcnStYmli8iA/e4400cb427cb086119ddccd6e2c18d36/Screenshot_2025-07-22_at_1.34.29%C3%A2__PM.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Unblock My Account</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Unblock My Account</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: brute-force-protection-unblock-success

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/R8rXfTj95YBIEuC2/images/cdy7uua7fh8z/49UsY6k83g62qpp4c2at8q/74e93b893cb1495f9c618d02eb62c35d/Screenshot_2025-07-22_at_1.34.45%25C3%25A2__PM.png?fit=max&auto=format&n=R8rXfTj95YBIEuC2&q=85&s=e04208cda0a79a82e5bb54b428fc2c87" alt="brute-force-protection-unblock-success reference screenshot" width="396" height="538" data-path="images/cdy7uua7fh8z/49UsY6k83g62qpp4c2at8q/74e93b893cb1495f9c618d02eb62c35d/Screenshot_2025-07-22_at_1.34.45%C3%A2__PM.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Unblock My Account</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Unblock My Account</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>

    ## Screen: brute-force-protection-unblock-failure

    <Frame>
      <img src="https://mintcdn.com/docs-staging-quickstart-revamp/OF4RJhPvadaf5sdD/images/cdy7uua7fh8z/5Oxo7dieeeH9KtVLAjQiRR/ec4cc47ff2f5123cda905fca904f8e8d/Screenshot_2025-07-22_at_1.34.58%25C3%25A2__PM.png?fit=max&auto=format&n=OF4RJhPvadaf5sdD&q=85&s=0ce1a2da70b7be18682e2f3d87d42c59" alt="brute-force-protection-unblock-failure reference screenshot" width="397" height="540" data-path="images/cdy7uua7fh8z/5Oxo7dieeeH9KtVLAjQiRR/ec4cc47ff2f5123cda905fca904f8e8d/Screenshot_2025-07-22_at_1.34.58%C3%A2__PM.png" />
    </Frame>

    <table class="table">
      <thead>
        <tr>
          <th><strong>Text</strong></th>
          <th><strong>Key</strong></th>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Unblock My Account</td>
          <td><code>pageTitle</code></td>
        </tr>

        <tr>
          <td>Unblock My Account</td>
          <td><code>description</code></td>
        </tr>

        <tr>
          <td>Continue</td>
          <td><code>buttonText</code></td>
        </tr>

        <tr>
          <td>\$\{companyName}</td>
          <td><code>logoAltText</code></td>
        </tr>
      </tbody>
    </table>
  </Accordion>
</AccordionGroup>

### Custom query parameters

You can also use query parameters within the context by passing them to the `/authorize` endpoint when initiating the authentication request. These custom query parameters must have the `ext-` prefix.

The following example uses the `ext-ga` and `ext-test` query parameters to the login page template:

```html lines
<!DOCTYPE html>
<html>
  <head>
    {%- auth0:head -%}
  </head>
  <body>
    {%- auth0:widget -%}
  </body>
  <pre style='background: wheat'>
    <b>Value of the ext-ga parameter:</b>{{ transaction.params.ext-ga }}
    <b>Value of the ext-test parameter:</b>{{ transaction.params.ext-test }}
  </pre>
</html>
```

Custom query parameters have the following limitations:

* Each `ext-` parameter name must be unique
* One authorize request can can contain a maximum of ten ext- parameters
* The `ext-` parameter name must start with ext-, contain only \[a-zA-z0-9\_-], and be a maximum of 28 characters, as in the following: `/^ext-[\w-]{1,28}$/`
* The `ext-` parameter value must contain only \[a-zA-Z0-9-.\*\~@+ /:\_], and be a maximum of 255 characters, as in the following: `/^[-\w.*~@+ /:]{1,255}$/`

### Custom signup prompts

If you use custom signup prompts, you must enable custom page templates. The following is the minimum template that allows custom signup prompts to render:

```html lines
<!DOCTYPE html>
<html>
  <head>
    {%- auth0:head -%}
    <style>
      body._widget-auto-layout {
        --page-background-image: url('https://REPLACE/WITH/YOUR/BACKGROUND/IMAGE.png');
        background-color: var(--page-background-color);
        background-image: var(--page-background-image);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
      }
    </style>
    <title>{{ prompt.screen.texts.pageTitle }}</title>
  </head>
  <body class="_widget-auto-layout">
    {%- auth0:widget -%}
  </body>
</html>
```

To learn more, review [Customize Signup and Login Prompts](/docs/customize/login-pages/universal-login/customize-signup-and-login-prompts).

## Examples

### Login box + image layout

The following template will show the login box to the left, and an image to the right only for the login/signup pages. The rest of the pages will look like the default ones.

```html lines expandable
<!DOCTYPE html>
<html lang="{{locale}}">
  <head>
    {%- auth0:head -%}
    <style>
      body {
        background-image: url("https://images.unsplash.com/photo-1592450865877-e3a318ec3522?ixlib=rb-1.2.1&auto=format&fit=crop&w=2255&q=80");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
      }
      .prompt-wrapper {
        position: relative;
        display: flex;
        align-items: center;
        width: 480px;
        height: 100%;
        justify-content: center;
        background-color: rgb(60,60,60);
      }
    </style>
    <title>{{ prompt.screen.texts.pageTitle }}</title>

  </head>
  <body class="_widget-auto-layout">
    {% if prompt.name == "login" or prompt.name == "signup" %} 
        <div class="prompt-wrapper">
        {%- auth0:widget -%}
        </div>
    {% else %}
        {%- auth0:widget -%}
    {% endif %}
  </body>
</html>
```

<Frame>
  <img src="https://mintcdn.com/docs-staging-quickstart-revamp/KCEsvkqT5-VRQ297/images/cdy7uua7fh8z/7F2LIZ4qVdGqMUNnj66wcP/49dfcd7c5c04c7a4d28b58265ba63378/Login_Screen_-_Background_-_EN.png?fit=max&auto=format&n=KCEsvkqT5-VRQ297&q=85&s=2ab183437625380cb44019ea567b9587" alt="Universal Login box with email username/password and image layout example" width="960" height="741" data-path="images/cdy7uua7fh8z/7F2LIZ4qVdGqMUNnj66wcP/49dfcd7c5c04c7a4d28b58265ba63378/Login_Screen_-_Background_-_EN.png" />
</Frame>

### Page footers

The example below adds a gray footer with links to Privacy Policy and Terms of Services:

```html lines expandable
<!DOCTYPE html><html lang="{{locale}}">
  <head>
    {%- auth0:head -%}
    <style>
      body {
        background-image: radial-gradient(white, rgb(200, 200, 200));
      }
      .footer {
        background-color: rgb(120, 120, 120);
        position: absolute;
        bottom: 0;
        left: 0;
        padding: 16px 0; 
        width: 100%;
        color: white;
        /* Use a high z-index for future-proofing */
        z-index: 10;
      }
      .footer ul {
        text-align: center;
      }
      .footer ul li {
        display: inline-block;
        margin: 0 4px;
      }
      .footer ul li:not(:first-of-type) {
        margin-left: 0;
      }
      .footer ul li:not(:first-of-type)::before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        width: 4px;
        height: 4px;
        margin-right: 4px;
        background-color: white;
        border-radius: 50%;
      }
      .footer a {
        color: white;
      }
    </style>
     <title>{{ prompt.screen.texts.pageTitle }}</title>
  </head>
  <body class="_widget-auto-layout">
    {%- auth0:widget -%}
    <footer class="footer">
      <ul>
        <li><a href="https://company.com/privacy">Privacy Policy</a></li>
        <li><a href="https://company.com/terms">Terms of Service</a></li>
      </ul>
    </footer>
  </body></html>
```

<Frame>
  <img src="https://mintcdn.com/docs-staging-quickstart-revamp/AmyDKn5Na0kFZtbL/images/cdy7uua7fh8z/17BeLStId6jsxSfEnVFPMa/b36afc2aea9203aae4ed8dc8c65447ba/Login_Screen_-_EN.png?fit=max&auto=format&n=AmyDKn5Na0kFZtbL&q=85&s=3e197e8436ffe0045370b55776703ed7" alt="Universal Login box with email address/password and footers layout example" width="2282" height="1774" data-path="images/cdy7uua7fh8z/17BeLStId6jsxSfEnVFPMa/b36afc2aea9203aae4ed8dc8c65447ba/Login_Screen_-_EN.png" />
</Frame>

## Page templates API

To set the page template, you need to use the <Tooltip tip="Management API: A product to allow customers to perform administrative tasks." cta="View Glossary" href="/docs/glossary?term=Management+API">Management API</Tooltip>. You first need to get a Management API token with the `update:branding`, `read:branding`, `delete:branding` scopes. If you are using the `API Explorer Application` to generate tokens, make sure those scopes are enabled for the `Auth0 Management API`.

To set the template, you need to use the following endpoint:

<CodeGroup>
  ```bash cURL lines
  curl --request PUT \
    --url 'https://{yourDomain}/api/v2/branding/templates/universal-login' \
    --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
    --header 'content-type: text/html' \
    --data '<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>'
  ```

  ```csharp C# lines
  var client = new RestClient("https://{yourDomain}/api/v2/branding/templates/universal-login");
  var request = new RestRequest(Method.PUT);
  request.AddHeader("authorization", "Bearer MGMT_API_ACCESS_TOKEN");
  request.AddHeader("content-type", "text/html");
  request.AddParameter("text/html", "
  {%- auth0:head -%}{%- auth0:widget -%}", ParameterType.RequestBody);
  IRestResponse response = client.Execute(request);
  ```

  ```go Go lines expandable
  package main

  import (
  	"fmt"
  	"strings"
  	"net/http"
  	"io/ioutil"
  )

  func main() {

  	url := "https://{yourDomain}/api/v2/branding/templates/universal-login"

  	payload := strings.NewReader("<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>")

  	req, _ := http.NewRequest("PUT", url, payload)

  	req.Header.Add("authorization", "Bearer MGMT_API_ACCESS_TOKEN")
  	req.Header.Add("content-type", "text/html")

  	res, _ := http.DefaultClient.Do(req)

  	defer res.Body.Close()
  	body, _ := ioutil.ReadAll(res.Body)

  	fmt.Println(res)
  	fmt.Println(string(body))

  }
  ```

  ```java Java lines
  HttpResponse<String> response = Unirest.put("https://{yourDomain}/api/v2/branding/templates/universal-login")
    .header("authorization", "Bearer MGMT_API_ACCESS_TOKEN")
    .header("content-type", "text/html")
    .body("<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>")
    .asString();
  ```

  ```javascript Node.JS lines
  var axios = require("axios").default;

  var options = {
    method: 'PUT',
    url: 'https://{yourDomain}/api/v2/branding/templates/universal-login',
    headers: {authorization: 'Bearer MGMT_API_ACCESS_TOKEN', 'content-type': 'text/html'},
    data: '<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>'
  };

  axios.request(options).then(function (response) {
    console.log(response.data);
  }).catch(function (error) {
    console.error(error);
  });
  ```

  ```obj-c Obj-C lines
  #import <Foundation/Foundation.h>

  NSDictionary *headers = @{ @"authorization": @"Bearer MGMT_API_ACCESS_TOKEN",
                             @"content-type": @"text/html" };

  NSData *postData = [[NSData alloc] initWithData:[@"<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>" dataUsingEncoding:NSUTF8StringEncoding]];

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/branding/templates/universal-login"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"PUT"];
  [request setAllHTTPHeaderFields:headers];
  [request setHTTPBody:postData];

  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
  ```

  ```php PHP lines expandable
  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://{yourDomain}/api/v2/branding/templates/universal-login",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_POSTFIELDS => "<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>",
    CURLOPT_HTTPHEADER => [
      "authorization: Bearer MGMT_API_ACCESS_TOKEN",
      "content-type: text/html"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```

  ```python Python lines
  import http.client

  conn = http.client.HTTPSConnection("")

  payload = "<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>"

  headers = {
      'authorization': "Bearer MGMT_API_ACCESS_TOKEN",
      'content-type': "text/html"
      }

  conn.request("PUT", "/{yourDomain}/api/v2/branding/templates/universal-login", payload, headers)

  res = conn.getresponse()
  data = res.read()

  print(data.decode("utf-8"))
  ```

  ```ruby Ruby lines
  require 'uri'
  require 'net/http'
  require 'openssl'

  url = URI("https://{yourDomain}/api/v2/branding/templates/universal-login")

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Put.new(url)
  request["authorization"] = 'Bearer MGMT_API_ACCESS_TOKEN'
  request["content-type"] = 'text/html'
  request.body = "<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>"

  response = http.request(request)
  puts response.read_body
  ```

  ```swift Swift lines expandable
  import Foundation

  let headers = [
    "authorization": "Bearer MGMT_API_ACCESS_TOKEN",
    "content-type": "text/html"
  ]

  let postData = NSData(data: "<!DOCTYPE html><html><head>{%- auth0:head -%}</head><body>{%- auth0:widget -%}</body></html>".data(using: String.Encoding.utf8)!)

  let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/branding/templates/universal-login")! as URL,
                                          cachePolicy: .useProtocolCachePolicy,
                                      timeoutInterval: 10.0)
  request.httpMethod = "PUT"
  request.allHTTPHeaderFields = headers
  request.httpBody = postData as Data

  let session = URLSession.shared
  let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
      print(error)
    } else {
      let httpResponse = response as? HTTPURLResponse
      print(httpResponse)
    }
  })

  dataTask.resume()
  ```
</CodeGroup>

To retrieve the template, you need to use the following endpoint:

<CodeGroup>
  ```bash cURL lines
  curl --request GET \
    --url 'https://{yourDomain}/api/v2/branding/templates/universal-login' \
    --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN'
  ```

  ```csharp C# lines
  var client = new RestClient("https://{yourDomain}/api/v2/branding/templates/universal-login");
  var request = new RestRequest(Method.GET);
  request.AddHeader("authorization", "Bearer MGMT_API_ACCESS_TOKEN");
  IRestResponse response = client.Execute(request);
  ```

  ```go Go lines
  package main

  import (
  	"fmt"
  	"net/http"
  	"io/ioutil"
  )

  func main() {

  	url := "https://{yourDomain}/api/v2/branding/templates/universal-login"

  	req, _ := http.NewRequest("GET", url, nil)

  	req.Header.Add("authorization", "Bearer MGMT_API_ACCESS_TOKEN")

  	res, _ := http.DefaultClient.Do(req)

  	defer res.Body.Close()
  	body, _ := ioutil.ReadAll(res.Body)

  	fmt.Println(res)
  	fmt.Println(string(body))

  }
  ```

  ```java Java lines
  HttpResponse<String> response = Unirest.get("https://{yourDomain}/api/v2/branding/templates/universal-login")
    .header("authorization", "Bearer MGMT_API_ACCESS_TOKEN")
    .asString();
  ```

  ```javascript Node.JS lines
  var axios = require("axios").default;

  var options = {
    method: 'GET',
    url: 'https://{yourDomain}/api/v2/branding/templates/universal-login',
    headers: {authorization: 'Bearer MGMT_API_ACCESS_TOKEN'}
  };

  axios.request(options).then(function (response) {
    console.log(response.data);
  }).catch(function (error) {
    console.error(error);
  });
  ```

  ```obj-c Obj-C lines
  #import <Foundation/Foundation.h>

  NSDictionary *headers = @{ @"authorization": @"Bearer MGMT_API_ACCESS_TOKEN" };

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/branding/templates/universal-login"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"GET"];
  [request setAllHTTPHeaderFields:headers];

  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
  ```

  ```php PHP lines
  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://{yourDomain}/api/v2/branding/templates/universal-login",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
      "authorization: Bearer MGMT_API_ACCESS_TOKEN"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```

  ```python Python lines
  import http.client

  conn = http.client.HTTPSConnection("")

  headers = { 'authorization': "Bearer MGMT_API_ACCESS_TOKEN" }

  conn.request("GET", "/{yourDomain}/api/v2/branding/templates/universal-login", headers=headers)

  res = conn.getresponse()
  data = res.read()

  print(data.decode("utf-8"))
  ```

  ```ruby Ruby lines
  require 'uri'
  require 'net/http'
  require 'openssl'

  url = URI("https://{yourDomain}/api/v2/branding/templates/universal-login")

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Get.new(url)
  request["authorization"] = 'Bearer MGMT_API_ACCESS_TOKEN'

  response = http.request(request)
  puts response.read_body
  ```

  ```swift Swift lines
  import Foundation

  let headers = ["authorization": "Bearer MGMT_API_ACCESS_TOKEN"]

  let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/branding/templates/universal-login")! as URL,
                                          cachePolicy: .useProtocolCachePolicy,
                                      timeoutInterval: 10.0)
  request.httpMethod = "GET"
  request.allHTTPHeaderFields = headers

  let session = URLSession.shared
  let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
      print(error)
    } else {
      let httpResponse = response as? HTTPURLResponse
      print(httpResponse)
    }
  })

  dataTask.resume()
  ```
</CodeGroup>

To delete the template, you need to use the following endpoint:

<CodeGroup>
  ```bash cURL lines
  curl --request DELETE \
    --url 'https://{yourDomain}/api/v2/branding/templates/universal-login' \
    --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN'
  ```

  ```csharp C# lines
  var client = new RestClient("https://{yourDomain}/api/v2/branding/templates/universal-login");
  var request = new RestRequest(Method.DELETE);
  request.AddHeader("authorization", "Bearer MGMT_API_ACCESS_TOKEN");
  IRestResponse response = client.Execute(request);
  ```

  ```go Go lines
  package main

  import (
  	"fmt"
  	"net/http"
  	"io/ioutil"
  )

  func main() {

  	url := "https://{yourDomain}/api/v2/branding/templates/universal-login"

  	req, _ := http.NewRequest("DELETE", url, nil)

  	req.Header.Add("authorization", "Bearer MGMT_API_ACCESS_TOKEN")

  	res, _ := http.DefaultClient.Do(req)

  	defer res.Body.Close()
  	body, _ := ioutil.ReadAll(res.Body)

  	fmt.Println(res)
  	fmt.Println(string(body))

  }
  ```

  ```java Java lines
  HttpResponse<String> response = Unirest.delete("https://{yourDomain}/api/v2/branding/templates/universal-login")
    .header("authorization", "Bearer MGMT_API_ACCESS_TOKEN")
    .asString();
  ```

  ```javascript Node.JS lines
  var axios = require("axios").default;

  var options = {
    method: 'DELETE',
    url: 'https://{yourDomain}/api/v2/branding/templates/universal-login',
    headers: {authorization: 'Bearer MGMT_API_ACCESS_TOKEN'}
  };

  axios.request(options).then(function (response) {
    console.log(response.data);
  }).catch(function (error) {
    console.error(error);
  });
  ```

  ```obj-c Obj-C lines
  #import <Foundation/Foundation.h>

  NSDictionary *headers = @{ @"authorization": @"Bearer MGMT_API_ACCESS_TOKEN" };

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/branding/templates/universal-login"]
                                                         cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                     timeoutInterval:10.0];
  [request setHTTPMethod:@"DELETE"];
  [request setAllHTTPHeaderFields:headers];

  NSURLSession *session = [NSURLSession sharedSession];
  NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                  if (error) {
                                                      NSLog(@"%@", error);
                                                  } else {
                                                      NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                      NSLog(@"%@", httpResponse);
                                                  }
                                              }];
  [dataTask resume];
  ```

  ```php PHP lines
  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://{yourDomain}/api/v2/branding/templates/universal-login",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "DELETE",
    CURLOPT_HTTPHEADER => [
      "authorization: Bearer MGMT_API_ACCESS_TOKEN"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }
  ```

  ```python Python lines
  import http.client

  conn = http.client.HTTPSConnection("")

  headers = { 'authorization': "Bearer MGMT_API_ACCESS_TOKEN" }

  conn.request("DELETE", "/{yourDomain}/api/v2/branding/templates/universal-login", headers=headers)

  res = conn.getresponse()
  data = res.read()

  print(data.decode("utf-8"))
  ```

  ```ruby Ruby lines
  require 'uri'
  require 'net/http'
  require 'openssl'

  url = URI("https://{yourDomain}/api/v2/branding/templates/universal-login")

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Delete.new(url)
  request["authorization"] = 'Bearer MGMT_API_ACCESS_TOKEN'

  response = http.request(request)
  puts response.read_body
  ```

  ```swift Swift lines
  import Foundation

  let headers = ["authorization": "Bearer MGMT_API_ACCESS_TOKEN"]

  let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/branding/templates/universal-login")! as URL,
                                          cachePolicy: .useProtocolCachePolicy,
                                      timeoutInterval: 10.0)
  request.httpMethod = "DELETE"
  request.allHTTPHeaderFields = headers

  let session = URLSession.shared
  let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
    if (error != nil) {
      print(error)
    } else {
      let httpResponse = response as? HTTPURLResponse
      print(httpResponse)
    }
  })

  dataTask.resume()
  ```
</CodeGroup>

The maximum size for the Page Template is 100KB. If that is not big enough, consider moving images/css files outside of the Page Template code.

## CSS customization

<Warning>
  **Page template limitations:**

  * CSS class names change each time Auth0 builds the project. Custom CSS that targets these classes will break with each new build.
  * The HTML structure of Universal Login pages is subject to change. Avoid customizations that rely on the HTML structure to prevent any interruptions.
</Warning>

There are a few things that you can customize using CSS:

* You can resize the login prompt by enclosing the variables below in `<style>` tags in the `<head>` element.

  * Use `--prompt-width` to adjust the container width. Its default value is 400px.
  * For [Forms](/docs/customize/forms): Use `--form-max-width` to set the maximum form width. Its default value is 500px.

    * To apply your code to the Form page only, include `{% if prompt.name == "custom-form" %} in the <head> element`.
* You can use a Google font by importing it and overriding the `--font-family` CSS variable.
* You can hide the tenant logo by adding `class="_hide-prompt-logo"` in the `<body>` element.
* You can specify a custom logo by adding `class="_use-custom-prompt-logo"` in the `<body>` element. This would let you, for example, change the login page logo depending on the application:

```html lines expandable
<!DOCTYPE html>
<html lang="{{locale}}">

  <head>
    <title>Welcome to {{ application.name }} </title>
    {%- auth0:head -%}
    <style>
      :root {
        --prompt-width: 800px;
      }
      {% if application.name == "Auth0 Community" %}
      #custom-prompt-logo {
      background-image: url('https://cdn.auth0.com/manhattan/versions/1.3312.0/assets/badge.png');
      }
      {% elsif application.name == "Auth0 Dashboard" %}
      #custom-prompt-logo {
      background-image: url('https://cdn.auth0.com/blog/auth0rta/theme/logos/auth0-logo-black.png');
      }
      {% endif %}
  </style>

  </head>

  <body class="_widget-auto-layout _use-custom-prompt-logo">
    {%- auth0:widget -%}
  </body>

</html>
```

The current implementation does not support further CSS customization. If you look at the HTML that is generated, you will see code like:

```text lines
.c10d15918.c7b3b8672 {
  background: #D00E17;
}
```

## Using the Auth0 CLI

You can use the [Auth0 CLI](https://github.com/auth0/auth0-cli) to easily update Page Templates.

In the Auth0 CLI, run:

`auth0 universal-login customize`

The Auth0 CLI will open two windows:

* A browser window with a [Storybook](https://storybook.js.org/) that shows the login page with the page template applied:

<Frame>
  <img src="https://mintcdn.com/docs-staging-quickstart-revamp/AmyDKn5Na0kFZtbL/images/cdy7uua7fh8z/1Ms4jj0pdMowoSZi54i72S/a2adcffa34a491ed7a587094884ad0f1/storybook.png?fit=max&auto=format&n=AmyDKn5Na0kFZtbL&q=85&s=4cb44e29d682999fdb1f983014f79c32" alt="Page Templates Storybook" width="2248" height="1924" data-path="images/cdy7uua7fh8z/1Ms4jj0pdMowoSZi54i72S/a2adcffa34a491ed7a587094884ad0f1/storybook.png" />
</Frame>

* The default editor, with the page template code:

<Frame>
  <img src="https://mintcdn.com/docs-staging-quickstart-revamp/d9I4PO9-WombE4fE/images/cdy7uua7fh8z/3fTqpTmRRgVeLu5p8cioWa/e5a5c8a12dc93f5de95f12581ce0e5ff/vs-code.png?fit=max&auto=format&n=d9I4PO9-WombE4fE&q=85&s=63f73da1c130b402dfc4353586bec2f6" alt="undefined" width="1618" height="1974" data-path="images/cdy7uua7fh8z/3fTqpTmRRgVeLu5p8cioWa/e5a5c8a12dc93f5de95f12581ce0e5ff/vs-code.png" />
</Frame>

You can now change the page template code, and you will be able to preview the changes in your browser window.

Once you close the window, you’ll be asked if you want to save the template. If you answer **Yes**, the template will be uploaded to your tenant.

## Troubleshooting

If the template is not being applied, verify that you're navigating to `{customDomain}/authorize`. If you're navigating to `{yourDomain}/authorize`, Auth0 will not render the page template.
