// Optional arguments


Create and authenticate a new user with the specified data.

Users can identify themselves with an email address or mobile number (if the SMS feature is enabled).


import IdentitySdkCore

      profile: ProfileSignupRequest(
        givenName: "John",
        familyName: "Doe",
        gender: "male",
        email: "",
        password: "hjk90wxc"
      redirectUrl: "",
      scope: ["openid", "profile", "email"]
  .onSuccess{ authToken in
      // Get the profile's authentication token
  .onFailure { error in
      // Return a ReachFive error


profile ProfileSignupRequest

The data of the profile.

password string

The password of the profile. Password must meet the minimum requirements defined by the zxcvbn used.

email string

The primary email address of the profile.

phoneNumber string

The primary phone number of the profile.

Both the international format and the national conventions of the account’s country are accepted if configured in account settings.

givenName string

The given name of the profile.

middleName string

The middle name of the profile.

familyName string

The family name of the profile.

name string

The full name of the profile.

nickname string

The nickname of the profile.

birthdate string

The birthdate of the profile, represented as an ISO 8601 YYYY-MM-DD format.

profileURL string

The URL of one of the user’s profile page (usually a social provider’s page).

picture string

The URL of one of the profile picture. This URL refers to an image file (PNG, JPEG, or GIF image file).

username string

The username of the profile (the login’s name).

gender string

The gender of the profile.

Allowed values are female, male and other.

company string

The company’s name of the profile.

addresses ProfileAddress[]

The list of the profile’s postal addresses

locale string

The profile’s language code in lowercase and country code in uppercase, separated by a dash (eg en, fr-FR …​).

bio string

The biography of the profile.

customFields Map<string, any>

The custom fields of the profile.

consents Map<string, Consent>

The consents granted to the profile. It is a map of string keys with the associated consent object.

redirectUrl string

The URL to which the user is redirected.

This URL must be whitelisted in the Allowed Callback URLs field of your ReachFive client settings.

scope string[]

The scopes granted to the profile. Make sure they are allowed by the client.

Default scopes are the allowed scopes set up in the client’s configuration.


Type: Future<AuthToken, ReachFiveError>

Return the profile’s authentication token. If the parameters are invalid or if a profile already exists with the same email address, the promise will be rejected and will return a ReachFiveError.


The authentication token.


The ID token JSON Web Token (JWT) that contains the profile’s information.


The authorization credential JSON Web Token (JWT) used to access the ReachFive API.


The refresh token JSON Web Token (JWT) used to obtain new access tokens once they expire.


The type of token. Always equal to Bearer.


The lifetime in seconds of the access token.

If expiresIn is less than or equal to 0, the AuthToken is expired.

user OpenIDUser

The user’s information contained in the ID token.

id string

The identifier of the user.

name string

The full name of the user in displayable form including all name parts, possibly including titles and suffixes, ordered according to the user’s locale and preferences.

preferredUsername string

The shorthand name by which the user wishes to be referred to.

givenName string

The given name or first name of the user.

familyName string

The surname or last name of the user.

middleName string

The middle name of the user.

nickname string

The casual name of the user that may or may not be the same as the givenName

picture string

The URL of the user’s profile picture.

website string

The URL of the user’s web page or blog.

email string

The user’s preferred e-mail address.

emailVerified boolean

True if the user’s e-mail address has been verified; otherwise false.

gender string

The user’s gender.

zoneinfo string

The string from zoneinfo time zone database representing the user’s time zone.

locale string

The user’s language code in lowercase and country code in uppercase, separated by a dash.

phoneNumber string

The user’s preferred telephone number.

phoneNumberVerified boolean

true if the user’s phone number has been verified; otherwise false.

address string

The user’s preferred postal address.


Based on the problem, the ReachFiveError will be:

  • RequestError(requestErrors: RequestErrors) if it’s a bad request error.

    error string

    The main error message.

    errorId string

    The identifier of the error.

    errorUserMsg string

    The user-friendly error message.

    This property is translated according to the user’s browser settings. Currently supported languages:
    Currently supported languages
    • de - Deutsch German

    • en - English

    • es - Español Spanish

    • fr - Français French

    • hu - Magyar Hungarian

    • it - Italiano Italian

    • nl - Nederlands Dutch

    • ru - Ру́сский Russian

    • sk - Slovenský Slovak

    • pt - Portuguese

    errorDescription string

    The technical error message.

    errorDetails FieldError[]

    field string

    The field concerned by the error.

    message string

    The message error returned for the field.

    code string

    The code error returned for the field.

  • AuthFailure(reason: String) if the authentication has failed.

  • AuthCanceled if the authentication was cancelled.

  • TechnicalError(reason: String) if it’s an internal server error.