Skip to main content
GET
/
v1
/
community
/
quests
cURL
curl --request GET \
  --url https://api.flipsuite.xyz/v1/community/quests \
  --header 'x-api-key: <x-api-key>'
import requests

url = "https://api.flipsuite.xyz/v1/community/quests"

headers = {"x-api-key": "<x-api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};

fetch('https://api.flipsuite.xyz/v1/community/quests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flipsuite.xyz/v1/community/quests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.flipsuite.xyz/v1/community/quests"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-api-key", "<x-api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.flipsuite.xyz/v1/community/quests")
.header("x-api-key", "<x-api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.flipsuite.xyz/v1/community/quests")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'

response = http.request(request)
puts response.read_body
{
  "data": [
    {
      "id": "64a103a1-5f64-4f5c-8aa3-943595d63ccc",
      "communityId": "90895e48-0db7-4e99-b63a-b4401753da62",
      "name": "Raffle Quest",
      "shortDescription": "Quest intro",
      "fullDescription": "Extra quest description and instructions",
      "createdAt": 1783777013016,
      "startTime": 1783777013016,
      "endTime": 1784036213016,
      "status": "ACTIVE",
      "recurrence": "ONCE",
      "recurrenceInterval": 259200000,
      "visibility": "PUBLIC",
      "iteration": 1,
      "iterationCompletions": [
        23
      ],
      "totalCompletionCount": 23,
      "tasks": [
        {
          "id": "c8323dc5-7141-4e1b-aa50-b405d8b002aa",
          "type": "TWITTER_POST_INTERACTION",
          "postUrl": "https://x.com/flipsuitexyz/status/2021683679102206339",
          "isLikeRequired": true,
          "isRepostRequired": true,
          "isCommentRequired": true
        }
      ],
      "rewards": [
        {
          "id": "12ebbcaf-596c-4439-b3b1-65868841230a",
          "type": "FIXED",
          "strategy": {
            "type": "RAFFLE",
            "maxWinners": 5
          },
          "item": {
            "type": "TOKEN",
            "chain": "Base",
            "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
            "amount": 1
          }
        }
      ]
    }
  ],
  "pagination": {
    "offset": 123,
    "limit": 123,
    "total": 123,
    "count": 123
  }
}

Headers

x-api-key
string
required

Your community API key

Query Parameters

statuses
enum<string>[]

Quest statuses to filter by

Available options:
DRAFT,
TEMPLATE,
ACTIVE,
PAUSED,
REVIEW,
ENDED,
ARCHIVED
recurrenceTypes
enum<string>[]

Quest recurrence types to filter by

Available options:
ONCE,
DAILY,
WEEKLY,
MONTHLY,
CUSTOM
visibilityTypes
enum<string>[]

Quest visibility types to filter by

Available options:
PRIVATE,
PUBLIC,
SHARED
taskTypes
enum<string>[]

Task types to filter by

Available options:
API,
DISCORD_ACCOUNT_AGE,
DISCORD_SERVER_ROLES,
DISCORD_SERVER_TAG,
DISCORD_USERS,
FILE_UPLOAD,
NFT_BALANCE,
NUMBER_INPUT,
POINTS_BALANCE,
POINTS_TIP,
POLL_INPUT,
QUEST_STREAK,
TEXT_INPUT,
TOKEN_BALANCE,
TOKEN_SWAP,
TOKEN_TIP,
TOPGG_DISCORD_BOT_VOTE,
TOPGG_DISCORD_SERVER_VOTE,
TWITTER_ACCOUNT_AGE,
TWITTER_ACCOUNT_FOLLOW,
TWITTER_ACCOUNT_FOLLOWERS,
TWITTER_ACCOUNT_SUBSCRIBE,
TWITTER_ACCOUNT_VERIFIED,
TWITTER_POST_CREATE,
TWITTER_POST_INTERACTION,
WALLET_INPUT
rewardTypes
enum<string>[]

Reward types to filter by

Available options:
FIXED,
SHARED,
RANDOM
query
string

Search query to match quest name and description against

Maximum string length: 256
offset
number
default:0
Required range: x >= 0
limit
number
default:20
Required range: 0 <= x <= 50

Response

200 - application/json

Quests have been retrieved

data
object[]
required

Quests matching the query

pagination
object
required

Pagination metadata