> ## 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.

> Describes how identifiers like email and phone must be configured in a user tenant.

# Activate and Configure Attributes for Flexible Identifiers

<Warning>
  Enabling Flexible Identifiers on your tenant has the potential to introduce breaking changes to your production environment. For more information on potential problems and limitations, see [Flexible Identifiers and Attributes](/docs/authenticate/database-connections/flexible-identifiers-and-attributes).
</Warning>

## Activate attributes configuration

1. Navigate to [**Auth0 Dashboard > Authentication > Database**](https://manage.auth0.com/#/connections/database), then select the Database Connection you’d like to activate from the list of **Database Connections**.
2. Go to the **Attributes** tab and choose **Activate** on the **New Attributes Configuration** screen, then confirm you’ve tested your configuration in a Development environment.
3. Select **Proceed**. The new configuration options become available.

### Choose Attributes on a new connection

Attributes are added to connections by navigating to [**Auth0 Dashboard > Authentication > Database**](https://manage.auth0.com/#/connections/database).

To create a new connection, choose **+ Create DB Connection** and pick which Attributes to add. To add, configure, or remove Attributes in use by an existing connection, configure an existing connection, choose the **Attributes** tab and follow the instructions below.

Default values are assigned to a new connection and can be edited after the connection has been created.

<table class="table">
  <thead>
    <tr>
      <th>Setting</th>
      <th>Value</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Use <code>\{attribute}</code> as Identifier</td>
      <td><code>True</code></td>
    </tr>

    <tr>
      <td>Allow Signup with <code>\{attribute}</code></td>
      <td>Required</td>
    </tr>

    <tr>
      <td>Require <code>\{attribute}</code> on user profile</td>
      <td><code>True</code></td>
    </tr>

    <tr>
      <td>Username Length</td>
      <td>Min: 1 Max: 15</td>
    </tr>

    <tr>
      <td>Allow usernames in email format</td>
      <td><code>False</code></td>
    </tr>

    <tr>
      <td>Allow usernames in phone number format</td>
      <td><code>False</code></td>
    </tr>
  </tbody>
</table>

### Add Attributes to an existing connection

Navigate to the **Attributes** tab and choose **Activate**, then choose from the available Attributes and select the **Create** option.

<AccordionGroup>
  <Accordion title="Email Available Attributes and Configuration Options for Email Identifier">
    <table class="table">
      <thead>
        <tr>
          <th>Option</th>

          <th />
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use Email as Identifier</td>
          <td>Turning this on will make email an identifier for this connection. Users will be able to use email for login and password reset.</td>
        </tr>

        <tr>
          <td>Allow Signup with Email</td>
          <td>Choose how email will be collected at signup<br /><ul><li>off: Attribute will be blocked from signup flows.</li><li>optional: Attribute will be optional on signup flows.</li><li>required: Signup flows will fail if the attribute is not present.</li></ul><br />Signup flows include:<br /><ul><li>New Universal Login</li><li>Authentication API dbconnections/signup endpoint</li></ul></td>
        </tr>

        <tr>
          <td>Verify email on sign up</td>
          <td>Users will be asked to verify their email address via magic link when signing up.</td>
        </tr>

        <tr>
          <td>Require email on user profile</td>
          <td>Requires email to be present across all operations that create or update a user profile on this connection.<br />Will require email is present on the following:<br /><ul><li>Signup flows</li><li>Creating or updating a user via the Management API</li> <li>Bulk user import</li></ul></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="Phone Available Attributes and Configuration Options for Phone Identifier">
    <table class="table">
      <thead>
        <tr>
          <th>Option</th>

          <th />
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use Phone as Identifier</td>
          <td>Turning this on will make phone\_number an identifier for this connection. Users will be able to use phone\_number for login and password reset.</td>
        </tr>

        <tr>
          <td>Allow Signup with Phone</td>
          <td>Choose how the phone number will be collected at signup<br /><ul><li>off: Attribute will be blocked from signup flows.</li><li>optional: Attribute will be optional on signup flows.</li><li>required: Signup flows will fail if attribute is not present.</li></ul><br />Signup flows include:<br /><ul><li>New Universal Login</li><li>Authentication API dbconnections/signup endpoint</li></ul></td>
        </tr>

        <tr>
          <td>Verify phone on signup</td>
          <td>Users will be required to verify their phone number via OTP when signing up.<br />Please ensure you have configured a phone provider or your users will not be able to proceed with signing up.</td>
        </tr>

        <tr>
          <td>Require phone on user profile</td>
          <td>Requires phone to be present across all operations that create or update a user profile on this connection.<br />Will require phone is present on the following:<ul><li>Signup flows</li><li>Creating or updating a user via the Management API</li> <li>Bulk user import</li></ul></td>
        </tr>
      </tbody>
    </table>
  </Accordion>

  <Accordion title="Username Available Attributes and Configuration Options for Username Identifier">
    <table class="table">
      <thead>
        <tr>
          <th>Option</th>

          <th />
        </tr>
      </thead>

      <tbody>
        <tr>
          <td>Use Username as Identifier</td>
          <td>Turning this on will make username an identifier for this connection. Users will be able to use username for login and password reset.</td>
        </tr>

        <tr>
          <td>Allow Signup with Username</td>
          <td>Choose how the username will be collected at signup<br /><ul><li>off: Attribute will be blocked from signup flows.</li><li>optional: Attribute will be optional on signup flows.</li><li>required: Signup flows will fail if Attribute is not present.</li></ul><br />Signup flows include:<br /><ul><li>New Universal Login</li><li>Authentication API dbconnections/signup endpoint</li></ul></td>
        </tr>

        <tr>
          <td>Require username on user profile</td>
          <td>Requires username to be present across all operations that create or update a user profile on this connection.<br />Will require username is present on the following:<br /><ul><li>Signup flows</li><li>Creating or updating a user via the Management API</li> <li>Bulk user import</li></ul></td>
        </tr>

        <tr>
          <td>Username Length</td>
          <td>Set the minimum and maximum values allowed for a user to have as username.</td>
        </tr>
      </tbody>
    </table>
  </Accordion>
</AccordionGroup>

### Configure or remove existing Attributes on a connection

All Attributes can be changed or deleted from your <Tooltip tip="Auth0 Dashboard: Auth0's main product to configure your services." cta="View Glossary" href="/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>. Users cannot log in, sign up or reset passwords using the removed Attribute, and a minimum of one Attribute must remain active on every connection.

To change or remove an Attribute, navigate to the Attributes tab, then choose the **...** menu button next to an Attribute and select **Configure** or **Remove** from the dropdown menu.

### Revert a connection

To revert a connection back to its original state, 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> [Update a connection](https://auth0.com/docs/api/management/v2/connections/patch-connections-by-id) endpoint with an `options` object that does not include the `attributes` parameter, as shown below.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  * If you use the `options` parameter, the entire `options` object is overridden. To avoid partial data or other issues, ensure all current parameters are present by copying the contents within the connections `options` object and including it in the PATCH call. The only parameter you should remove is `attributes`.
  * If your tenant has `username` enabled as an Attribute, performing the following action requires you to modify your `username` settings. You'll need to reconfigure your username settings if you choose this path.
</Callout>

```json lines
{
"options": {
       }
}
```
