Quest Protocol
  • Introduction
    • Welcome to Quest Protocol
    • Integrate & Partner with Quest
    • Use Cases
      • Creator Platforms
      • Gaming
      • NFT Marketplaces
      • Social Media DApps
      • DeFi
  • QUEST PLATFORM
    • Creating a Campaign
    • Audience Overview
    • User Profile
    • Discover Page
    • Perk Store
    • Integrations
    • Memberships
    • Segmentation & Targetting
    • AI Insights
  • QUEST PROTOCOL - SDKs & APIs
    • UI SDK Components
      • Embedded XP Points
      • Embedded in-dApp Guides
      • Embedded Web3 Search
      • Embedded Quests
    • Quest SDKs & APIs
      • User
      • Entity
      • Badge
      • Campaign
      • App Metric
      • Membership Card
      • Entity Tag
      • Membership Tier
      • Skill
      • Entity Credit Tier
      • Gem
      • Custom Reward
      • Entity Gem
      • Entity Alert
      • Entity Feature Flag
      • Entity Data contract
      • Entity Authentication Token
      • Event Metric Mapping
    • Data Engine
  • Website
  • Quest Thesis
Powered by GitBook
On this page
  1. QUEST PROTOCOL - SDKs & APIs
  2. Quest SDKs & APIs

Entity

PreviousUserNextBadge

Last updated 1 year ago

Get entity details

get

This endpoint retrieves details of an entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
Responses
200
Successful response
application/json
500
Server error
application/json
get
GET /api/entities/{entityId} HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
Accept: */*
{
  "success": true,
  "data": {
    "id": "entity123",
    "entityURLAlias": "my-entity",
    "entityRecordIds": [
      "record1",
      "record2"
    ],
    "contracts": [
      "contract1",
      "contract2"
    ],
    "badgeContractAddress": "0x123abc",
    "dyNFTContractAddress": "0x456def",
    "themeContractAddress": "0x789ghi",
    "name": "My Entity",
    "openseaSlug": "my-entity-slug",
    "description": "This is my entity description.",
    "twitter": "myentity",
    "discord": "myentity#1234",
    "telegram": "myentity",
    "instagram": "myentity",
    "website": "https://myentity.com",
    "medium": "myentity",
    "imageUrl": "https://example.com/myentity.jpg",
    "bannerUrl": "https://example.com/myentity-banner.jpg",
    "isEnabled": false,
    "isPrivate": false,
    "chainSource": "OFF_CHAIN",
    "defaultDyNftThemeId": "0",
    "discordQuestWebhookURL": "https://example.com/discord-webhook",
    "modifiedAt": "2023-06-27T12:45:00Z",
    "createdAt": "2023-06-25T09:00:00Z",
    "plan": "FREE",
    "theme": {},
    "parentEntityId": "e-0000001"
  }
}

Get entity ID for alias

get

This endpoint retrieves the entityId associated with the given alias.

Path parameters
aliasstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
Responses
200
Successful response
application/json
500
Server error
application/json
get
GET /api/entities/alias/{alias}/id HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
Accept: */*
{
  "success": true,
  "data": "e-00001"
}

Get entity ID for custom entity ID

get

This endpoint retrieves the entityId associated with the given customEntityId.

Path parameters
customEntityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
get
GET /api/entities/custom-ids/{customEntityId}/id HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
Accept: */*
{
  "success": true,
  "data": "e-00001"
}

Get Users of an entity

get

This endpoint retrieves all the users associated with the given entity.

Path parameters
entityIdstringRequired
Query parameters
userIdstringRequired

The Id of the user performing the request.

Example: dummy-userid
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/users HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
token: dummy-token
Accept: */*
{
  "success": true,
  "users": {
    "tagDetails": [
      {
        "tagUsers": [
          "userId"
        ],
        "createdAt": "2023-06-25T09:00:00Z",
        "tagId": "dummyId",
        "tagName": "tagnem",
        "entityId": "entityId",
        "description": "description",
        "isPrivate": true,
        "isEnabled": true
      }
    ],
    "userId": "u-userid",
    "imageUrl": "imageurl",
    "location": "india",
    "name": "name",
    "subtitle": "blazingly fast",
    "emails": [
      "[email protected]"
    ],
    "ethAddresses": [
      "0xc0ffee254729296a45a3885639AC7E10F9d54979"
    ],
    "createdAt": "2023-06-25T09:00:00Z",
    "xp": 10,
    "level": 1
  }
}

Get entity API keys

get

This endpoint retrives the API key for an entity.

Path parameters
entityIdstringRequired
Query parameters
userIdstringRequired

The Id of the user performing the request.

Example: dummy-userid
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/keys HTTP/1.1
Host: api.questprotocol.xyz
Accept: */*
{
  "success": true,
  "data": {
    "key": "dummy-key",
    "secret": "dummy-secret",
    "apiCount": 1,
    "apiThreshold": 10,
    "entityId": "e-00001",
    "createdAt": "12/06/23"
  }
}

Get Entity Theme

get

Retrieve the theme of an entity by its ID.

Path parameters
idstringRequired
Responses
200
Successful response
application/json
400
Entity not found
application/json
500
Server error
application/json
get
GET /api/entities/{id}/get-theme HTTP/1.1
Host: api.questprotocol.xyz
Accept: */*
{
  "success": true,
  "theme": {
    "accentColor": "text",
    "backgroundColor": "text",
    "fontFamily": "text",
    "layout": "text"
  }
}

Get all admins of an entity.

get

This endpoint retrieves all the active admins of an entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
Responses
200
Successful response
application/json
400
Client error.
application/json
401
Unauthorized error
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/admins HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true,
  "data": [
    {
      "userId": "user123",
      "name": "somebody",
      "imageUrl": "https://www.myimage.com",
      "ethAddresses": [
        "0xc0ffee254729296a45a3885639AC7E10F9d54979"
      ],
      "emails": [
        "[email protected]"
      ],
      "isActive": true,
      "createdAt": "2023-06-25T09:00:00Z",
      "role": "ADMIN"
    }
  ]
}

Get all pending entities

get

This endpoint retrieves all the entities that are yet to be enabled.

Query parameters
userIdstringRequired

The Id of the user performing the request.

Example: dummy-userid
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
Responses
200
Successful response
application/json
401
Unauthorized error
application/json
500
Server error
application/json
get
GET /api/admin/entities/pending HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true,
  "data": [
    {
      "id": "entity123",
      "entityURLAlias": "my-entity",
      "entityRecordIds": [
        "record1",
        "record2"
      ],
      "contracts": [
        "contract1",
        "contract2"
      ],
      "badgeContractAddress": "0x123abc",
      "dyNFTContractAddress": "0x456def",
      "themeContractAddress": "0x789ghi",
      "name": "My Entity",
      "openseaSlug": "my-entity-slug",
      "description": "This is my entity description.",
      "twitter": "myentity",
      "discord": "myentity#1234",
      "telegram": "myentity",
      "instagram": "myentity",
      "website": "https://myentity.com",
      "medium": "myentity",
      "imageUrl": "https://example.com/myentity.jpg",
      "bannerUrl": "https://example.com/myentity-banner.jpg",
      "isEnabled": false,
      "isPrivate": false,
      "chainSource": "OFF_CHAIN",
      "defaultDyNftThemeId": "0",
      "discordQuestWebhookURL": "https://example.com/discord-webhook",
      "modifiedAt": "2023-06-27T12:45:00Z",
      "createdAt": "2023-06-25T09:00:00Z",
      "plan": "FREE",
      "theme": {},
      "parentEntityId": "e-0000001"
    }
  ]
}

Remove Twitter

post

This endpoint disconnects the twitter account associated with the entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/remove-twitter HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true
}

Remove Discord

post

This endpoint disconnects the discord account associated with the entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/remove-discord HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true
}

Get Social Tokens for Entity

get

Retrieve social tokens for an entity by its ID.

Path parameters
entityIdstringRequired
Query parameters
recordTypestring ยท enumRequired

Type of social record (e.g., TWITTER, DISCORD, INSTAGRAM)

Possible values:
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
400
Bad Request
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/social-tokens HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true,
  "data": {
    "entityId": "123456",
    "recordType": "TWITTER",
    "authClientId": "your_auth_client_id",
    "authorizationToken": "your_authorization_token",
    "apiKey": "your_api_key",
    "apiHost": "api.twitter.com",
    "trackingId": "your_google_analytics_tracking_id"
  }
}

Get Tracking Tokens for Entity

get

Retrieve tracking tokens for an entity by its ID.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/tracking-tokens HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true,
  "data": [
    {
      "recordType": "SEGMENT",
      "entityId": "123456",
      "authClientId": "your_auth_client_id",
      "authorizationToken": "your_authorization_token",
      "apiKey": "your_api_key",
      "apiHost": "api.segment.com"
    }
  ]
}

Check Integration Status for Entity

get

Check integration status for an entity by its ID.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/check-tokens HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true,
  "data": {
    "TWITTER": true,
    "DISCORD": false,
    "SEGMENT": true,
    "AMPLITUDE": false,
    "HEAP": true,
    "MIXPANEL": false,
    "GOOGLE_ANALYTICS": true
  }
}

Get MAU Count for Entity

get

Retrieve Monthly Active Users (MAU) count for a specific entity and month

Path parameters
entityIdstringRequired

The unique identifier of the entity.

monthstringRequired

The month for which the MAU count is requested (e.g., "2023-01").

Responses
200
Successful response
application/json
400
Bad Request
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/month/{month}/mau-count HTTP/1.1
Host: api.questprotocol.xyz
Accept: */*
{
  "success": true,
  "data": {
    "monthlyRequestCount": 100,
    "monthlyUserCount": 50,
    "userIds": [
      "user1",
      "user2"
    ]
  }
}

Get All Organizations for Entity

get

Retrieve all organizations associated with a specific entity.

Path parameters
entityIdstringRequired

The unique identifier of the entity.

Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Responses
200
Successful response
application/json
404
Not Found
application/json
500
Server error
application/json
get
GET /api/entities/{entityId}/organizations HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "status": 200,
  "success": true,
  "json": [
    {
      "entityId": "123456",
      "url": "https://example.com",
      "userIds": [
        "user1",
        "user2"
      ],
      "createdAt": "2023-01-01T12:00:00Z"
    }
  ]
}
  • POSTCreate new entity
  • GETGet all entities
  • GETGet entity details
  • POSTUpdate entity details
  • POSTAdd a custom entity ID
  • GETGet entity ID for alias
  • GETGet entity ID for custom entity ID
  • POSTUpdate entity Plan
  • GETGet Users of an entity
  • POSTAdd users to entity
  • POSTAdd admin to entity
  • GETGet entity API keys
  • GETGet Entity Theme
  • POSTUpdate the theme of an entity.
  • GETGet all admins of an entity.
  • POSTRemove admin from an entity.
  • POSTApprove entity creation
  • GETGet all pending entities
  • POSTConnect Twitter
  • POSTRemove Twitter
  • POSTConnect Discord
  • POSTRemove Discord
  • GETGet Social Tokens for Entity
  • POSTAdd or Update Social Tokens for User in Entity
  • GETGet Tracking Tokens for Entity
  • GETCheck Integration Status for Entity
  • POSTConnect Slack to Entity
  • GETGet MAU Count for Entity
  • GETGet All Organizations for Entity
  • POSTDelete Entity

Get all entities

get

This endpoint retrieves all the available entities.

Query parameters
pagestringOptional

The page number of expected set of documents.

Example: 1
limitstringOptional

The limit of the number of documents each page.

Example: 10
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
Responses
200
Successful response
application/json
500
Server error
application/json
get
GET /api/entities HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
Accept: */*
{
  "success": true,
  "data": [
    {
      "id": "entity123",
      "entityURLAlias": "my-entity",
      "entityRecordIds": [
        "record1",
        "record2"
      ],
      "contracts": [
        "contract1",
        "contract2"
      ],
      "badgeContractAddress": "0x123abc",
      "dyNFTContractAddress": "0x456def",
      "themeContractAddress": "0x789ghi",
      "name": "My Entity",
      "openseaSlug": "my-entity-slug",
      "description": "This is my entity description.",
      "twitter": "myentity",
      "discord": "myentity#1234",
      "telegram": "myentity",
      "instagram": "myentity",
      "website": "https://myentity.com",
      "medium": "myentity",
      "imageUrl": "https://example.com/myentity.jpg",
      "bannerUrl": "https://example.com/myentity-banner.jpg",
      "isEnabled": false,
      "isPrivate": false,
      "chainSource": "OFF_CHAIN",
      "defaultDyNftThemeId": "0",
      "discordQuestWebhookURL": "https://example.com/discord-webhook",
      "modifiedAt": "2023-06-27T12:45:00Z",
      "createdAt": "2023-06-25T09:00:00Z",
      "plan": "FREE",
      "theme": {},
      "parentEntityId": "e-0000001"
    }
  ]
}

Create new entity

post

This endpoint creates a new entity.

Query parameters
userIdstringRequired

The Id of the user performing the request.

Example: dummy-userid
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
namestringRequiredExample: dummy-entity
chainSourcestringRequiredExample: OFF_CHAIN
contractsstringOptionalExample: dummy-contract
openseaSlugstringOptionalExample: dummy-slug
descriptionstringOptionalExample: description
websitestringOptionalExample: https://www.websitelink.com
imageUrlstringOptionalExample: imageurl
bannerUrlstringOptionalExample: bannerurl
entityURLAliasstringOptionalExample: simple-alias
parentEntityIdstringOptionalExample: e-0000000000
Responses
201
Entity created
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 283

{
  "name": "dummy-entity",
  "chainSource": "OFF_CHAIN",
  "contracts": "dummy-contract",
  "openseaSlug": "dummy-slug",
  "description": "description",
  "website": "https://www.websitelink.com",
  "imageUrl": "imageurl",
  "bannerUrl": "bannerurl",
  "entityURLAlias": "simple-alias",
  "parentEntityId": "e-0000000000"
}
{
  "success": true,
  "entityId": "e-000001"
}

Update entity details

post

This endpoint updates an entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
namestringOptionalExample: dummy-entity
descriptionstringOptionalExample: description
twitterstringOptionalExample: twitterid
discordstringOptionalExample: discordId
telegramstringOptionalExample: telegramId
instagramstringOptionalExample: instagramId
websitestringOptionalExample: https://www.websitelink.com
imageUrlstringOptionalExample: imageurl
bannerUrlstringOptionalExample: bannerurl
entityURLAliasstringOptionalExample: simple-alias
isPrivatebooleanOptionalExample: true
decreaseCreditsAtstringOptionalExample: CAMPAIGN_CREATION
decreaseCreditsFromstringOptionalExample: SUB_ENTITY
Responses
200
Entity updated
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/update HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 355

{
  "name": "dummy-entity",
  "description": "description",
  "twitter": "twitterid",
  "discord": "discordId",
  "telegram": "telegramId",
  "instagram": "instagramId",
  "website": "https://www.websitelink.com",
  "imageUrl": "imageurl",
  "bannerUrl": "bannerurl",
  "entityURLAlias": "simple-alias",
  "isPrivate": true,
  "decreaseCreditsAt": "CAMPAIGN_CREATION",
  "decreaseCreditsFrom": "SUB_ENTITY"
}
{
  "success": true
}

Add a custom entity ID

post

This endpoint adds a new custom entity ID.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
customPlatformNamestringRequiredExample: dummy-platform
customPlatformIdstringRequiredExample: platformId
namestringOptionalExample: dummy-name
usernamestringOptionalExample: dummy-username
linkstringOptionalExample: dummy-link
accessTokenstringOptionalExample: dummy-access-token
refreshTokenstringOptionalExample: dummy-refresh-token
expiresInstringOptionalExample: some-date
Responses
200
Entity ID added
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/custom-ids HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 235

{
  "customPlatformName": "dummy-platform",
  "customPlatformId": "platformId",
  "name": "dummy-name",
  "username": "dummy-username",
  "link": "dummy-link",
  "accessToken": "dummy-access-token",
  "refreshToken": "dummy-refresh-token",
  "expiresIn": "some-date"
}
{
  "success": true
}

Update entity Plan

post

This endpoint updates the entity's current plan.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
Body
Responses
200
Successful response
application/json
400
Client error
application/json
401
Unauthorized error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/update-plan HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 35

{
  "product": {
    "name": "product-name"
  }
}
{
  "success": true
}

Add users to entity

post

This endpoint adds the users to a given entity.

Path parameters
entityIdstringRequired
Query parameters
userIdstringRequired

The Id of the user performing the request.

Example: dummy-userid
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
Body
userIdsstring[]RequiredExample: ["userId"]
Responses
200
Successful response
application/json
400
Client error
application/json
401
Unauthorized error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/force-add HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "userIds": [
    "userId"
  ]
}
{
  "success": true
}

Add admin to entity

post

This endpoint adds an admin to the entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
rolestringOptionalExample: ADMIN
emailstringRequiredExample: [email protected]
namestringOptionalExample: Jon Doe
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/invite HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "role": "ADMIN",
  "email": "[email protected]",
  "name": "Jon Doe"
}
{
  "success": true,
  "message": "Admin added to entity"
}

Update the theme of an entity.

post

This endpoint allows to update the theme of an entity.

Path parameters
idstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
tokenstringRequired

The token for user authentication.

Example: dummy-token
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
Body
themeobjectRequired
Responses
200
Successful response
application/json
401
Unauthorized error
application/json
500
Server error
application/json
post
POST /api/entities/{id}/update-theme HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
token: dummy-token
userid: dummy-userid
Content-Type: application/json
Accept: */*
Content-Length: 12

{
  "theme": {}
}
{
  "success": true,
  "message": "Entity theme updated successfully"
}

Remove admin from an entity.

post

This endpoint allows the owner to remove an admin from an entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
userIdstringRequiredExample: admin-1
ownerUserIdstringRequiredExample: entity-owner-1
Responses
200
Successful response.
application/json
400
Client error.
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/remove-admin HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "userId": "admin-1",
  "ownerUserId": "entity-owner-1"
}
{
  "success": true,
  "message": "Admin removed successfully."
}

Approve entity creation

post

This endpoint enables the creation of an entity.

Query parameters
userIdstringRequired

The Id of the user performing the request.

Example: dummy-userid
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
Body
entityIdstringRequiredExample: e-00001
baseNamestringOptionalExample: dummy-base-name
baseSymbolstringOptionalExample: dummy-base-symbol
Responses
200
Successful response
application/json
400
Successful response
application/json
401
Unauthorized error
application/json
500
Server error
application/json
post
POST /api/admin/entities/approve HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 84

{
  "entityId": "e-00001",
  "baseName": "dummy-base-name",
  "baseSymbol": "dummy-base-symbol"
}
{
  "success": true
}

Connect Twitter

post

This endpoint connects the twitter account associated with the entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
userIdstringOptionalExample: u-0000101
entityIdstringOptionalExample: e-0000101
codestringOptionalExample: twitter-redirect-code
redirectUristringOptionalExample: twitter-redirect-uri
typestringOptionalExample: ENTITY_RECORD
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/connect-twitter HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 136

{
  "userId": "u-0000101",
  "entityId": "e-0000101",
  "code": "twitter-redirect-code",
  "redirectUri": "twitter-redirect-uri",
  "type": "ENTITY_RECORD"
}
{
  "success": true,
  "recordId": "twitter-username"
}

Connect Discord

post

This endpoint connects the discord account associated with the entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
guildIdstringOptionalExample: id123
permissionsnumberOptionalExample: 123
userIdstringOptionalExample: u-0000101
entityIdstringOptionalExample: e-0000101
codestringOptionalExample: twitter-redirect-code
redirectUristringOptionalExample: twitter-redirect-uri
typestringOptionalExample: ENTITY_RECORD
Responses
200
Successful response
application/json
400
Client error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/connect-discord HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 172

{
  "guildId": "id123",
  "permissions": 123,
  "userId": "u-0000101",
  "entityId": "e-0000101",
  "code": "twitter-redirect-code",
  "redirectUri": "twitter-redirect-uri",
  "type": "ENTITY_RECORD"
}
{
  "success": true,
  "recordId": "discord-username"
}

Add or Update Social Tokens for User in Entity

post

Add or update social tokens for a user within an entity.

Path parameters
entityIdstringRequired
userIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
authClientIdstringOptional
authClientSecretstringOptional
apiKeystringOptional
apiSecretstringOptional
recordTypestring ยท enumOptionalPossible values:
authorizationTokenstringOptional
apiHoststringOptional
Responses
200
Successful response
application/json
400
Bad Request
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/users/{userId}/social-tokens HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 152

{
  "authClientId": "text",
  "authClientSecret": "text",
  "apiKey": "text",
  "apiSecret": "text",
  "recordType": "TWITTER",
  "authorizationToken": "text",
  "apiHost": "text"
}
{
  "success": true
}

Connect Slack to Entity

post

This endpoint allows connecting a Slack account to an entity.

Path parameters
entityIdstringRequired
Query parameters
userIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
entity-authentication-tokenstringOptional

The authentication token to authorize requests on behalf of an entity.

Example: dummy-token
Body
codestringRequired
redirectUristringRequired
Responses
200
Successful response
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/connect-slack HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "code": "text",
  "redirectUri": "text"
}
{
  "success": true,
  "recordId": "xyz123"
}

Delete Entity

post

This endpoint deletes an entity.

Path parameters
entityIdstringRequired
Header parameters
apikeystringRequired

The API key for authentication

Example: test
apisecretstringOptional

The secret key for authentication

Example: test-secret
useridstringRequired

The Id of the user performing the request.

Example: dummy-userid
tokenstringRequired

The token for user authentication.

Example: dummy-token
Body
objectOptional
Responses
200
Successful response
application/json
400
Client error
application/json
401
Unauthorized error
application/json
500
Server error
application/json
post
POST /api/entities/{entityId}/delete HTTP/1.1
Host: api.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{
  "success": true,
  "message": "Entity deleted successfully"
}