Entity

Create new entity

post
/entities

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
post
/entities
POST /api/entities?userId=dummy-userid HTTP/1.1
Host: https:/.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"
}

Get all entities

get
/entities

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
get
/entities
GET /api/entities HTTP/1.1
Host: https:/.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 details

get
/entities/{entityId}

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
get
/entities/{entityId}
GET /api/entities/{entityId} HTTP/1.1
Host: https:/.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"
  }
}

Update entity details

post
/entities/{entityId}/update

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
post
/entities/{entityId}/update
POST /api/entities/{entityId}/update HTTP/1.1
Host: https:/.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
/entities/{entityId}/custom-ids

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
post
/entities/{entityId}/custom-ids
POST /api/entities/{entityId}/custom-ids HTTP/1.1
Host: https:/.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
}

Get entity ID for alias

get
/entities/alias/{alias}/id

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
get
/entities/alias/{alias}/id
GET /api/entities/alias/{alias}/id HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Accept: */*
{
  "success": true,
  "data": "e-00001"
}

Get entity ID for custom entity ID

get
/entities/custom-ids/{customEntityId}/id

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
get
/entities/custom-ids/{customEntityId}/id
GET /api/entities/custom-ids/{customEntityId}/id HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
Accept: */*
{
  "success": true,
  "data": "e-00001"
}

Update entity Plan

post
/entities/{entityId}/update-plan

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
post
/entities/{entityId}/update-plan
POST /api/entities/{entityId}/update-plan HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 35

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

Get Users of an entity

get
/entities/{entityId}/users

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
get
/entities/{entityId}/users
GET /api/entities/{entityId}/users?userId=dummy-userid HTTP/1.1
Host: https:/.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
  }
}

Add users to entity

post
/entities/{entityId}/force-add

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
post
/entities/{entityId}/force-add
POST /api/entities/{entityId}/force-add?userId=dummy-userid HTTP/1.1
Host: https:/.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
/entities/{entityId}/invite

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
post
/entities/{entityId}/invite
POST /api/entities/{entityId}/invite HTTP/1.1
Host: https:/.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"
}

Get entity API keys

get
/entities/{entityId}/keys

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
get
/entities/{entityId}/keys
GET /api/entities/{entityId}/keys?userId=dummy-userid HTTP/1.1
Host: https:/.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
/entities/{id}/get-theme

Retrieve the theme of an entity by its ID.

Path parameters
idstringRequired
Responses
200

Successful response

application/json
get
/entities/{id}/get-theme
GET /api/entities/{id}/get-theme HTTP/1.1
Host: https:/.questprotocol.xyz
Accept: */*
{
  "success": true,
  "theme": {
    "accentColor": "text",
    "backgroundColor": "text",
    "fontFamily": "text",
    "layout": "text"
  }
}

Update the theme of an entity.

post
/entities/{id}/update-theme

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
post
/entities/{id}/update-theme
POST /api/entities/{id}/update-theme HTTP/1.1
Host: https:/.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"
}

Get all admins of an entity.

get
/entities/{entityId}/admins

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
get
/entities/{entityId}/admins
GET /api/entities/{entityId}/admins HTTP/1.1
Host: https:/.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"
    }
  ]
}

Remove admin from an entity.

post
/entities/{entityId}/remove-admin

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
post
/entities/{entityId}/remove-admin
POST /api/entities/{entityId}/remove-admin HTTP/1.1
Host: https:/.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
/admin/entities/approve

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
post
/admin/entities/approve
POST /api/admin/entities/approve?userId=dummy-userid HTTP/1.1
Host: https:/.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
}

Get all pending entities

get
/admin/entities/pending

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
get
/admin/entities/pending
GET /api/admin/entities/pending?userId=dummy-userid HTTP/1.1
Host: https:/.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"
    }
  ]
}

Connect Twitter

post
/entities/{entityId}/connect-twitter

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
post
/entities/{entityId}/connect-twitter
POST /api/entities/{entityId}/connect-twitter HTTP/1.1
Host: https:/.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"
}

Remove Twitter

post
/entities/{entityId}/remove-twitter

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
post
/entities/{entityId}/remove-twitter
POST /api/entities/{entityId}/remove-twitter HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true
}

Connect Discord

post
/entities/{entityId}/connect-discord

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
post
/entities/{entityId}/connect-discord
POST /api/entities/{entityId}/connect-discord HTTP/1.1
Host: https:/.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"
}

Remove Discord

post
/entities/{entityId}/remove-discord

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
post
/entities/{entityId}/remove-discord
POST /api/entities/{entityId}/remove-discord HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Accept: */*
{
  "success": true
}

Get Social Tokens for Entity

get
/entities/{entityId}/social-tokens

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
get
/entities/{entityId}/social-tokens
GET /api/entities/{entityId}/social-tokens?recordType=TWITTER HTTP/1.1
Host: https:/.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"
  }
}

Add or Update Social Tokens for User in Entity

post
/entities/{entityId}/users/{userId}/social-tokens

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
post
/entities/{entityId}/users/{userId}/social-tokens
POST /api/entities/{entityId}/users/{userId}/social-tokens HTTP/1.1
Host: https:/.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
}

Get Tracking Tokens for Entity

get
/entities/{entityId}/tracking-tokens

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
get
/entities/{entityId}/tracking-tokens
GET /api/entities/{entityId}/tracking-tokens HTTP/1.1
Host: https:/.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
/entities/{entityId}/check-tokens

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
get
/entities/{entityId}/check-tokens
GET /api/entities/{entityId}/check-tokens HTTP/1.1
Host: https:/.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
  }
}

Connect Slack to Entity

post
/entities/{entityId}/connect-slack

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
post
/entities/{entityId}/connect-slack
POST /api/entities/{entityId}/connect-slack?userId=text HTTP/1.1
Host: https:/.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"
}

Get MAU Count for Entity

get
/entities/{entityId}/month/{month}/mau-count

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
get
/entities/{entityId}/month/{month}/mau-count
GET /api/entities/{entityId}/month/{month}/mau-count HTTP/1.1
Host: https:/.questprotocol.xyz
Accept: */*
{
  "success": true,
  "data": {
    "monthlyRequestCount": 100,
    "monthlyUserCount": 50,
    "userIds": [
      "user1",
      "user2"
    ]
  }
}

Get All Organizations for Entity

get
/entities/{entityId}/organizations

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
get
/entities/{entityId}/organizations
GET /api/entities/{entityId}/organizations HTTP/1.1
Host: https:/.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"
    }
  ]
}

Delete Entity

post
/entities/{entityId}/delete

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
post
/entities/{entityId}/delete
POST /api/entities/{entityId}/delete HTTP/1.1
Host: https:/.questprotocol.xyz
apikey: test
userid: dummy-userid
token: dummy-token
Content-Type: application/json
Accept: */*
Content-Length: 2

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

Last updated