# Register new user from server

Creates a new user with requested body parameters. These parameters are set as confirmed. Combination of parameters passed to the body must include at least email or phone_number parameter. The call is used only if you set up Xsolla storage.


{% html name="div" attrs={"class": "notice"} %}
Notice

Rate limits for server-side methods are applied to this method.
{% /html %}

Endpoint: POST /users
Version: v1
Security: Server

## Query parameters:

  - `projectId` (string, required)
    Login project ID from Publisher Account.

## Request fields (application/json):

  - `email` (string)
    User email address.
    Example: "asd123@asd123.asd"

  - `external_account_id` (string)
    User ID from your game.
    Example: "1234567890asdfghjkl"

  - `phone_number` (string)
    User phone number. Is used for authentication via a phone number.
    Example: 123456789

  - `phone_number_verified` (boolean)
    Flag indicates that the phone number has been verified.

## Response 200 fields (application/json):

  - `user_id` (string, required)
    The Xsolla Login user ID. You can find it in your Login project > Users > Username/ID section of Publisher Account.
    Example: "ff449154-7e2f-11e8-ad67-d89d67155224"

## 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 401 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.


