Skip to main content

Get active quests

Return all currently active quests.

Use Cases

  1. Display active quests in your own application.

  2. Create automations that post to your social channels once a new quest is created.

Request

HTTP GET to /quests with Content-Type: application/json. Optionally you can pass address to check the user's status for that quest.

/quests?address=0x435Cd3902d1b4f4E842F2C0fd5028EEE71dd099C

Query string parameters

address

Checksum'd EIP-55 compliant wallet address.

Typestring
RequiredNo
LimitationsA string of valid wallet addresses (0x...)
Examples"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"

Response

{
"twitterNameQuests": [],
"discordJoinQuests": [],
"twitterPostQuests": [],
"twitterContentQuests": [],
"discordReactionQuests": [],
"customQuests": [],
"visitLinkQuests": [],
"externalQuests": []
"collectNftQuests": [],
"twitterFollowQuests": [
{
"twitterUsername": "string",
"twitterId": "string",
"id": "string",
"name": "string",
"description": "string", // can be HTML
"note": "string",
"campaignType": "string",
"start": "string", // iso8601
"end": "string" // iso8601 when the quest ends, can be null for never
"rewardCurrencyId": "string",
"rewardCurrencyName": "string",
"rewardCurrencySymbol": "string",
"rewardAmount": decimal,
"rewardPayoutType": "string",
"bonusXpToReward": int,
"requirements": {
"xp": {
"xpSeasonId": int,
"minimumXp": int,
"maximumXp": int
},
"currency": {
"currencyId": "string",
"minimumCurrencyAmount": decimal,
"maximumCurrencyAmount": decimal
},
"token": {
"collections": []
}
},
"isUserRewarded": boolean, // true if the user has been rewarded already. null if address not passed
"isUserParticipating": boolean, // true if the user has completed but waiting payout, i.e. for manual review. null if address not passed
"userEntryStatus": "string", // "REWARDED" if successfuly completed, "ACCEPTED" if evidence was reviewed and accepted but still pending payout, "REJECTED" if evidence was rejected, and "PENDING" if evidence is waiting to be reviewed
"userCompletions": int, // number of times the user has completed this quest if recurrence is set. null if address not passed
"userLastEntry": "string", // iso8601 of when the user last completed this quest, null if user address not passed
"userNextEarliestEntry": "string", // iso8601 of when the user can next enter this quest, null if user address not passed or no recurrence,
"recurrence": "string", // a timespan of how often the quest can be re-entered (e.g, 1.00:00:00 is 1 day or 0.00:00:00 for only can be completed once)
"note": "string" // any internal notes you have set for this quest
}
}

Codes

CodeSuccessDescription
2XXYesYour request was successfully processed and data is returned.
4XXNoYour request failed, most likely we were unable to match the wallet address to an account.
5XXNoThe entire transaction failed due to a server-side error. If the error continues after several attempts, please report this to the On3 support team.