Users service
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.
Swagger docs link :
https://api.metaproprotocol.com/users-service/v2/docs
Only for logged in
asduf823hf-sa98ehf938rh
0xd1afbab5cacb45491ce002a6026c1401340eae6a
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
POST /users HTTP/1.1
Host: internal
Authorization: text
x-account-wallet: text
x-account-userid: text
Content-Type: application/json
Accept: */*
Content-Length: 71
{
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
]
}
[
{
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
]
}
]
FjWEtwGDoWmD7NAk5b6niTZFAG1Di-r6BgtzmLqWWBFGlKbPiM
0xd1afbab5cacb45491ce002a6026c1401340eae6a
0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62
Alphanumeric values
0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a0291c
Personal details
Merge account
Project ID
Platform ID
Rules checkbox used in the registration process or in the rules acceptance process with an existing account
Referral settings ID
Referral code
External login data
POST /auth/web3/login HTTP/1.1
Host: v2
x-account-login-hash: text
x-account-wallet: text
Content-Type: application/json
Accept: */*
Content-Length: 879
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62",
"signature": "0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a0291c",
"personalDetails": {
"username": "text",
"email": "[email protected]",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me"
},
"merge": true,
"projectId": "text",
"platformId": "text",
"rulesChecked": true,
"referralSettingsId": "text",
"referralCode": "text",
"externalLoginData": {
"steamId": "text",
"googleAccessToken": "text",
"googleUserId": "text",
"appleToken": "text",
"discordAccessToken": "text",
"discordUserId": "text",
"telegramString": "text",
"telegramUserId": "text",
"querySteam": {
"openid.ns": "http://specs.openid.net/auth/2.0"
}
}
}
{
"token": {
"accessToken": "text",
"tokenType": "text",
"exp": 1
},
"account": {
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
}
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.
The wallet address to check
0x...
The project ID to check the wallet against
project-id
The type of external account to check
steam
GET /auth/web3/check/{wallet}?projectId=text HTTP/1.1
Host: v2
Accept: */*
No content
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.
FjWEtwGDoWmD7NAk5b6niTZFAG1Di-r6BgtzmLqWWBFGlKbPiM
asduf823hf-sa98ehf938rh
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
0xd1afbab5cacb45491ce002a6026c1401340eae6a
0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62
Alphanumeric values
0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a0291c
Name of the wallet
Type of the wallet
Confirmation of merge wallet with existing wallet
false
POST /auth/web3/new-address HTTP/1.1
Host: v2
Authorization: text
x-account-login-hash: text
x-account-userid: text
x-account-wallet: text
Content-Type: application/json
Accept: */*
Content-Length: 244
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62",
"signature": "0xb91467e570a6466aa9e9876cbcd013baba02900b8979d43fe208a4a4f339f5fd6007e74cd82e037b800186422fc2da167c747ef045e5d18a5f5d4300f8e1a0291c",
"name": "text",
"type": "text",
"merge": false
}
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
This endpoint is used to get a hash for the login process. It is required to log in with a wallet address.
0xd1afbab5cacb45491ce002a6026c1401340eae6a
GET /auth/web3/signature/hash HTTP/1.1
Host: v2
x-account-wallet: text
Accept: */*
{
"hash": "text"
}
This endpoint doesn't delete account, just remove a wallet (different than currently logged in)
0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62
asduf823hf-sa98ehf938rh
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
DELETE /auth/web3/remove/{wallet} HTTP/1.1
Host: v2
Authorization: text
x-account-userid: text
Accept: */*
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
Only for logged in
asduf823hf-sa98ehf938rh
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
GET / HTTP/1.1
Host: me
Authorization: text
x-account-userid: text
Accept: */*
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z",
"project": {
"projectId": "c409b3ae-3f5e-4b75-9c1a-5e12f92d7717",
"userId": "c409b3ae-3f5e-4b75-9c1a-5e12f92d7717",
"isSourceProject": false,
"rulesChecked": true,
"rulesCheckedDate": "2022-05-25T16:17:01.797Z",
"roles": [
"user"
],
"permissions": [
"platform_add"
],
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-08-12T14:21:28.449Z",
"updatedAt": "2022-08-12T14:21:28.449Z"
}
}
Only for logged in
asduf823hf-sa98ehf938rh
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
GET /{username} HTTP/1.1
Host: availability
Authorization: text
x-account-userid: text
Accept: */*
{
"isAvailable": true
}
Wallet address or username or userId
0x1234567890123456789012345678901234567890
GET /{user} HTTP/1.1
Host: profile
Accept: */*
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
2
2
["0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62","0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C63"]
["9aef833a-6714-4079-a95d-fd0079375a34","9aef833a-6714-4079-a95d-fd0079375a34"]
["934fdc4d46-289f-e6469f-19c08504118f","934fdc4d46-289f-e6469f-19c08504118f"]
Project ID
GET / HTTP/1.1
Host: profiles
Accept: */*
{
"results": [
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
],
"count": 1
}
2
2
Project ID
GET /{searchText} HTTP/1.1
Host: users-search
Accept: */*
{
"results": [
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
],
"count": 1
}
asduf823hf-sa98ehf938rh
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
PATCH / HTTP/1.1
Host: update
Authorization: text
x-account-userid: text
Content-Type: application/json
Accept: */*
Content-Length: 478
{
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account"
}
],
"personalDetails": {
"username": "text",
"email": "[email protected]",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me"
},
"elympicsUserId": "text",
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"verificationKYC": true
}
{
"id": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"userId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"isMetaproAdmin": false,
"elympicsUserId": "572843fa-9eb3-45d6-82ba-33ba5b4406c7",
"role": null,
"addresses": [
{
"wallet": "0xdd094342c13F9E4340E2c07C63D9fD98e7BA1C62"
}
],
"socialMedia": [
{
"name": "steam",
"value": "https://steam.com/my-account",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"externalAccounts": [
{
"name": "steam",
"data": {},
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z"
}
],
"rulesCheckbox": {
"checked": true,
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"personalDetails": {
"email": "[email protected]",
"username": "johny_bravo",
"country": "PL",
"firstName": "Adam",
"lastName": "Kowalski",
"birthDate": "2022-05-25T16:17:01.797Z",
"bio": "Some text about me",
"avatar": "qwer-qwer-qwer-qwer.png",
"banner": "fda-fda-fdsa-fdas.jpg",
"shortBio": "Short text about me",
"updatedAt": "2022-05-25T16:17:01.797Z"
},
"engagementPoints": 1,
"isMerged": true,
"verificationKYC": true,
"visitedAt": "2022-05-25T16:17:01.797Z",
"createdAt": "2022-05-25T16:17:01.797Z",
"updatedAt": "2022-05-25T16:17:01.797Z",
"expiresAt": "2022-05-25T16:17:01.797Z"
}
The wallet address
0x1234567890abcdef
asduf823hf-sa98ehf938rh
5a945f88-1de8cb-c6a1b4-1314ebac6bd1
The name of the wallet
My Wallet
POST /wallet/{wallet} HTTP/1.1
Host: update
Authorization: text
x-account-userid: text
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"name": "My Wallet"
}
No content
Last updated