The Users Service API provides various endpoints for managing user-related functionalities, including user authentication, profile management, and account operations. With this API, you can create, authenticate, and update, as well as perform actions such as logging in and adding new addresses to existing account. Additionally, you can retrieve user data, check username availability, and search for users and public profiles. This API empowers you to build user-centric applications and interact with user-related data efficiently.
This endpoint is used to get a hash for the login process. It is required to log in with a wallet address.
GET..//v2/auth/web3/signature/hash
Header parameters
Response
Body
hash*string
Request
Response
Check if the user has an account in the system and if he has to accept the regulations based on WEB3
Possible scenarios:
1. hasAccount && hasRulesChecked
- The user has an account in the system.
- The user has accepted the metaproID regulations and the selected application’s regulations.
2. hasAccount && !hasRulesChecked
- The user has an account in the system.
- The user has not accepted the metaproID regulations or the selected application’s regulations.
3. !hasAccount && !hasRulesChecked
- The user does not have an account in the system.
- The user has not accepted the metaproID regulations or the selected application’s regulations.
If the user participated in the process of merging accounts
visitedAtstring (date-time)
Example: "2022-05-25T16:17:01.797Z"
createdAt*string (date-time)
Example: "2022-05-25T16:17:01.797Z"
updatedAt*string (date-time)
Example: "2022-05-25T16:17:01.797Z"
Request
Response
Returns user data
Only for logged in
POST..//internal/users
Authorization
Header parameters
Body
addresses*array of Wallet (object)
Response
Body
userId*string
Example: "572843fa-9eb3-45d6-82ba-33ba5b4406c7"
addresses*array of Wallet (object)
Request
Response
Returns a list of requested Users
GET..//users-search/{searchText}
Path parameters
searchText*string
Query parameters
Response
Body
results*array of UserEntity (object)
count*number
Request
Response
Checks username availability
Only for logged in
GET..//availability/{username}
Authorization
Path parameters
username*string
Header parameters
Response
Body
isAvailable*boolean
Request
Response
Returns list of users
GET..//profiles
Query parameters
Response
Body
results*array of UserEntity (object)
count*number
Request
Response
Update user data
PATCH..//update
Authorization
Header parameters
Body
socialMedia*array of SocialMediaDto (object)
personalDetails*PersonalDetailsDto (object)
elympicsUserId*string
rulesCheckbox*RulesCheckbox (object)
Response
Body
id*string
Example: "572843fa-9eb3-45d6-82ba-33ba5b4406c7"
userId*string
Example: "572843fa-9eb3-45d6-82ba-33ba5b4406c7"
isMetaproAdminboolean
Example: false
elympicsUserId*string
Example: "572843fa-9eb3-45d6-82ba-33ba5b4406c7"
role*enum
addresses*array of Wallet (object)
socialMediaarray of SocialMedia (object)
externalAccountsarray of ExternalAccount (object)
rulesCheckboxRulesCheckbox (object)
personalDetailsPersonalDetails (object)
engagementPointsnumber
isMergedboolean
If the user participated in the process of merging accounts
visitedAtstring (date-time)
Example: "2022-05-25T16:17:01.797Z"
createdAt*string (date-time)
Example: "2022-05-25T16:17:01.797Z"
updatedAt*string (date-time)
Example: "2022-05-25T16:17:01.797Z"
Request
Response
Add a new address to an existing account
This endpoint allows to add a new wallet address to an existing account. If the wallet is already linked to another account then it is possible to merge them if the existing account does not have linked external accounts.