# Fields supported in the Basic Information step

The Registration wizard can accept and process only specific data within the Basic Information step. The tables below outline the fields supported for this step:

* [Email, password, and password confirmation fields](#email-password-and-password-confirmation-fields)
* [First name, last name, and birthday fields](#first-name-last-name-and-birthday-fields)
* [Address fields](#address-fields)
* [Phone fields](#phone-fields)
* [Consent and agreement fields](#consent-and-agreement-fields)

For each field, it's indicated whether it can be used independently or must be nested within a specific group.

Field names must be specified exactly as provided in the **Name** column. Field labels that will be displayed on the **Sign Up** page in the B2CORE UI can be amended according to your preferences.

In addition, specific data validation rules that should be assigned to the fields are listed in the **Validation rules** column.

{% hint style="info" %}
For descriptions of all available field types and data validation rules that can be assigned to the fields, refer to [Field types](https://docs.b2core.b2broker.com/how-to-articles/manage-system-settings/field-types-and-validation-rules#field-types) and [Validation rules](https://docs.b2core.b2broker.com/how-to-articles/manage-system-settings/field-types-and-validation-rules#validation-rules).
{% endhint %}

## Email, password, and password confirmation fields

The table below provides information about the fields for entering an email, setting a password, and confirming the password, including field types, validation rules, and additional attributes for proper configuration.

<table data-full-width="true"><thead><tr><th>Name</th><th>Field type</th><th>Label</th><th>Validation rules</th><th>Nesting requirements</th><th>Additional attributes</th></tr></thead><tbody><tr><td>email</td><td><strong>input</strong></td><td>Email</td><td><code>required</code><br><code>email:rfc,spoof,strict</code><br><code>unique_active_email</code><br></td><td>No</td><td>—</td></tr><tr><td>password</td><td><strong>passwordButton</strong></td><td>Password</td><td><code>required</code><br><code>password_length</code><br><code>password_content</code></td><td>No</td><td><strong>Label hint</strong> — specify <code>password_hint</code></td></tr><tr><td>password_confirmation</td><td><strong>passwordButton</strong></td><td>Password confirmation</td><td><code>required</code><br><code>same:password</code></td><td>No</td><td><strong>Label hint</strong> — specify <code>password_confirmation_hint</code></td></tr></tbody></table>

## First name, last name, and birthday fields

The table below outlines the fields for entering a first name, last name, and birth date. These fields must be nested within the **group** field named `info`.

<table data-full-width="true"><thead><tr><th>Name</th><th>Field type</th><th>Label</th><th>Validation rules</th><th>Nesting requirements</th><th>Additional attributes</th></tr></thead><tbody><tr><td>info</td><td><strong>group</strong></td><td>—</td><td>—</td><td>No</td><td>—</td></tr><tr><td>givenName</td><td><strong>input</strong></td><td>First name</td><td><code>required</code><br><code>string</code><br><code>min:1</code><br><code>max:30</code><br><code>info_name</code></td><td>Must be nested in the <code>info</code> group</td><td>—</td></tr><tr><td>familyName</td><td><strong>input</strong></td><td>Last name</td><td><code>required</code><br><code>string</code><br><code>min:1</code><br><code>max:30</code><br><code>info_name</code></td><td>Must be nested in the <code>info</code> group</td><td>—</td></tr><tr><td>birthday</td><td><strong>date</strong></td><td>Birth date</td><td><code>required</code><br><code>date</code><br><code>age:18</code></td><td>Must be nested in the <code>info</code> group</td><td>—</td></tr></tbody></table>

## Address fields

The table below outlines the fields for entering address information. These fields must be nested within the **group** field named `0`, which must in turn be nested within the **group** named `addresses`.

<table data-full-width="true"><thead><tr><th>Name</th><th>Field type</th><th>Label</th><th>Validation rules</th><th>Nesting requirements</th><th>Additional attributes</th></tr></thead><tbody><tr><td>addresses</td><td><strong>group</strong></td><td>—</td><td><code>required</code><br><code>array</code></td><td>No</td><td>—</td></tr><tr><td>0</td><td><strong>group</strong></td><td>—</td><td>—</td><td>Must be nested in the <code>addresses</code> group</td><td>—</td></tr><tr><td>country_code</td><td><strong>select</strong></td><td>Country</td><td><code>required</code><br><code>nullable</code><br><code>countries_handbook</code></td><td>Must be nested in the <code>0</code> group</td><td><strong>Options type (endpoint)</strong> — specify <code>/api/v1/countries</code><br><strong>Options type (type)</strong> — specify <code>Countries</code><br>For usage details, refer to the example provided below the table.</td></tr><tr><td>state</td><td><strong>input</strong></td><td>State</td><td><code>required</code><br><code>string</code><br><code>min:1</code></td><td>Must be nested in the <code>0</code> group</td><td>—</td></tr><tr><td>postal_code</td><td><strong>input</strong></td><td>Postal/Zip Code</td><td><code>required</code></td><td>Must be nested in the <code>0</code> group</td><td>—</td></tr><tr><td>city</td><td><strong>input</strong></td><td>City</td><td><code>required</code><br><code>string</code><br><code>min:1</code></td><td>Must be nested in the <code>0</code> group</td><td>—</td></tr></tbody></table>

## Phone fields

The table below outlines the field for entering a phone number. This field must be nested within the **group** field named `0`, which must in turn be nested within the **group** named `phones`.

<table data-full-width="true"><thead><tr><th>Name</th><th>Field type</th><th>Label</th><th>Validation rules</th><th>Nesting requirements</th><th>Additional attributes</th></tr></thead><tbody><tr><td>phones</td><td><strong>group</strong></td><td>—</td><td><code>required</code><br><code>array</code></td><td>No</td><td>—</td></tr><tr><td>0</td><td><strong>group</strong></td><td>—</td><td>—</td><td>Must be nested in the <code>phones</code> group</td><td>—</td></tr><tr><td>phone</td><td><strong>input</strong></td><td>Phone number</td><td><code>required</code><br><code>distinct</code><br><code>phone:AUTO</code></td><td>Must be nested in the <code>0</code> group</td><td><strong>Mask key</strong> — specify <code>phone</code></td></tr></tbody></table>

## Consent and agreement fields

The table below outlines the fields required for client consent. These fields are essential for obtaining necessary agreements and consents from clients. These fields must be nested within the **group** field named `requirements`.

<table data-full-width="true"><thead><tr><th>Name</th><th>Field type</th><th>Label</th><th>Validation rules</th><th>Nesting requirements</th><th>Additional attributes</th></tr></thead><tbody><tr><td>requirements</td><td><strong>group</strong></td><td>—</td><td><code>array</code></td><td>No</td><td>—</td></tr><tr><td>pdp</td><td><strong>boolean</strong></td><td>labels.agreement<br><br>This label is used to include a link to the document containing the terms and conditions that clients must agree to.</td><td><code>required</code><br><code>boolean</code><br><code>requiredValue</code></td><td>Must be nested in the <code>requirements</code> group</td><td>—</td></tr><tr><td>adult</td><td><strong>boolean</strong></td><td>I am an adult</td><td><code>required</code><br><code>boolean</code><br><code>requiredValue</code></td><td>Must be nested in the <code>requirements</code> group</td><td>—</td></tr><tr><td>resident</td><td><strong>boolean</strong></td><td>I am not a US, Iran, or North Korea resident</td><td><code>required</code><br><code>boolean</code><br><code>requiredValue</code></td><td>Must be nested in the <code>requirements</code> group</td><td>—</td></tr></tbody></table>
