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
User already exists
New user created
Client error
Server error
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]
Successful response
Client error
Server error
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
User already exists
Client error
Server error
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
User already exists
Client error
Server error
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@
User created
User created
Client error
Server error
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
User already exists
User created
Client error
Server error
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
Successful response
Client error
Server error
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.
Successful response
Client error
Unauthorized error
Server error
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
Successful response
Client error
Unauthorized error
Server error
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
Successful response
Client error
Unauthorized error
Server error
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
Successful response
Client error
Unauthorized error
Server error
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
Successful response
Client error
Unauthorized error
Server error
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
Successful response
Client error
Unauthorized error
Server error
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
Successful response
Unauthorized error
Server error
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
Successful response
Client error
Unauthorized error
Server error
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