Extended registration form
How it works
During user registration, the following main fields are requested:
- When using the API calls:
- Username
- Password
- When using the Login widget of any version:
- Password
You can request extra fields from the user if needed.
Who can use it
Partners who have already integrated Login.
How to get it
The set of available fields in the extended registration form depends on the Login integration and storage that you use for user data. To set up the form, choose the integration and storage types, and follow the instructions.
Integration via Login API
If you use integration via Login API:
- Contact your Account Manager and send them the list of fields. For each field, specify:
- name;
- type;
- whether it is required;
- name of the parameter that will be used when requesting the API call for registration.
Default field options:
Field name | Type | Name of the parameter |
---|---|---|
Username (always required) | string | username |
First name | string | given-name |
Second name | string | family-name |
Nickname | string | nickname |
Birth date | date (YYYY-MM-DD) | bday |
Gender | enum (f or m) | gender |
Country | select (ISO 3166-1 alpha-2) | country-name |
Subscribe to the newsletter | boolean | promo_email_agreement |
- In the
Register new user request, pass thefields
parameter with the required fields.
Example of the request:
- http
- curl
POST https://login.xsolla.com/api/user?login_url=https://example.com&projectId={projectId} HTTP/1.1
Content-Type: application/json
{
"username": "john-email@email.com",
"password": "123456",
"email": "john-email@email.com",
"fields": {
"nickname": "John",
"country-name": "US",
"bday": "1997-07-16"
}
}
curl --request POST \
--url 'https://login.xsolla.com/api/user?login_url=https%3A%2F%2Fexample.com&projectId=projectId' \
--header 'content-type: application/json' \
--data '{"username":"john-email@email.com","password":"123456","email":"john-email@email.com","fields":{"nickname":"John","country-name":"US","bday":"1997-07-16"}}'
Integration via Login widget
If you use integration via the Login widget of any version, contact your Account Manager and send them the list of fields. For each field, specify the name and whether it is required.
Default field options:
- Username (always required)
- First name
- Second name
- Nickname
- Birth date
- Gender
- Platform
- Country
- Subscribe to the newsletter
Xsolla storage
If you use Xsolla storage, only the fields listed are available for use. The field values are stored on the Xsolla side.
PlayFab storage
If you use PlayFab storage, extra fields are stored as user data in your Title PlayFab.
In addition to the fields listed, you can pass other fields with the following information:
- name
- type:
- string
- date
- select — a selection of one option from the list
- multi-select — a selection of several options from the list
- whether it is required
You can get user data via
- Go to Players and click on the user ID.

- Choose Player Data (Title) tab.

Custom storage
If you use custom storage, extra fields are sent in the registration request to New user URL.
In addition to the fields listed, you can pass other fields with the following information:
- name
- type:
- string
- date
- select — a selection of one option from the list
- multi-select — a selection of several options from the list
- whether it is required
EXAMPLE
The following fields were set up:
- Nickname
- Country
- Custom field
platform
with multi-select type and possible valueswindows
,mac os
,linux
- http
- curl
POST https://your.hostname/new_user_url.path HTTP/1.1
Content-Type: application/json
Authorization: Bearer {JWT}
{
"email": "john@gmail.com",
"password": "123456",
"country-name": "DE",
"nickname": "JohnSnow",
"platform": ["windows", "mac os"]
}
curl --request POST \
--url 'https://your.hostname/new_user_url.path' \
--header 'authorization: bearer_JWT' \
--header 'content-type: application/json' \
--data '{"email":"john@gmail.com","password":"123456","country-name":"DE","nickname":"JohnSnow","platform":["windows","mac os"]}'
Was this article helpful?
Rate this page
Don’t want to answer
Thank you for your feedback!
Found a typo or other text error? Select the text and press Ctrl+Enter.