# Register a new user

If you wish to register a new user you will have to call the **`MBurgerAuthTasks.registerUser(…)`** method.

{% hint style="warning" %}
Be aware that a Nooko user contains these fields, some required, some not required, and some autofilled when registering.
{% endhint %}

* (Auto-filled) `ID`
* (Required) `Name`
* (Required) `Surname`
* (Required) `Email`
* `Phone`
* `Image`
* `Auxiliar data`
* (Auto-filled) `Auth mode`

Where Auxiliar data is an arbitrary string you can pass while registering a user.&#x20;

So registration code will result:

```kotlin
private var listener: MBAuthApiRegisterListener
private var edt_name, edt_surname, edt_email, edt_password: EditText
private var phone: String
private var img_uri: Uri
private var auxiliar_data: String

MBurgerAuthTasks.registerUser(applicationContext,
    listener,                             //Listener for registration
    edt_name.getText().toString(),        //Name, REQUIRED
    edt_surname.getText().toString(),     //Surname, REQUIRED
    phone,                                //Phone number, nullable
    img_uri,                              //Image, nullable
    edt_email.getText().toString(),       //Email, REQUIRED
    edt_password.getText().toString(),    //Password REQUIRED
    auxiliar_data);                       //Auxiliar data nullable
```

This method won’t return anything less than an error if the email is already taken or any other problem occurred.&#x20;

{% hint style="info" %}
To obtain the profile of the user and also to call all the other API with this authorization, you will need to **login** this user.
{% endhint %}
