> ## Documentation Index
> Fetch the complete documentation index at: https://docs.snagsolutions.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Loyalty Rule Groups

> Retrieve configured loyalty rule groups



## OpenAPI

````yaml /api-reference/openapi.documented.json get /api/loyalty/rule_groups
openapi: 3.0.2
info:
  title: Snag Solutions - API Docs
  description: >-
    Documentation for Loyalty & Socials APIs. Some endpoints require an API key
    to authenticate. To obtain a key, reach out to the Snag Solutions team at
    support@snagsolutions.io.
  version: '0.1'
servers:
  - url: https://admin.snagsolutions.io/
    description: Production
security: []
paths:
  /api/loyalty/rule_groups:
    get:
      tags:
        - Loyalty
      summary: Get Loyalty Rule Groups
      description: Retrieve configured loyalty rule groups
      parameters:
        - name: websiteId
          in: query
          schema:
            type: string
            format: uuid
        - name: organizationId
          in: query
          schema:
            type: string
            format: uuid
        - name: startingAfter
          in: query
          schema:
            type: string
            format: uuid
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 1000
        - name: excludeHidden
          in: query
          schema:
            default: 'true'
            type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type: string
                        isRequired:
                          type: boolean
                        sortId:
                          type: number
                        isCollapsible:
                          type: boolean
                        subTitle:
                          type: string
                          nullable: true
                        loyaltyGroupItems:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                              sortId:
                                type: number
                              loyaltyRule:
                                type: object
                                properties:
                                  id:
                                    type: string
                                    format: uuid
                                  name:
                                    type: string
                                  description:
                                    type: string
                                    nullable: true
                                  isRequired:
                                    type: boolean
                                  deletedAt:
                                    type: string
                                    format: date-time
                                    nullable: true
                                  loyaltyCurrencyId:
                                    type: string
                                    format: uuid
                                  type:
                                    type: string
                                    enum:
                                      - Bonus
                                      - BoughtOn
                                      - BoughtWithRoyalties
                                      - DiscordMessages
                                      - Listing
                                      - Lodging
                                      - PoapClaim
                                      - SnagSocialsConnected
                                      - SnapshotFullset
                                      - SnapshotHold
                                      - SoldWithRoyalties
                                      - TwitterBio
                                      - TwitterHashTagPost
                                      - MintOn
                                      - SoldOn
                                      - TokenHold
                                      - Retweet
                                      - check_in
                                      - code_entry
                                      - connect_wallet
                                      - connected_discord
                                      - connected_email
                                      - connected_epic
                                      - connected_github
                                      - connected_steam
                                      - connected_telegram
                                      - connected_twitter
                                      - create_partner_account
                                      - discord_member
                                      - drip_x_follow
                                      - drip_x_new_tweet
                                      - drip_x_text_in_bio
                                      - drip_x_text_in_comment
                                      - drip_x_text_in_name
                                      - drip_x_tweet
                                      - external_rule
                                      - link_click
                                      - manual_upload
                                      - profile_completed
                                      - referred_user
                                      - smart_contract_event
                                      - snapshot_governance
                                      - telegram_join
                                      - telegram_messages
                                      - text_input
                                      - token_hold_erc20
                                      - tweet_liked_by_project
                                      - twitter_comment
                                      - twitter_follow
                                      - twitter_followers
                                      - twitter_like
                                      - twitter_post_hashtag
                                      - quiz
                                      - poll
                                      - steam_wishlist
                                      - liquidity_uniswap_v2
                                      - liquidity_uniswap_v3
                                      - points_airdrop
                                      - youtube_subscribers
                                      - youtube_comment
                                      - shopify_spend
                                      - swap
                                      - tiktok_post
                                      - post_impressions
                                      - discord_join
                                      - connected_youtube
                                      - stratus_function
                                      - connected_tiktok
                                      - tiktok_follow
                                      - github_repo_star
                                      - github_repo_fork
                                      - github_repo_collaborator
                                      - github_merge_PR
                                      - discord_role_grant
                                      - connected_reddit
                                      - reddit_comment
                                      - robinhood_token_hold
                                      - connected_instagram
                                      - instagram_post
                                      - instagram_follow
                                      - connected_phone
                                      - dapps_by_gas_spent
                                      - dapps_by_active_users
                                      - dapps_by_new_users
                                      - dapps_by_transaction_count
                                      - dapps_by_user_retention
                                  amount:
                                    type: number
                                    nullable: true
                                  hideInUi:
                                    type: boolean
                                  startTime:
                                    type: string
                                    format: date-time
                                    nullable: true
                                  endTime:
                                    type: string
                                    format: date-time
                                    nullable: true
                                  rewardType:
                                    type: string
                                    enum:
                                      - points
                                      - multiplier
                                      - badge
                                      - token
                                  frequency:
                                    type: string
                                    enum:
                                      - none
                                      - once
                                      - hourly
                                      - daily
                                      - weekly
                                      - monthly
                                      - immediately
                                    nullable: true
                                  metadata:
                                    type: object
                                    properties:
                                      isCheckInOnEveryTxn:
                                        type: boolean
                                        title: Count any rule completion as check-in
                                        description: >-
                                          If enabled, the first transaction done
                                          on the platform will complete this rule
                                        example: true
                                      hasPaidFullRoyalty:
                                        type: boolean
                                        title: Has Paid Full Royalty
                                        description: >-
                                          Indicates if the full royalty has been
                                          paid for items.
                                        example: false
                                      royaltyAddress:
                                        type: string
                                        title: Wallet Address
                                        description: >-
                                          Wallet address of the user can only be
                                          used if userId is not provided
                                        example: >-
                                          0x1234567890abcdef1234567890abcdef12345678
                                      royaltyPercentage:
                                        type: number
                                        minimum: 1
                                        maximum: 100
                                        title: Royalty Percentage
                                        description: Royalty percentage of the item.
                                        example: 5
                                      hasVerifiedTwitter:
                                        type: boolean
                                        title: Has Verified Twitter
                                        description: >-
                                          Indicates if the user has a verified
                                          Twitter account.
                                        example: true
                                      onlyRewardExistingUser:
                                        type: boolean
                                        title: Only Reward Existing User
                                        description: >-
                                          Indicates if only existing users are
                                          rewarded.
                                        example: true
                                      hasNeverSold:
                                        type: boolean
                                        title: Has Never Sold
                                        description: >-
                                          Indicates if the item has never been
                                          sold.
                                        example: false
                                      onlyNative:
                                        type: boolean
                                        title: Only Native
                                        description: >-
                                          Flag indicating whether to include only
                                          native tokens.
                                        example: true
                                      hasFillSource:
                                        type: boolean
                                        title: Has Fill Source
                                        description: >-
                                          Flag indicating whether the fill source
                                          is included.
                                        example: true
                                      fillSource:
                                        type: string
                                        title: Fill Source
                                        description: >-
                                          Fill source of the order for the token
                                          sale
                                        example: opensea.io
                                      liquidity:
                                        type: object
                                        properties:
                                          network:
                                            type: string
                                            enum:
                                              - abstract
                                              - abstractTestnet
                                              - apechain
                                              - arbitrum
                                              - avalanche
                                              - avalancheFuji
                                              - base
                                              - baseSepolia
                                              - berachain
                                              - berachainArtio
                                              - berachainBepolia
                                              - binance
                                              - bscTestnet
                                              - campTestnet
                                              - fantom
                                              - fantomTestnet
                                              - flowMainnet
                                              - mainnet
                                              - nexus
                                              - nexusTestnet
                                              - optimism
                                              - polygon
                                              - polygon_mumbai
                                              - skaleNebula
                                              - skaleEuropa
                                              - skaleCalypso
                                              - solana
                                              - sophon
                                              - sophonTestnet
                                              - sui
                                              - superseed
                                              - superseedSepolia
                                              - vanar
                                              - xai
                                              - zksync
                                              - coti
                                              - cotiTestnet
                                              - dogeosTestnet
                                              - morph
                                              - morphTestnet
                                              - morphHolesky
                                              - ultra
                                              - ultraTestnet
                                              - nitrograph
                                              - sepolia
                                              - optimism_sepolia
                                              - arbitrumSepolia
                                              - goerli
                                              - optimism_goerli
                                              - arbitrumGoerli
                                              - basecamp
                                              - somnia
                                              - zkverify
                                              - polkadot
                                              - kusama
                                              - horizen
                                              - horizenTestnet
                                              - flow_cadence
                                            title: Network
                                            description: >-
                                              Blockchain network of the liquidity
                                              pool.
                                            example: mainnet
                                          protocol:
                                            type: string
                                            title: Protocol
                                            description: Protocol of the liquidity pool.
                                            example: Uniswap V2
                                          onlyRewardInRangeLiquidity:
                                            type: boolean
                                            title: Only Reward In-Range Liquidity
                                            description: >-
                                              Indicates if only in-range liquidity is
                                              rewarded.
                                            example: true
                                          liquidityPerDay:
                                            type: number
                                            title: Liquidity Per Day
                                            description: Liquidity provided per day in USD
                                            example: 1000
                                          customFunction:
                                            type: string
                                            title: Custom Function
                                            description: >-
                                              Custom function to calculate the the
                                              reward amount based on the liquidity
                                              provided per day. X is the reward
                                              amount, Y is the liquidity provided per
                                              day in USD.
                                            example: x = y * 1000
                                          calculationType:
                                            type: string
                                            enum:
                                              - fixed
                                              - custom
                                            title: Calculation Type
                                            description: Calculation type of the liquidity pool.
                                            example: fixed
                                          pools:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                id:
                                                  type: string
                                                  title: Liquidity Pool ID
                                                  description: Unique identifier of the liquidity pool.
                                                  example: '0xabcdefabcdefabcdefabcdefabcdefabcdef'
                                              required:
                                                - id
                                            maxItems: 20
                                            title: Liquidity Pools
                                            description: >-
                                              Array of liquidity pools associated with
                                              the rule.
                                        title: Liquidity
                                        description: Liquidity pool details.
                                      twitterUsername:
                                        type: string
                                        title: Twitter Username
                                        description: Twitter username of the user.
                                        example: '@example_user'
                                      twitterUserId:
                                        type: string
                                        title: Twitter User ID
                                        description: Unique identifier of the Twitter user.
                                        example: '1234567890'
                                      twitterHashtag:
                                        type: string
                                        title: Twitter Hashtag
                                        description: >-
                                          Hashtag associated with the Twitter
                                          post.
                                        example: '#loyalty'
                                      enableVerifiedMultiplier:
                                        type: boolean
                                        title: Enable Verified Multiplier
                                        description: >-
                                          Flag indicating whether the verified
                                          multiplier is enabled.
                                        example: true
                                      verifiedMultiplier:
                                        type: number
                                        nullable: true
                                        title: Verified Multiplier
                                        description: >-
                                          Multiplier applied to rewards for
                                          verified users.
                                        example: 1.5
                                      isMultiplierApplied:
                                        type: boolean
                                        title: Is Multiplier Applied
                                        description: >-
                                          Indicates if the multiplier has been
                                          applied to rewards.
                                        example: true
                                      onlyKnownUsers:
                                        type: boolean
                                        title: Only Known Users
                                        description: >-
                                          Flag indicating whether to include only
                                          known users.
                                        example: false
                                      firstReferralReward:
                                        type: number
                                        nullable: true
                                        title: First Referral Reward
                                        description: >-
                                          Percentage reward given to a user for
                                          their first referral.
                                        example: 10
                                      referrerReward:
                                        type: number
                                        nullable: true
                                        title: Referrer Reward
                                        description: Lump sum reward given to a referrer.
                                        example: 50
                                      referrerRewardLoyaltyCurrencyId:
                                        type: string
                                        nullable: true
                                        title: Referrer Reward Loyalty Currency ID
                                        description: >-
                                          Loyalty currency ID of the referrer
                                          reward.
                                        example: '1234567890'
                                      secondReferralReward:
                                        type: number
                                        nullable: true
                                        title: Second Referral Reward
                                        description: >-
                                          Percentage reward given for a
                                          second-level referral.
                                        example: 5
                                      enableStreaks:
                                        type: boolean
                                        nullable: true
                                        title: Enable Streaks
                                        description: >-
                                          Flag indicating whether streaks are
                                          enabled.
                                        example: true
                                      promoCode:
                                        type: string
                                        title: Promo Code
                                        description: >-
                                          Promotional code associated with the
                                          rule.
                                        example: PROMO123
                                      promoCodeType:
                                        type: string
                                        enum:
                                          - code
                                          - csv
                                          - generate
                                        title: Promo Code Type
                                        description: Type of the promotional code.
                                        example: code
                                      promoCodeLength:
                                        type: number
                                        nullable: true
                                        title: Promo Code Length
                                        description: >-
                                          Numbers of the promotional code to be
                                          generated.
                                        example: 10
                                      promoCodeCsvUrl:
                                        type: string
                                        title: Promo Code CSV URL
                                        description: >-
                                          URL of the CSV file containing promo
                                          codes.
                                        example: https://example.com/promo_codes.csv
                                      enableJoinDiscordServers:
                                        type: boolean
                                        nullable: true
                                        title: Enable Join Discord Servers
                                        description: >-
                                          Flag indicating whether joining Discord
                                          servers is required.
                                        example: true
                                      discordServersToJoin:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            id:
                                              type: string
                                              title: Discord Server ID
                                              description: ID of the Discord server to join.
                                              example: '123456789012345678'
                                            channels:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  id:
                                                    type: string
                                                    title: Channel ID
                                                    description: ID of the Discord channel.
                                                    example: '987654321098765432'
                                                  text:
                                                    type: string
                                                    title: Text
                                                    description: >-
                                                      Phrase of text to be present in the
                                                      discord message
                                                    example: Hello
                                                  emojis:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        id:
                                                          type: string
                                                          title: Emoji ID
                                                          description: ID of the emoji used in the channel.
                                                          example: 1f600
                                                    title: Emojis
                                                    description: Array of emojis used in the channel.
                                              title: Channels
                                              description: Array of Discord channels to join.
                                            roles:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  id:
                                                    type: string
                                                    title: Role ID
                                                    description: ID of the role in the Discord server.
                                                    example: role123
                                                required:
                                                  - id
                                              title: Roles
                                              description: >-
                                                Array of roles to assign in the Discord
                                                server.
                                        nullable: true
                                        title: Discord Servers to Join
                                        description: >-
                                          Array of Discord servers, channels, and
                                          roles to join.
                                      streakArray:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            streakMilestone:
                                              type: number
                                              title: Streak Milestone
                                              description: >-
                                                Milestone required to achieve the
                                                streak.
                                              example: 5
                                            streakAmount:
                                              type: number
                                              title: Streak Amount
                                              description: >-
                                                Reward amount for achieving the streak
                                                milestone.
                                              example: 10
                                          required:
                                            - streakMilestone
                                            - streakAmount
                                        nullable: true
                                        title: Streak Array
                                        description: >-
                                          Array of streak milestones and
                                          corresponding rewards.
                                      dripQuestsToComplete:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            id:
                                              type: string
                                              title: Drip Quest ID
                                              description: ID of the drip quest to complete.
                                              example: drip123
                                          required:
                                            - id
                                        nullable: true
                                        title: Drip Quests to Complete
                                        description: >-
                                          Array of drip quests required to
                                          complete the rule.
                                      collection:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            address:
                                              type: string
                                              title: Collection Address
                                              description: Blockchain address of the collection.
                                              example: '0xabcdefabcdefabcdefabcdefabcdefabcdef'
                                            network:
                                              type: string
                                              enum:
                                                - abstract
                                                - abstractTestnet
                                                - apechain
                                                - arbitrum
                                                - avalanche
                                                - avalancheFuji
                                                - base
                                                - baseSepolia
                                                - berachain
                                                - berachainArtio
                                                - berachainBepolia
                                                - binance
                                                - bscTestnet
                                                - campTestnet
                                                - fantom
                                                - fantomTestnet
                                                - flowMainnet
                                                - mainnet
                                                - nexus
                                                - nexusTestnet
                                                - optimism
                                                - polygon
                                                - polygon_mumbai
                                                - skaleNebula
                                                - skaleEuropa
                                                - skaleCalypso
                                                - solana
                                                - sophon
                                                - sophonTestnet
                                                - sui
                                                - superseed
                                                - superseedSepolia
                                                - vanar
                                                - xai
                                                - zksync
                                                - coti
                                                - cotiTestnet
                                                - dogeosTestnet
                                                - morph
                                                - morphTestnet
                                                - morphHolesky
                                                - ultra
                                                - ultraTestnet
                                                - nitrograph
                                                - sepolia
                                                - optimism_sepolia
                                                - arbitrumSepolia
                                                - goerli
                                                - optimism_goerli
                                                - arbitrumGoerli
                                                - basecamp
                                                - somnia
                                                - zkverify
                                                - polkadot
                                                - kusama
                                                - horizen
                                                - horizenTestnet
                                                - flow_cadence
                                              title: Network
                                              description: Blockchain network of the collection.
                                              example: mainnet
                                            multiplier:
                                              type: number
                                              title: Multiplier
                                              description: >-
                                                Multiplier applied to the rewards for
                                                this collection.
                                              example: 2
                                        title: Collection
                                        description: >-
                                          Array of collections associated with the
                                          rule.
                                      range:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            startRange:
                                              type: number
                                              title: Start Range
                                              description: Start value of the range.
                                              example: 1
                                            endRange:
                                              type: number
                                              title: End Range
                                              description: End value of the range.
                                              example: 10
                                            amount:
                                              oneOf:
                                                - type: number
                                                - type: string
                                              title: Amount
                                              description: Reward amount for this range.
                                              example: 5
                                            loyaltyBadgeId:
                                              type: string
                                              format: uuid
                                              title: Loyalty Badge ID
                                              description: ID of the loyalty badge for this range.
                                              example: badge123
                                            loyaltyMultiplierAmount:
                                              type: number
                                              title: Loyalty Multiplier Amount
                                              description: >-
                                                Amount of the loyalty multiplier for
                                                this range.
                                              example: 1.5
                                          required:
                                            - startRange
                                            - endRange
                                            - amount
                                        title: Range
                                        description: >-
                                          Array defining ranges and corresponding
                                          rewards.
                                      customRewardsApiKey:
                                        type: string
                                        title: Custom Rewards API Key
                                        description: API key for custom rewards integration.
                                        example: api-key-1234
                                      link:
                                        type: string
                                        nullable: true
                                        title: Link
                                        description: >-
                                          Optional link associated with the
                                          metadata.
                                        example: https://example.com
                                      socialPlatform:
                                        type: string
                                        enum:
                                          - Custom
                                          - Discord
                                          - EpicGames
                                          - Instagram
                                          - Phone
                                          - Steam
                                          - Telegram
                                          - TikTok
                                          - Twitch
                                          - X(Twitter)
                                          - YouTube
                                          - Google
                                          - GitHub
                                          - Reddit
                                        nullable: true
                                        title: Social Platform
                                        description: >-
                                          Social media platform associated with
                                          the rule.
                                        example: X(Twitter)
                                      socialPlatformName:
                                        type: string
                                        nullable: true
                                        title: Social Platform Name
                                        description: Name of the social platform.
                                        example: Twitter
                                      socialPlatformLogo:
                                        type: string
                                        nullable: true
                                        title: Social Platform Logo
                                        description: URL of the social platform's logo.
                                        example: https://example.com/logo.png
                                      rewardPerImpression:
                                        type: boolean
                                        nullable: true
                                        title: Reward Per Impression
                                        description: >-
                                          Flag indicating if rewards are given per
                                          impression.
                                        example: true
                                      snapshotProposals:
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            id:
                                              type: string
                                              title: Snapshot Proposal ID
                                              description: ID of the snapshot proposal.
                                              example: proposal123
                                            space:
                                              type: string
                                              title: Snapshot Proposal Space
                                              description: >-
                                                Space associated with the snapshot
                                                proposal.
                                              example: space123
                                          required:
                                            - id
                                            - space
                                        nullable: true
                                        title: Snapshot Proposals
                                        description: >-
                                          Array of snapshot proposals for the
                                          rule.
                                      cta:
                                        type: object
                                        properties:
                                          label:
                                            type: string
                                            nullable: true
                                            title: CTA Label
                                            description: Label for the call-to-action.
                                            example: Click Here
                                          href:
                                            type: string
                                            nullable: true
                                            title: CTA Link
                                            description: Link for the call-to-action.
                                            example: https://example.com
                                        nullable: true
                                        title: Call-to-Action
                                        description: >-
                                          Object containing details for the
                                          call-to-action.
                                      hasSaleCurrency:
                                        type: boolean
                                        title: Has Sale Currency
                                        description: >-
                                          Flag indicating if the sale currency is
                                          included.
                                        example: false
                                      isTokenHoldMultiplier:
                                        type: boolean
                                        title: Is Token Hold Multiplier
                                        description: >-
                                          Flag indicating if the token hold
                                          multiplier is applied.
                                        example: true
                                      saleCurrency:
                                        type: string
                                        title: Sale Currency
                                        description: Currency associated with sales.
                                        example: USD
                                      isRetroactive:
                                        type: boolean
                                        nullable: true
                                        title: Is Retroactive
                                        description: >-
                                          Flag indicating if rewards are applied
                                          retroactively.
                                        example: true
                                      timeDelayToVerifySeconds:
                                        oneOf:
                                          - type: string
                                          - type: number
                                        type: number
                                        nullable: true
                                        title: Time Delay to Verify
                                        description: Time delay in seconds to verify actions.
                                        example: 300
                                      referralRequirements:
                                        type: object
                                        properties:
                                          points:
                                            type: object
                                            properties:
                                              amount:
                                                type: number
                                                nullable: true
                                                title: Points Amount
                                                description: Points required for referral.
                                                example: 50
                                              loyaltyCurrecyId:
                                                type: string
                                                nullable: true
                                                title: Loyalty Currency ID
                                                description: ID of the loyalty currency for referral.
                                                example: currency123
                                            nullable: true
                                          achievePoints:
                                            type: boolean
                                            nullable: true
                                            title: Achieve Points
                                            description: >-
                                              Flag indicating if achieving points is
                                              required.
                                            example: true
                                          completeProfile:
                                            type: boolean
                                            nullable: true
                                            title: Complete Profile
                                            description: >-
                                              Flag indicating if completing the
                                              profile is required.
                                            example: false
                                          connectTwitter:
                                            type: boolean
                                            nullable: true
                                            title: Connect Twitter
                                            description: >-
                                              Flag indicating if connecting Twitter is
                                              required.
                                            example: true
                                          connectDiscord:
                                            type: boolean
                                            nullable: true
                                            title: Connect Discord
                                            description: >-
                                              Flag indicating if connecting Discord is
                                              required.
                                            example: true
                                          connectEmail:
                                            type: boolean
                                            nullable: true
                                            title: Connect Email
                                            description: >-
                                              Flag indicating if connecting email is
                                              required.
                                            example: true
                                        nullable: true
                                        title: Referral Requirements
                                        description: Object defining referral requirements.
                                      multiplierLoyaltyCurrencyIds:
                                        type: array
                                        items:
                                          type: string
                                        nullable: true
                                        title: Multiplier Loyalty Currency IDs
                                        description: >-
                                          Array of loyalty currency IDs used for
                                          multipliers.
                                        example:
                                          - currency123
                                          - currency456
                                      verifyPlaceHolderText:
                                        type: string
                                        nullable: true
                                        title: Verification Placeholder Text
                                        description: >-
                                          Placeholder text for verification input
                                          fields.
                                        example: Enter your verification code here.
                                      verificationTextMinimumLength:
                                        type: integer
                                        nullable: true
                                        title: Verification Text Minimum Length
                                        description: Minimum length of the verification text.
                                        example: 10
                                      buttonText:
                                        type: string
                                        nullable: true
                                        title: Button Text
                                        description: Text displayed on the action button.
                                        example: Verify Now
                                      telegramChannelId:
                                        type: string
                                        nullable: true
                                        title: Telegram Channel ID
                                        description: ID of the Telegram channel.
                                        example: telegram-channel-123
                                      twitterAccountUrl:
                                        type: string
                                        title: Twitter Account URL
                                        description: URL of the associated Twitter account.
                                        example: https://twitter.com/example_user
                                      twitterPostUrl:
                                        type: string
                                        title: Twitter Post URL
                                        description: URL of the associated Twitter post.
                                        example: >-
                                          https://twitter.com/example/status/1234567890
                                      checkLike:
                                        type: boolean
                                        nullable: true
                                        title: Check Like
                                        description: >-
                                          Flag indicating if liking the post is
                                          required.
                                        example: true
                                      checkRepost:
                                        type: boolean
                                        nullable: true
                                        title: Check Repost
                                        description: >-
                                          Flag indicating if reposting is
                                          required.
                                        example: true
                                      checkComment:
                                        type: boolean
                                        nullable: true
                                        title: Check Comment
                                        description: >-
                                          Flag indicating if commenting is
                                          required.
                                        example: true
                                      checkText:
                                        oneOf:
                                          - type: string
                                          - type: array
                                            items:
                                              type: string
                                        nullable: true
                                        title: Check Text
                                        description: >-
                                          Text to check in the Twitter post,
                                          username, or bio.
                                        example: loyalty
                                      requirePostLink:
                                        type: boolean
                                        nullable: true
                                        title: Require Post Link
                                        description: >-
                                          Flag indicating if the post link is
                                          required.
                                        example: true
                                      requirePostMediaLink:
                                        type: boolean
                                        nullable: true
                                        title: Require Post Media Link
                                        description: >-
                                          Flag indicating if media metadata is
                                          required.
                                        example: true
                                      preGeneratedPostText:
                                        type: string
                                        nullable: true
                                        title: Pre Generated Post Text
                                        description: >-
                                          Pre-generated text template that will be
                                          used to prefill the post content.
                                        example: true
                                      rewardCriteria:
                                        type: string
                                        enum:
                                          - IMPRESSIONS_COUNT
                                          - ELIGIBLE_POST
                                        nullable: true
                                        title: Reward Criteria
                                        description: Criteria to evaluate the reward.
                                        example: IMPRESSIONS_COUNT
                                      smartContract:
                                        type: object
                                        properties:
                                          contractId:
                                            type: string
                                            nullable: true
                                            title: Smart Contract ID
                                            description: ID of the smart contract.
                                            example: 123e4567-e89b-12d3-a456-426614174000
                                          event:
                                            type: string
                                            nullable: true
                                            title: Smart Contract Event
                                            description: Event emitted by the smart contract.
                                            example: Transfer
                                          type:
                                            default: event
                                            type: string
                                            enum:
                                              - function
                                              - event
                                            nullable: true
                                            title: Smart Contract Type
                                            description: Type of the smart contract interaction.
                                            example: event
                                          criteria:
                                            type: string
                                            enum:
                                              - everyEvent
                                              - byParameter
                                            nullable: true
                                            title: Smart Contract Criteria
                                            description: >-
                                              Criteria to evaluate the smart contract
                                              event.
                                            example: everyEvent
                                          params:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                name:
                                                  type: string
                                                  nullable: true
                                                  title: Parameter Name
                                                  description: Name of the smart contract parameter.
                                                  example: value
                                                condition:
                                                  type: string
                                                  nullable: true
                                                  title: Parameter Condition
                                                  description: Condition to check for the parameter.
                                                  example: '>='
                                                value:
                                                  type: string
                                                  nullable: true
                                                  title: Parameter Value
                                                  description: Value of the parameter.
                                                  example: '100'
                                            nullable: true
                                            title: Smart Contract Parameters
                                            description: >-
                                              Array of parameters for the smart
                                              contract.
                                          addressMapping:
                                            type: string
                                            nullable: true
                                            title: Address Mapping
                                            description: >-
                                              Mapping of addresses for the smart
                                              contract.
                                            example: 0x123...789
                                          amountMultiplier:
                                            type: object
                                            properties:
                                              valueMapping:
                                                type: string
                                                nullable: true
                                                title: Value Mapping
                                                description: >-
                                                  Mapping of the value for the smart
                                                  contract.
                                                example: amount
                                            nullable: true
                                            title: Amount Multiplier
                                            description: >-
                                              Object containing details of the amount
                                              multiplier from the event.
                                        title: Smart Contract
                                        description: >-
                                          Object containing details of the
                                          associated smart contract.
                                      walletType:
                                        type: string
                                        enum:
                                          - evm
                                          - solana
                                          - imx
                                          - sui
                                          - ton
                                          - cosmos
                                          - ultra
                                          - agw
                                          - flow_cadence
                                          - substrate
                                        nullable: true
                                        title: Wallet Type
                                        description: Type of wallet associated with the rule.
                                        example: evm
                                      imageUrl:
                                        type: string
                                        nullable: true
                                        title: Image URL
                                        description: >-
                                          URL of the image associated with the
                                          rule.
                                        example: https://example.com/image.png
                                      onlyRewardSingleTokenOwnership:
                                        type: boolean
                                        nullable: true
                                        title: Only reward single token ownerships
                                        description: >-
                                          give points for only one token ownership
                                          per contract
                                        example: true
                                      skipMultiplier:
                                        type: boolean
                                        nullable: true
                                        title: Skip Multiplier
                                        description: >-
                                          Flag indicating if the multiplier is
                                          skipped.
                                        example: true
                                      completeProfileConditions:
                                        type: object
                                        additionalProperties:
                                          type: boolean
                                        nullable: true
                                        title: Complete Profile Conditions
                                        description: Conditions for completing the profile.
                                        example:
                                          twitter: true
                                          discord: false
                                      steamAppId:
                                        type: string
                                        nullable: true
                                        title: Steam App ID
                                        description: ID of the Steam app.
                                        example: '1234567890'
                                      githubRepoUrl:
                                        type: string
                                        nullable: true
                                        title: GitHub Repo URL
                                        description: >-
                                          URL of the GitHub repository to check
                                          for star.
                                        example: https://github.com/owner/repo
                                      githubBranchName:
                                        type: string
                                        nullable: true
                                        title: GitHub Branch Name
                                        description: >-
                                          Name of the GitHub branch to check for
                                          PR merge.
                                        example: main
                                      resetProgressOnClaim:
                                        type: boolean
                                        nullable: true
                                        title: Reset Progress On Claim
                                        description: >-
                                          If enabled, the progress tracking row
                                          will be deleted after a successful
                                          claim, allowing the user to re-earn the
                                          rule.
                                        example: true
                                      rewardPerAction:
                                        type: boolean
                                        nullable: true
                                        title: Reward Per Action
                                        description: >-
                                          Flag indicating if the reward is
                                          rewarded per action.
                                        example: true
                                      rewardByBatch:
                                        type: boolean
                                        nullable: true
                                        title: Reward by Batch
                                        description: >-
                                          Flag indicating if the reward is
                                          rewarded by batch.
                                        example: true
                                      batchSize:
                                        type: number
                                        nullable: true
                                        title: Tokens per Batch
                                        description: Number of tokens per batch.
                                        example: 100
                                      youtubeVideoId:
                                        type: string
                                        nullable: true
                                        title: Youtube Video ID
                                        description: ID of the Youtube video.
                                        example: '1234567890'
                                      youtubeChannelId:
                                        type: string
                                        nullable: true
                                        title: Youtube Channel ID
                                        description: ID of the Youtube channel.
                                        example: '1234567890'
                                      redditPostId:
                                        type: string
                                        nullable: true
                                        title: Reddit Post ID
                                        description: ID of the Reddit post.
                                        example: '1234567890'
                                      isRestrictedToNewUsers:
                                        type: boolean
                                        title: Is Restricted to New Users
                                        description: >-
                                          Flag indicating if the rule is
                                          restricted to new users.
                                        example: false
                                      allowMultipleRedemptions:
                                        type: boolean
                                        title: Allow Multiple Redemptions
                                        description: >-
                                          Flag indicating if the rule allows
                                          multiple redemptions. Applies to Enter a
                                          Code only.
                                        example: false
                                      rewardBadgePerRange:
                                        type: boolean
                                        title: Reward Badge Per Range
                                        description: >-
                                          Flag indicating if the rule can also
                                          reward badges per range.
                                        example: false
                                      swap:
                                        type: object
                                        properties:
                                          provider:
                                            type: string
                                            enum:
                                              - any
                                              - relay
                                              - lifi
                                          relayReferrerId:
                                            type: string
                                          from:
                                            type: object
                                            properties:
                                              mode:
                                                type: string
                                                enum:
                                                  - any
                                                  - specific
                                              chain:
                                                oneOf:
                                                  - type: string
                                                    enum:
                                                      - any
                                                  - type: number
                                                  - type: string
                                                type: number
                                              tokens:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    address:
                                                      type: string
                                                    chainId:
                                                      type: string
                                                  required:
                                                    - address
                                                    - chainId
                                              trackAmount:
                                                type: boolean
                                          to:
                                            type: object
                                            properties:
                                              mode:
                                                type: string
                                                enum:
                                                  - any
                                                  - specific
                                              chain:
                                                oneOf:
                                                  - type: string
                                                    enum:
                                                      - any
                                                  - type: number
                                                  - type: string
                                                type: number
                                              tokens:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    address:
                                                      type: string
                                                    chainId:
                                                      type: string
                                                  required:
                                                    - address
                                                    - chainId
                                              trackAmount:
                                                type: boolean
                                          requireCrossChainSwap:
                                            type: boolean
                                        title: Swap Metadata
                                        description: Metadata for swap loyalty rules
                                      rewardPerValue:
                                        type: boolean
                                        title: Reward Per Value
                                        description: >-
                                          Flag indicating if the rule should
                                          reward based on value of traded tokens
                                          instead of count.
                                        example: false
                                      conditionDescription:
                                        type: string
                                        title: Condition description
                                        description: >-
                                          Description of the external rule
                                          condition (only for external rules)
                                        example: >-
                                          Complete the specific task on external
                                          platform
                                      directRpc:
                                        type: boolean
                                        title: Direct RPC
                                        description: >-
                                          Flag indicating if the rule should use
                                          direct RPC to get the balance of tokens.
                                        example: false
                                      erc20Type:
                                        type: string
                                        enum:
                                          - erc20
                                          - native
                                        title: ERC20 Type
                                        description: >-
                                          Type of ERC20 token for the loyalty
                                          rule.
                                        example: erc20
                                      rewardQualityPosts:
                                        type: boolean
                                        title: Only reward quality posts
                                        description: >-
                                          Flag indicating if the rule should
                                          reward quality posts.
                                        example: false
                                      minimumFollowerCount:
                                        type: number
                                        nullable: true
                                        title: Minimum Follower Count
                                        description: >-
                                          Minimum follower count for the rule.
                                          Accepts both number and string values.
                                        example: 25
                                      autoCheckInRuleIds:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: string
                                              format: uuid
                                            - type: string
                                              enum:
                                                - any
                                        nullable: true
                                        title: Auto Check-In Rule IDs
                                        description: >-
                                          Array of loyalty rule IDs that count as
                                          check-in when completed. If ["any"] then
                                          any rule completions count as check-in.
                                        example:
                                          - 123e4567-e89b-12d3-a456-426614174000
                                      robinhoodSymbols:
                                        type: array
                                        items:
                                          type: string
                                        nullable: true
                                  mediaUrl:
                                    type: string
                                    nullable: true
                                  loyaltyBadge:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                        format: uuid
                                      name:
                                        type: string
                                      description:
                                        type: string
                                        nullable: true
                                      imageUrl:
                                        type: string
                                        nullable: true
                                    required:
                                      - id
                                      - name
                                      - description
                                      - imageUrl
                                required:
                                  - id
                                  - name
                                  - description
                                  - isRequired
                                  - deletedAt
                                  - loyaltyCurrencyId
                                  - type
                                  - amount
                                  - hideInUi
                                  - startTime
                                  - endTime
                                  - rewardType
                                  - frequency
                                  - metadata
                                  - mediaUrl
                                  - loyaltyBadge
                            required:
                              - id
                              - sortId
                              - loyaltyRule
                      required:
                        - id
                        - name
                        - isRequired
                        - sortId
                        - isCollapsible
                        - subTitle
                        - loyaltyGroupItems
                      title: Get Loyalty Rule Groups Response Schema
                      description: Schema for a get loyalty rule groups response
                  hasNextPage:
                    type: boolean
                required:
                  - data
                  - hasNextPage
        '403':
          description: '403'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    title: Message
                    description: Error message
                    example: Forbidden, Could not validate api key
                required:
                  - message
                title: Forbidden Response
                description: Schema for forbidden response
                example: Forbidden, Could not validate api key
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````