GET
/
api
/
loyalty
/
rule_groups
import SnagSolutions from '@snagsolutions/sdk';

const client = new SnagSolutions({
  apiKey: process.env['X_API_KEY'], // This is the default and can be omitted
});

async function main() {
  const response = await client.loyalty.ruleGroups.getRuleGroups();

  console.log(response.data);
}

main();
{
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "<string>",
      "isRequired": true,
      "sortId": 123,
      "isCollapsible": true,
      "subTitle": "<string>",
      "loyaltyGroupItems": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "sortId": 123,
          "loyaltyRule": {
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "name": "<string>",
            "description": "<string>",
            "isRequired": true,
            "deletedAt": "2023-11-07T05:31:56Z",
            "loyaltyCurrencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "type": "Bonus",
            "amount": 123,
            "hideInUi": true,
            "startTime": "2023-11-07T05:31:56Z",
            "endTime": "2023-11-07T05:31:56Z",
            "rewardType": "points",
            "frequency": "none",
            "metadata": {
              "onlyNonListed": true,
              "hasPaidFullRoyalty": false,
              "hasVerifiedTwitter": true,
              "onlyRewardExistingUser": true,
              "hasNeverSold": false,
              "onlyNative": true,
              "hasFillSource": true,
              "fillSource": "opensea.io",
              "hasOrderSource": true,
              "orderSource": "opensea.io",
              "twitterUsername": "@example_user",
              "twitterUserId": "1234567890",
              "twitterHashtag": "#loyalty",
              "enableVerifiedMultiplier": true,
              "verifiedMultiplier": 1.5,
              "isMultiplierApplied": true,
              "onlyKnownUsers": false,
              "firstReferralReward": 10,
              "referrerReward": 50,
              "secondReferralReward": 5,
              "enableStreaks": true,
              "promoCode": "PROMO123",
              "enableJoinDiscordServers": true,
              "discordServersToJoin": [
                {
                  "id": "123456789012345678",
                  "channels": [
                    {
                      "id": "987654321098765432",
                      "text": "Hello",
                      "emojis": [
                        {
                          "id": "1f600"
                        }
                      ]
                    }
                  ],
                  "roles": [
                    {
                      "id": "role123"
                    }
                  ]
                }
              ],
              "streakArray": [
                {
                  "streakMilestone": 5,
                  "streakAmount": 10
                }
              ],
              "dripQuestsToComplete": [
                {
                  "id": "drip123"
                }
              ],
              "collection": [
                {
                  "address": "0xabcdefabcdefabcdefabcdefabcdefabcdef",
                  "network": "mainnet",
                  "multiplier": 2
                }
              ],
              "range": [
                {
                  "startRange": 1,
                  "endRange": 10,
                  "amount": 5
                }
              ],
              "customRewardsApiKey": "api-key-1234",
              "link": "https://example.com",
              "socialPlatform": "X(Twitter)",
              "socialPlatformName": "Twitter",
              "socialPlatformLogo": "https://example.com/logo.png",
              "rewardPerImpression": true,
              "minQty": 1,
              "maxQty": 10,
              "snapshotProposals": [
                {
                  "id": "proposal123",
                  "space": "space123"
                }
              ],
              "cta": {
                "label": "Click Here",
                "href": "https://example.com"
              },
              "hasSaleCurrency": false,
              "isTokenHoldMultiplier": true,
              "saleCurrency": "USD",
              "isRetroactive": true,
              "timeDelayToVerifySeconds": 300,
              "referralRequirements": {
                "points": {
                  "amount": 50,
                  "loyaltyCurrecyId": "currency123"
                },
                "achievePoints": true,
                "completeProfile": false,
                "connectTwitter": true,
                "connectDiscord": true,
                "connectEmail": true
              },
              "multiplierLoyaltyCurrencyIds": [
                "currency123",
                "currency456"
              ],
              "verifyPlaceHolderText": "Enter your verification code here.",
              "verificationTextMinimumLength": 10,
              "buttonText": "Verify Now",
              "telegramChannelId": "telegram-channel-123",
              "twitterAccountUrl": "https://twitter.com/example_user",
              "twitterPostUrl": "https://twitter.com/example/status/1234567890",
              "checkLike": true,
              "checkRepost": true,
              "checkComment": true,
              "checkText": "loyalty",
              "smartContract": {
                "contractId": "123e4567-e89b-12d3-a456-426614174000",
                "abi": "[]",
                "event": "Transfer",
                "criteria": "everyEvent",
                "params": [
                  {
                    "name": "value",
                    "condition": ">=",
                    "value": "100"
                  }
                ],
                "withCustomRange": true,
                "customRange": {
                  "startsAt": "2024-01-01T00:00:00Z",
                  "endsAt": "2024-01-31T23:59:59Z"
                },
                "withMax": true,
                "max": 1000,
                "withBonus": true,
                "bonus": [
                  {
                    "amount": 50,
                    "count": 5
                  }
                ],
                "addressMapping": "0x123...789"
              },
              "walletType": "evm",
              "imageUrl": "https://example.com/image.png",
              "trackAllContracts": true,
              "onlyRewardSingleTokenOwnership": true,
              "skipMultiplier": true,
              "completeProfileConditions": {
                "twitter": true,
                "discord": false
              },
              "steamAppId": "1234567890",
              "trackProgress": true
            },
            "mediaUrl": "<string>"
          }
        }
      ]
    }
  ],
  "hasNextPage": true
}

Authorizations

X-API-KEY
string
header
required

Query Parameters

websiteId
string
organizationId
string
startingAfter
string
limit
integer
Required range: 1 <= x <= 1000
excludeHidden
string
default:true

Response

200
application/json
200
data
object[]
required

Schema for a get loyalty rule groups response

hasNextPage
boolean
required