User
User module apis
This endpoint allows user to login through any crypto wallet.
The API key for authentication
test
The secret key for authentication
test-secret
e-123
e-x012121212
e-x012121212-121212
token-used-for-signature
dumy-refresh-token
POST /api/users/wallet/login HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
[email protected]
POST /api/users/email-login/send-otp HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
dummy-email
123456
dummt-entityid
POST /api/users/email-login/verify-otp HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
dummy-code
https://redirect.com/google
dummt-entityid
POST /api/users/google/login HTTP/1.1
Host: api.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-userid
The API key for authentication
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The authentication token to authorize requests on behalf of an entity.
dummy-token
e-123
example-x012121212
abc@
POST /api/users/external/login HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
dummy-userid
instagram
dummt-entityid
POST /api/users/custom-ids HTTP/1.1
Host: api.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-userid
The API key for authentication
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
refresh-token-value
POST /api/entities/{entityId}/users/{userId}/refresh-token HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The Id of the user performing the request.
dummy-userid
Jon Doe
https://www.myimage.com
https://www.mybanner.com
India
["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 Tech
Once climbed Mount Kilimanjaro and has performed at local music festivals with my band.
POST /api/users/{userId} HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The Id of the user performing the request.
dummy-userid
The token for user authentication.
dummy-token
GET /api/users/{userId} HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The Id of the user performing the request.
dummy-userid
GET /api/users/email/{email} HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The Id of the user performing the request.
dummy-userid
GET /api/users/address/{walletAddress} HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The Id of the user performing the request.
dummy-userid
GET /api/users/{userId}/entities HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The Id of the user performing the request.
dummy-userid
GET /api/users/{userId}/admin-entities HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The token for user authentication.
dummy-token
The Id of the user performing the request.
dummy-userid
e-exampleEnittyId
POST /api/users/{userId}/admin-entities HTTP/1.1
Host: api.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
test
The secret key for authentication
test-secret
The Id of the user performing the request.
dummy-userid
The token for user authentication.
dummy-token
GET /api/entities/{entityId}/users/{userId}/connected-socials HTTP/1.1
Host: api.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