# [JWT] Register new user Creates a new user. * If you store user data at Xsolla or custom storage, the user will receive an account confirmation message. If you store user data at PlayFab, the user will not* receive an account confirmation message. * If you store user data at Firebase, the user will receive an account confirmation message from Firebase side. See the Comparison of user data storages page for more information about user data storages. Endpoint: POST /user Version: v1 ## Query parameters: - `projectId` (string, required) Login project ID from Publisher Account. - `login_url` (string) URL to redirect the user to after account confirmation, successful authentication, two-factor authentication configuration, or password reset confirmation. Must be identical to the Callback URL specified in the URL block of Publisher Account. For the scenario of a login error, the value should be identical to the the Error callback URL specified in the URL block of Publisher Account. To find the settings, go to Login > your Login project and select the Callback URLs section in the upper block. Required if there are several Callback URLs. - `payload` (string) Your custom data. The value of the parameter will be returned in the payload claim of the user JWT. Recommended maximum length less than 500 characters. Note, that this parameter is only available if you use a custom user data storage. ## Request fields (application/json): - `accept_consent` (boolean) Whether the user gave consent to processing of their personal data. - `email` (string, required) User email address. Example: "john-email@email.com" - `fields` (object) Parameters used for [extended registration form](https://developers.xsolla.com/doc/login/features/extended-registration-form/). To use this feature, please contact your Customer Success Manager. Example: {"additional_agreement":true,"nickname":"Johny","promo_email_agreement":true} - `password` (string, required) User password. Example: "password123" - `username` (string, required) Username. Example: "John" ## Response 200 fields (application/json): - `login_url` (string) URL with the token and remember_me parameters to redirect the user to after successful registration. The token value is the user JWT. Example: "http://someurl.com?token=XXXXXXX" ## Response 400 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 404 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 422 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 429 fields (application/json): - `error` (object, required) - `error.code` (string, required) Error code. Example: "003-061" - `error.description` (string, required) Error description. Example: "Object not found." - `error.details` (object) Additional information. ## Response 204 fields