# Snag Docs ## Docs - [Using AI Coding Assistants?](https://docs.snagsolutions.io/ai-coding-assistant.md): How to use Snag Docs with AI code editors for context-aware coding. - [Get Asset upload URL](https://docs.snagsolutions.io/api-reference/asset/get-asset-upload-url.md): This endpoint enables you to upload a file to the resource. Returns a presigned URL and the asset's public URL. Call PUT with the file as the body to upload the asset using the presigned URL. - [Get auction bids](https://docs.snagsolutions.io/api-reference/auction/get-auction-bids.md): Returns a list of auction bids with optional filtering and pagination. - [Get auctions](https://docs.snagsolutions.io/api-reference/auction/get-auctions.md): Returns a list of auctions with optional filtering and pagination. - [Create new badge](https://docs.snagsolutions.io/api-reference/badge/create-new-badge.md): This endpoint allows you to configure a new badge - [Delete badge (by id)](https://docs.snagsolutions.io/api-reference/badge/delete-badge-by-id.md): This endpoint allows you to delete a badge. - [Get badges (all or by id)](https://docs.snagsolutions.io/api-reference/badge/get-badges-all-or-by-id.md): This endpoint allows you to fetch badge(s) data. - [Revoke badge from account](https://docs.snagsolutions.io/api-reference/badge/revoke-badge-from-account.md): This endpoint allows you to revoke a badge from an account - [Reward badge for account](https://docs.snagsolutions.io/api-reference/badge/reward-badge-for-account.md): This endpoint allows you to reward a badge for an account - [Update badge (by id)](https://docs.snagsolutions.io/api-reference/badge/update-badge-by-id.md): This endpoint allows you to update an existing badge. - [API Deprecation](https://docs.snagsolutions.io/api-reference/deprecation.md): This is a list of deprecated APIs with a timeline for removal. We support deprecated APIs for 2 months before permanent removal. - [Connect a user to User Group](https://docs.snagsolutions.io/api-reference/identity/connect-a-user-to-user-group.md): This endpoint allows you to create a user - [Connect Auth](https://docs.snagsolutions.io/api-reference/identity/connect-auth.md): This endpoint allows you to connect your auth account to a Snag account - [Create a new website user attribute](https://docs.snagsolutions.io/api-reference/identity/create-a-new-website-user-attribute.md): Create a new website user attribute - [Create a new website user attribute value](https://docs.snagsolutions.io/api-reference/identity/create-a-new-website-user-attribute-value.md): Create a new website user attribute value - [Create user device](https://docs.snagsolutions.io/api-reference/identity/create-user-device.md): This endpoint is used to create user devices for fraud tracking - [Create user metadata](https://docs.snagsolutions.io/api-reference/identity/create-user-metadata.md): This endpoint is used to create user metadata - [Delete a website user attribute](https://docs.snagsolutions.io/api-reference/identity/delete-a-website-user-attribute.md): Delete a website user attribute - [Disconnect a user from User Group](https://docs.snagsolutions.io/api-reference/identity/disconnect-a-user-from-user-group.md): This endpoint allows you to disconnect a user from another user - [Get all website user attribute values](https://docs.snagsolutions.io/api-reference/identity/get-all-website-user-attribute-values.md): Get all website user attribute values - [Get all website user attributes](https://docs.snagsolutions.io/api-reference/identity/get-all-website-user-attributes.md): Get all website user attributes - [Get user metadata](https://docs.snagsolutions.io/api-reference/identity/get-user-metadata.md): This endpoint is used to get user metadata - [Get users](https://docs.snagsolutions.io/api-reference/identity/get-users.md): This endpoint allows you to get users - [Post apiusersverify](https://docs.snagsolutions.io/api-reference/identity/post-apiusersverify.md) - [User count](https://docs.snagsolutions.io/api-reference/identity/user-count.md): This endpoint returns the total user count - [Snag API](https://docs.snagsolutions.io/api-reference/introduction.md): Snag API Documentation - [Get page sections](https://docs.snagsolutions.io/api-reference/landing-page/get-page-sections.md): This endpoint allows you to fetch page sections - [Complete Loyalty Rule](https://docs.snagsolutions.io/api-reference/loyalty/complete-loyalty-rule.md): Verify a loyalty rule based on user action and reward them if applicable. This endpoint currently only supports following rule types code_entry, text_input, link_click, discord_member, connect_wallet, check_in, external_rule, drip_x_follow, drip_x_new_tweet, drip_x_text_in_bio, drip_x_text_in_name, drip_x_text_in_comment, drip_x_tweet, telegram_join, DiscordMessages, youtube_subscribers, youtube_comment, steam_wishlist - [Create a loyalty currency](https://docs.snagsolutions.io/api-reference/loyalty/create-a-loyalty-currency.md): Create a loyalty currency - [Create Loyalty Multiplier](https://docs.snagsolutions.io/api-reference/loyalty/create-loyalty-multiplier.md): Create a new loyalty multiplier for a wallet. - [Create Loyalty Rule](https://docs.snagsolutions.io/api-reference/loyalty/create-loyalty-rule.md): Create a new Loyalty Rule - [Create Loyalty Rule Groups](https://docs.snagsolutions.io/api-reference/loyalty/create-loyalty-rule-groups.md): Create a new loyalty rule groups - [Create Loyalty Transaction](https://docs.snagsolutions.io/api-reference/loyalty/create-loyalty-transaction.md): Create a loyalty transaction to update account balances. - [Delete Loyalty Multiplier by External Identifier](https://docs.snagsolutions.io/api-reference/loyalty/delete-loyalty-multiplier-by-external-identifier.md): Delete a loyalty multiplier by its external identifier. - [Delete Loyalty Multiplier by ID](https://docs.snagsolutions.io/api-reference/loyalty/delete-loyalty-multiplier-by-id.md): Delete a loyalty multiplier by its ID. - [Delete Loyalty Rule](https://docs.snagsolutions.io/api-reference/loyalty/delete-loyalty-rule.md): Delete an existing Loyalty Rule - [Delete Loyalty Rule Group](https://docs.snagsolutions.io/api-reference/loyalty/delete-loyalty-rule-group.md): Delete loyalty rule group by ID - [Get loyalty account streaks](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-account-streaks.md): Get loyalty account streaks - [Get loyalty accounts](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-accounts.md): Get loyalty accounts - [Get loyalty currencies](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-currencies.md): Get loyalty currencies - [Get Loyalty Multipliers](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-multipliers.md): Get Loyalty Multipliers - [Get Loyalty Rule Chains](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-rule-chains.md): Retrieve configured loyalty rule chains - [Get Loyalty Rule Edits](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-rule-edits.md): Retrieve configured loyalty rule edits with optional pagination and filters - [Get Loyalty Rule Groups](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-rule-groups.md): Retrieve configured loyalty rule groups - [Get Loyalty Rule Statuses](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-rule-statuses.md): Retrieve loyalty rule statuses - [Get Loyalty Rules](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-rules.md): Retrieve configured loyalty rules with optional pagination and filters - [Get Loyalty Transaction Entries](https://docs.snagsolutions.io/api-reference/loyalty/get-loyalty-transaction-entries.md): Fetch loyalty transaction entries for wallets or users, representing account balance changes. - [Get Processing status for a specific user on loyalty rules](https://docs.snagsolutions.io/api-reference/loyalty/get-processing-status-for-a-specific-user-on-loyalty-rules.md): This will return the processing status of quests for a specific user - [Get the rank of a user based on their loyalty points](https://docs.snagsolutions.io/api-reference/loyalty/get-the-rank-of-a-user-based-on-their-loyalty-points.md): Returns the user's rank determined by their loyalty points for the specified loyalty currency. This can be a slow operation for large organizations. We recommend caching when possible. - [Restore Loyalty Rule Edit](https://docs.snagsolutions.io/api-reference/loyalty/restore-loyalty-rule-edit.md): Restore a loyalty rule from a rule edit - [Update Loyalty Multiplier](https://docs.snagsolutions.io/api-reference/loyalty/update-loyalty-multiplier.md): Update an existing loyalty multiplier. - [Update Loyalty Rule](https://docs.snagsolutions.io/api-reference/loyalty/update-loyalty-rule.md): Update an existing Loyalty Rule - [Update Loyalty Rule Group](https://docs.snagsolutions.io/api-reference/loyalty/update-loyalty-rule-group.md): Update loyalty rule group by ID - [Update Loyalty Rule Status](https://docs.snagsolutions.io/api-reference/loyalty/update-loyalty-rule-status.md): Update a loyalty rule status - [Get minting assets](https://docs.snagsolutions.io/api-reference/minting/get-minting-assets.md): Returns minting assets and any relevant context - [Create a new question](https://docs.snagsolutions.io/api-reference/question/create-a-new-question.md): This endpoint allows you to create a new question. - [Get questions for a loyalty rule](https://docs.snagsolutions.io/api-reference/question/get-questions-for-a-loyalty-rule.md): This endpoint allows you to fetch questions for a loyalty rule. - [Get user's question responses](https://docs.snagsolutions.io/api-reference/question/get-users-question-responses.md): Retrieve responses submitted by the authenticated user, optionally filtered by question IDs - [Submit a response to a question](https://docs.snagsolutions.io/api-reference/question/submit-a-response-to-a-question.md): This endpoint allows you to submit a response to a question. - [Update an existing question](https://docs.snagsolutions.io/api-reference/question/update-an-existing-question.md): This endpoint allows you to update an existing question. - [Rate Limits](https://docs.snagsolutions.io/api-reference/rate-limits.md): This document outlines the rate limiting policies implemented across our API endpoints to ensure fair usage and system stability. - [Create referral code](https://docs.snagsolutions.io/api-reference/referrals/create-referral-code.md): This endpoint allows you to create a referral code - [Create referral user](https://docs.snagsolutions.io/api-reference/referrals/create-referral-user.md): This endpoint allows you to create a referral user - [Get referrals](https://docs.snagsolutions.io/api-reference/referrals/get-referrals.md): This endpoint allows you to get referrals - [Snag SDK](https://docs.snagsolutions.io/api-reference/sdk.md) - [Assign roles to users for a website](https://docs.snagsolutions.io/api-reference/website/assign-roles-to-users-for-a-website.md): Assign roles to users for a specific website - [Create website](https://docs.snagsolutions.io/api-reference/website/create-website.md): Creates a new website - [Create Website Collection](https://docs.snagsolutions.io/api-reference/website/create-website-collection.md): Creates a new collection under a website - [Get roles of users for a website](https://docs.snagsolutions.io/api-reference/website/get-roles-of-users-for-a-website.md): Retrieves roles of users for a specific website. If userId is provided, retrieves the role of that specific user for the website. - [Get Website Collections](https://docs.snagsolutions.io/api-reference/website/get-website-collections.md): Retrieves collections for a specific website. - [Get websites](https://docs.snagsolutions.io/api-reference/website/get-websites.md): Returns a list of websites. Includes optional query parameters for filtering and pagination. - [Badges](https://docs.snagsolutions.io/create/badges.md): This recipe explains how to create and manage badges in Snag Loyalty. - [Banners](https://docs.snagsolutions.io/create/banners.md): The following will walk you through how to set up a banner. - [Page builder](https://docs.snagsolutions.io/create/page-builder.md): The following is a quick guide to creating landing and ecosystem app pages. - [Rewards Shop](https://docs.snagsolutions.io/create/rewards-shop.md): The following is a quickstart guide to creating contracts, minting assets, and listing assets on your marketplace frontend as a mint or auction. - [Available loyalty rules](https://docs.snagsolutions.io/loyalty/available-loyalty-rules.md) - [Blocking users](https://docs.snagsolutions.io/loyalty/blocking-users.md): The blocked users feature allows you to exclude specific wallet addresses from earning rewards through any loyalty rules. This is useful for blocking known bots, suspicious accounts or specific users. - [Create your first rule](https://docs.snagsolutions.io/loyalty/create-your-first-rule.md) - [External rule](https://docs.snagsolutions.io/loyalty/external-rules.md): This recipe explains the concept of an external rule, how to configure it with Snag and how to issue rewards to your users. - [Internal currency integration](https://docs.snagsolutions.io/loyalty/internal-currency-integration.md) - [Leaderboards](https://docs.snagsolutions.io/loyalty/leaderboards.md): This recipe explains how to leverage the Snag API to fetch loyalty points balances for your users, which can be used to build features like a leaderboard in your application. - [Loyalty overview](https://docs.snagsolutions.io/loyalty/loyalty-overview.md): This recipe is a quickstart guide to setting up your Snag Loyalty program, covering the loyalty currency configuration and initial rules set up. - [Loyalty Rule Progress Tracking](https://docs.snagsolutions.io/loyalty/loyalty-rule-progress.md): Learn how to create external loyalty rules with progress tracking and multiple reward tiers - [Managing social accounts](https://docs.snagsolutions.io/loyalty/managing-social-accounts.md): This recipe explains how to use Snag social integration API to let your users connect their social accounts to their Snag profile. - [Managing user accounts](https://docs.snagsolutions.io/loyalty/managing-user-accounts.md): This recipe explains how to create or update user accounts via the Snag API. - [Multi-wallet Support](https://docs.snagsolutions.io/loyalty/multi-wallet-support.md): Connect multiple wallets to aggregate points, earnings, and holdings to enhance your loyalty experience. - [Multipliers](https://docs.snagsolutions.io/loyalty/multipliers.md) - [Snag template app](https://docs.snagsolutions.io/loyalty/nextjs-template.md): A production-ready Next.js + Tailwind Web3 starter template with loyalty program and user profiles designed for Web3 projects - [Program settings](https://docs.snagsolutions.io/loyalty/program-settings.md): The Loyalty Builder tab in Snag’s admin tool allows you to customize your loyalty program page, manage currencies and balances and configure advanced leaderboard settings. Use this tool to tailor your loyalty experience and drive deeper engagement with your community. - [Rules configuration](https://docs.snagsolutions.io/loyalty/rules-configuration.md): These fields are common across all loyalty rules and define the general properties of a rule. - [Check-in](https://docs.snagsolutions.io/loyalty/rules/check-in.md) - [Code Entry](https://docs.snagsolutions.io/loyalty/rules/code-entry.md) - [Complete Profile](https://docs.snagsolutions.io/loyalty/rules/complete-profile.md) - [Connect Discord](https://docs.snagsolutions.io/loyalty/rules/connect-discord.md) - [Connect email](https://docs.snagsolutions.io/loyalty/rules/connect-email.md) - [Connect Epic Games](https://docs.snagsolutions.io/loyalty/rules/connect-epic.md) - [Connect Steam](https://docs.snagsolutions.io/loyalty/rules/connect-steam.md) - [Connect Telegram](https://docs.snagsolutions.io/loyalty/rules/connect-telegram.md) - [Connect X](https://docs.snagsolutions.io/loyalty/rules/connect-twitter.md) - [Connect wallet](https://docs.snagsolutions.io/loyalty/rules/connect-wallet.md) - [Contract Event](https://docs.snagsolutions.io/loyalty/rules/contract-event.md) - [Create Partner Account](https://docs.snagsolutions.io/loyalty/rules/create-partner-account.md) - [Get Discord Role](https://docs.snagsolutions.io/loyalty/rules/discord-member-role.md) - [Send Discord messages](https://docs.snagsolutions.io/loyalty/rules/discord-messages.md) - [Follow X Account](https://docs.snagsolutions.io/loyalty/rules/follow-x-account.md) - [Link Click](https://docs.snagsolutions.io/loyalty/rules/link-click.md) - [Poll](https://docs.snagsolutions.io/loyalty/rules/poll.md): This recipe explains the concept of a poll rule, how to configure it with Snag and how to issue rewards to your users. - [Quiz](https://docs.snagsolutions.io/loyalty/rules/quiz.md): This recipe explains the concept of a quiz rule, how to configure it with Snag and how to issue rewards to your users. - [Refer a friend](https://docs.snagsolutions.io/loyalty/rules/refer-friends.md) - [Snapshot Governance](https://docs.snagsolutions.io/loyalty/rules/snapshot-governance.md) - [Steam Wishlist](https://docs.snagsolutions.io/loyalty/rules/steam-wishlist.md) - [Join Telegram Channel](https://docs.snagsolutions.io/loyalty/rules/telegram-join.md) - [Send Telegram messages](https://docs.snagsolutions.io/loyalty/rules/telegram-messages.md) - [Text Input](https://docs.snagsolutions.io/loyalty/rules/text-input.md) - [Hold a token](https://docs.snagsolutions.io/loyalty/rules/token-hold.md) - [Hold an ERC-20 Token](https://docs.snagsolutions.io/loyalty/rules/token-hold-erc20.md) - [Token Mint](https://docs.snagsolutions.io/loyalty/rules/token-mint.md) - [Token Purchase](https://docs.snagsolutions.io/loyalty/rules/token-purchase.md) - [Token Sale](https://docs.snagsolutions.io/loyalty/rules/token-sale.md) - [Reach X followers](https://docs.snagsolutions.io/loyalty/rules/x-followers.md) - [Post New Tweet](https://docs.snagsolutions.io/loyalty/rules/x-new-tweet.md) - [X Post Reaction](https://docs.snagsolutions.io/loyalty/rules/x-post-reaction.md) - [X Text in Bio](https://docs.snagsolutions.io/loyalty/rules/x-text-in-bio.md) - [X Text in Comment](https://docs.snagsolutions.io/loyalty/rules/x-text-in-comment.md) - [X Text in Username](https://docs.snagsolutions.io/loyalty/rules/x-text-in-username.md) - [YouTube Comment](https://docs.snagsolutions.io/loyalty/rules/youtube-comment.md) - [YouTube Subscriber](https://docs.snagsolutions.io/loyalty/rules/youtube-subscriber.md) - [Set up loyalty currency](https://docs.snagsolutions.io/loyalty/set-up-loyalty-currency.md): After you have enabled loyalty program on your admin page, you will need to create a loyalty currency. - [Updating & reseting balances](https://docs.snagsolutions.io/loyalty/updating-balances.md): This recipe explains how to manually update user loyalty points balances (i.e. not as part of a rule completion or spend action; an example use-case is to reset all user point balances to 0). - [Verifying rule completion](https://docs.snagsolutions.io/loyalty/verifying-rule-completion.md): This recipe explains how to submit and verify loyalty rule completion via the Snag API. - [X rules logic](https://docs.snagsolutions.io/loyalty/x-rules-logic.md): Additional context for X (Twitter) rules logic - [Announce it on socials](https://docs.snagsolutions.io/marketplace/announce.md): Once you're marketplace is live, here’s everything you need to know to announce it to your community! Feel free to insert screenshots of your marketplace throughout the thread to enhance product visibility! - [Launch a marketplace](https://docs.snagsolutions.io/marketplace/launch-a-marketplace.md) - [Customization](https://docs.snagsolutions.io/setup/customization.md): Snag gives partners powerful tools to customize their platform's branding, layout, and theme—no code required. This guide walks through all available customization options to help you tailor your white-labeled experience to your brand and community. - [Hostname](https://docs.snagsolutions.io/setup/hostname.md) - [Set up overview](https://docs.snagsolutions.io/setup/setup-overview.md) - [User profiles](https://docs.snagsolutions.io/setup/user-profiles.md): The following will guide you through creating a user profile and the functionality available within profiles. - [Function Templates](https://docs.snagsolutions.io/stratus/function-templates.md): Ready-to-use templates for common Stratus function patterns - [Functions](https://docs.snagsolutions.io/stratus/functions.md): Write and execute serverless JavaScript functions with Stratus - [Relayers](https://docs.snagsolutions.io/stratus/relayers.md): Secure private key management for blockchain transactions - [Stratus overview](https://docs.snagsolutions.io/stratus/stratus-overview.md) - [Subscriptions](https://docs.snagsolutions.io/stratus/subscriptions.md): Managing Stratus Subscription - [Function syntax](https://docs.snagsolutions.io/stratus/syntax.md): Learn how to create and validate Stratus functions with proper syntax, module restrictions, and best practices - [Webhooks](https://docs.snagsolutions.io/stratus/webhooks.md): Ingesting and validating Webhooks - [User authentication overview](https://docs.snagsolutions.io/user-auth/auth-overview.md): Snag supports multiple authentication providers, allowing users to log in via wallets, email and social accounts. Our team will configure authentication for your platform based on the details you provide. - [Auth0](https://docs.snagsolutions.io/user-auth/auth0.md) - [Dynamic](https://docs.snagsolutions.io/user-auth/dynamic.md) - [Immutable Passport](https://docs.snagsolutions.io/user-auth/immutable.md) - [Privy](https://docs.snagsolutions.io/user-auth/privy.md) - [Sequence Wallet](https://docs.snagsolutions.io/user-auth/sequence.md) - [Thirdweb](https://docs.snagsolutions.io/user-auth/thirdweb.md) - [Welcome to Snag Docs](https://docs.snagsolutions.io/welcome.md): Snag is the leading onchain loyalty platform, helping Web3 brands incentivize engagement, automate rewards and track user contributions. Power growth with customizable point-based programs and integrated marketplace features. ## Optional - [Contact Us](https://www.snagsolutions.io/contact)