User
User module apis
This endpoint allows user to login through any crypto wallet.
The API key for authentication
testThe secret key for authentication
test-secrete-123e-x012121212e-x012121212-121212token-used-for-signaturedumy-refresh-tokenUser already exists
New user created
Client error
Server error
POST /api/users/wallet/login HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Content-Type: application/json
Accept: */*
Content-Length: 156
{
"entityId": "e-123",
"walletAddress": "e-x012121212",
"signature": "e-x012121212-121212",
"token": "token-used-for-signature",
"refreshToken": "dumy-refresh-token"
}{
"success": true,
"userId": "u-123user",
"newUser": false,
"token": "dumy-token",
"refreshToken": "dumy-refresh-token"
}This endpoint sends a login OTP to the given email address.
The API key for authentication
testThe secret key for authentication
test-secret[email protected]Successful response
Client error
Server error
POST /api/users/email-login/send-otp HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"email": "[email protected]"
}{
"success": true,
"data": "OTP sent successfully"
}This endpoint verifies the login OTP sent via email.
The API key for authentication
testThe secret key for authentication
test-secretdummy-email123456dummt-entityidUser already exists
Client error
Server error
POST /api/users/email-login/verify-otp HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Content-Type: application/json
Accept: */*
Content-Length: 64
{
"email": "dummy-email",
"otp": 123456,
"entityId": "dummt-entityid"
}{
"success": true,
"userId": "u-123user",
"token": "dumy-token",
"refreshToken": "dumy-refresh-token"
}This endpoint allows user to login through google.
The API key for authentication
testThe secret key for authentication
test-secretdummy-codehttps://redirect.com/googledummt-entityidUser already exists
Client error
Server error
POST /api/users/google/login HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Content-Type: application/json
Accept: */*
Content-Length: 93
{
"code": "dummy-code",
"redirectUri": "https://redirect.com/google",
"entityId": "dummt-entityid"
}{
"success": true,
"userId": "u-123user",
"token": "dumy-token",
"refreshToken": "dumy-refresh-token"
}This endpoint allows user to login through any external source.
The Id of the user performing the request.
dummy-useridThe API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe authentication token to authorize requests on behalf of an entity.
dummy-tokene-123example-x012121212abc@User created
User created
Client error
Server error
POST /api/users/external/login?userId=dummy-userid HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
user-agent: text
Content-Type: application/json
Accept: */*
Content-Length: 96
{
"entityId": "e-123",
"externalUserId": "example-x012121212",
"walletAddress": "abc@",
"email": "text"
}{
"success": true,
"userId": "u-000001",
"token": "text",
"refreshToken": "dumy-refresh-token"
}This endpoint allows to create a custom user with custom userId and a platform name.
The API key for authentication
testThe secret key for authentication
test-secretdummy-useridinstagramdummt-entityidUser already exists
User created
Client error
Server error
POST /api/users/custom-ids HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Content-Type: application/json
Accept: */*
Content-Length: 88
{
"customUserId": "dummy-userid",
"customPlatform": "instagram",
"entityId": "dummt-entityid"
}{
"success": false,
"userId": "dummy-userid",
"newUser": false,
"error": "User already exists"
}This endpoint refreshes the user token for a specified entity and user.
The Id of the user performing the request.
dummy-useridThe API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenrefresh-token-valueSuccessful response
Client error
Server error
POST /api/entities/{entityId}/users/{userId}/refresh-token?userId=dummy-userid HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"refreshToken": "refresh-token-value"
}{
"success": true,
"data": {
"token": "new-access-token"
}
}This endpoint allows the user to update their details.
The API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe Id of the user performing the request.
dummy-useridJon Doehttps://www.myimage.comhttps://www.mybanner.comIndia["Java","CPP","JavaScript"]["To become a senior software engineer","contribute to open-source projects"]["Photography","traveling","reading"]Jon is a passionate software developer with several years of experience in building web applications.Software engineer at XYZ TechOnce climbed Mount Kilimanjaro and has performed at local music festivals with my band.Successful response
Client error
Unauthorized error
Server error
POST /api/users/{userId} HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Content-Type: application/json
Accept: */*
Content-Length: 548
{
"name": "Jon Doe",
"imageUrl": "https://www.myimage.com",
"bannerUrl": "https://www.mybanner.com",
"location": "India",
"expertise": [
"Java",
"CPP",
"JavaScript"
],
"goals": [
"To become a senior software engineer",
"contribute to open-source projects"
],
"interests": [
"Photography",
"traveling",
"reading"
],
"about": "Jon is a passionate software developer with several years of experience in building web applications.",
"currentWork": "Software engineer at XYZ Tech",
"funFacts": "Once climbed Mount Kilimanjaro and has performed at local music festivals with my band."
}{
"success": true
}This endpoint retrieves the details of a specific user.
The API key for authentication
testThe secret key for authentication
test-secretThe Id of the user performing the request.
dummy-useridThe token for user authentication.
dummy-tokenSuccessful response
Client error
Unauthorized error
Server error
GET /api/users/{userId} HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
"success": true,
"data": {
"userId": "12345",
"userRecordMappingId": "67890",
"signatureToken": "abc123",
"name": "John Doe",
"username": "johndoe",
"imageUrl": "https://example.com/profile.jpg",
"bannerUrl": "https://example.com/banner.jpg",
"subtitle": "Software Engineer",
"location": "New York, USA",
"interests": [
"Blockchain",
"AI",
"Gaming"
],
"expertise": [
"Web Development",
"Data Science"
],
"goals": [
"Learn new technologies",
"Contribute to open-source projects"
],
"eth_nfts": [
{
"nftId": "nft1",
"nftName": "NFT 1",
"nftImageUrl": "https://example.com/nft1.jpg",
"nftContractId": "ethcontract1"
},
{
"nftId": "nft2",
"nftName": "NFT 2",
"nftImageUrl": "https://example.com/nft2.jpg",
"nftContractId": "ethcontract2"
}
],
"polygon_nfts": [
{
"nftId": "nft3",
"nftName": "NFT 3",
"nftImageUrl": "https://example.com/nft3.jpg",
"nftContractId": "polygoncontract1"
}
],
"sol_nfts": [
{
"nftId": "nft4",
"nftName": "NFT 4",
"nftImageUrl": "https://example.com/nft4.jpg",
"nftContractId": "solcontract1"
}
],
"about": "I'm a passionate developer interested in blockchain and artificial intelligence.",
"currentWork": "Acme Corporation",
"role": "Other",
"funFacts": [
"I love hiking",
"I play guitar"
],
"tokenGeneratedAt": "2023-06-27T10:15:00Z",
"lastHardRefreshAt": "2023-06-26T18:30:00Z",
"modifiedAt": "2023-06-27T12:45:00Z",
"createdAt": "2023-06-25T09:00:00Z"
},
"isAdmin": false
}This endpoint retrieves the details of a specific user by their email.
The API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe Id of the user performing the request.
dummy-useridSuccessful response
Client error
Unauthorized error
Server error
GET /api/users/email/{email} HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Accept: */*
{
"success": true,
"data": {
"userId": "12345",
"userRecordMappingId": "67890",
"signatureToken": "abc123",
"name": "John Doe",
"username": "johndoe",
"imageUrl": "https://example.com/profile.jpg",
"bannerUrl": "https://example.com/banner.jpg",
"subtitle": "Software Engineer",
"location": "New York, USA",
"interests": [
"Blockchain",
"AI",
"Gaming"
],
"expertise": [
"Web Development",
"Data Science"
],
"goals": [
"Learn new technologies",
"Contribute to open-source projects"
],
"eth_nfts": [
{
"nftId": "nft1",
"nftName": "NFT 1",
"nftImageUrl": "https://example.com/nft1.jpg",
"nftContractId": "ethcontract1"
},
{
"nftId": "nft2",
"nftName": "NFT 2",
"nftImageUrl": "https://example.com/nft2.jpg",
"nftContractId": "ethcontract2"
}
],
"polygon_nfts": [
{
"nftId": "nft3",
"nftName": "NFT 3",
"nftImageUrl": "https://example.com/nft3.jpg",
"nftContractId": "polygoncontract1"
}
],
"sol_nfts": [
{
"nftId": "nft4",
"nftName": "NFT 4",
"nftImageUrl": "https://example.com/nft4.jpg",
"nftContractId": "solcontract1"
}
],
"about": "I'm a passionate developer interested in blockchain and artificial intelligence.",
"currentWork": "Acme Corporation",
"role": "Other",
"funFacts": [
"I love hiking",
"I play guitar"
],
"tokenGeneratedAt": "2023-06-27T10:15:00Z",
"lastHardRefreshAt": "2023-06-26T18:30:00Z",
"modifiedAt": "2023-06-27T12:45:00Z",
"createdAt": "2023-06-25T09:00:00Z"
},
"isAdmin": false
}This endpoint retrieves the details of a specific user by their wallet address.
The API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe Id of the user performing the request.
dummy-useridSuccessful response
Client error
Unauthorized error
Server error
GET /api/users/address/{walletAddress} HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Accept: */*
{
"success": true,
"data": {
"userId": "12345",
"userRecordMappingId": "67890",
"signatureToken": "abc123",
"name": "John Doe",
"username": "johndoe",
"imageUrl": "https://example.com/profile.jpg",
"bannerUrl": "https://example.com/banner.jpg",
"subtitle": "Software Engineer",
"location": "New York, USA",
"interests": [
"Blockchain",
"AI",
"Gaming"
],
"expertise": [
"Web Development",
"Data Science"
],
"goals": [
"Learn new technologies",
"Contribute to open-source projects"
],
"eth_nfts": [
{
"nftId": "nft1",
"nftName": "NFT 1",
"nftImageUrl": "https://example.com/nft1.jpg",
"nftContractId": "ethcontract1"
},
{
"nftId": "nft2",
"nftName": "NFT 2",
"nftImageUrl": "https://example.com/nft2.jpg",
"nftContractId": "ethcontract2"
}
],
"polygon_nfts": [
{
"nftId": "nft3",
"nftName": "NFT 3",
"nftImageUrl": "https://example.com/nft3.jpg",
"nftContractId": "polygoncontract1"
}
],
"sol_nfts": [
{
"nftId": "nft4",
"nftName": "NFT 4",
"nftImageUrl": "https://example.com/nft4.jpg",
"nftContractId": "solcontract1"
}
],
"about": "I'm a passionate developer interested in blockchain and artificial intelligence.",
"currentWork": "Acme Corporation",
"role": "Other",
"funFacts": [
"I love hiking",
"I play guitar"
],
"tokenGeneratedAt": "2023-06-27T10:15:00Z",
"lastHardRefreshAt": "2023-06-26T18:30:00Z",
"modifiedAt": "2023-06-27T12:45:00Z",
"createdAt": "2023-06-25T09:00:00Z"
},
"isAdmin": false
}This endpoint retrieves all the entities the user is part of.
The API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe Id of the user performing the request.
dummy-useridSuccessful response
Client error
Unauthorized error
Server error
GET /api/users/{userId}/entities HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Accept: */*
{
"success": true,
"data": [
{
"id": "e-0000001",
"name": "some entity",
"openseaSlug": "dummy-slug",
"description": "this is the entity description",
"twitter": "twitterusername",
"discord": "discordusername",
"telegram": "telegramusername",
"instagram": "telegramusername",
"website": "https://www.entitywebsite.com",
"contracts": [
"contractid"
],
"ownerIDs": [
"u-dummy-user"
],
"imageUrl": "dummy-image-url",
"bannerUrl": "dummy-banner-url"
}
]
}This endpoint retrieves all the entities the user is an admin of.
The API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe Id of the user performing the request.
dummy-useridSuccessful response
Client error
Unauthorized error
Server error
GET /api/users/{userId}/admin-entities HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Accept: */*
{
"success": true,
"data": [
{
"name": "entity-name",
"description": "entity-name",
"id": "entity-id",
"imageUrl": "dummy-image-url"
}
]
}This endpoint updates the current admin entity of the user.
The API key for authentication
testThe secret key for authentication
test-secretThe token for user authentication.
dummy-tokenThe Id of the user performing the request.
dummy-useride-exampleEnittyIdSuccessful response
Unauthorized error
Server error
POST /api/users/{userId}/admin-entities HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Content-Type: application/json
Accept: */*
Content-Length: 32
{
"entityId": "e-exampleEnittyId"
}{
"success": true
}This endpoint retrieves all the socials the user is connected to.
The API key for authentication
testThe secret key for authentication
test-secretThe Id of the user performing the request.
dummy-useridThe token for user authentication.
dummy-tokenSuccessful response
Client error
Unauthorized error
Server error
GET /api/entities/{entityId}/users/{userId}/connected-socials HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
"success": true,
"data": {
"ethAddresses": [
"eth-address"
],
"emails": [
"[email protected]"
],
"twitter": {
"name": "your name",
"username": "twitter user name",
"userId": "userId"
},
"discord": {
"name": "your name",
"username": "discord user name",
"userId": "userId"
}
}
}Last updated