---
title: 'API changelog'
rss: true
description: 'Changelog of Snag API updates, new endpoints, and breaking changes.'
keywords:
  ['API changelog', 'API updates', 'Snag release notes', 'API breaking changes']
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.snagsolutions.io/llms.txt). Append `.md` to any page URL for its markdown version.

<Info>
Subscribe to the <a href="/feed.xml" target="_blank">changelog RSS</a> feed from the page header to stay informed automatically:

- Use the Slack RSS app to follow updates in your preferred channel. [Slack help guide](https://slack.com/intl/en-gb/help/articles/218688467-Add-RSS-feeds-to-Slack)
- Forward new entries to your inbox with Zapier’s RSS to Email automation. [Zapier integration](https://zapier.com/apps/email/integrations/rss/1441/send-new-rss-feed-entries-via-email)
- Pipe the feed into Discord using Readybot or RSS.app. [Readybot](https://readybot.io/) · [RSS.app Discord bot](https://rss.app/en/bots/rssfeeds-discord-bot)

Keep the RSS URL handy—you can reuse it across any automation tool that supports RSS.

</Info>

## Changelog
<Update label="2026-08-18" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**


**Return Type:**

Changed response : **200 OK**
> 200


* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a get auction bids response


        * Changed property `loyaltyCurrency` (object)

            New optional properties:
            - `apiAuthKey`
            - `apiAuthType`
            - `apiAuthValue`
            - `apiGetTransactionEntryUrl`
            - `apiGetUrl`
            - `apiPostUrl`

**Result**

---

API changes broke backward compatibility


</Update>

<Update label="2026-08-10" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/users/verify**

> Transfer Social Account


**Result**

---

API changes are backward compatible


</Update>

<Update label="2026-08-07" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/accounts**


**Parameters:**

Added: `excludeDeletedCurrency` in `query`
> Pass true to drop accounts belonging to deleted loyalty currencies. Defaults to false, so they are included. Ignored when loyaltyCurrencyId names a currency — a deleted currency returns its accounts either way.


Changed: `loyaltyCurrencyId` in `query`
> Loyalty currency ID(s) to filter accounts by. Accepts a single id or a list.


**Result**

---

API changes broke backward compatibility


</Update>

<Update label="2026-08-01" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-07-21" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `data` (object)
            > Data that was changed on the rule

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

        * Changed property `previousData` (object)
            > Previous data of the rule before the edit

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (object)
        > Data that was changed on the rule

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

    * Changed property `previousData` (object)
        > Previous data of the rule before the edit

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a get loyalty rule groups response

        * Changed property `loyaltyGroupItems` (array)

            Changed items (object):

            * Changed property `loyaltyRule` (object)

                * Changed property `metadata` (object)

                    * Added property `maxLikes` (integer)
                        > Reaction limit for likes. Once the post reaches this many likes, the Like requirement is hidden from users. Likes are never verified server-side, so this only controls display.

                    * Added property `maxReposts` (integer)
                        > Reaction limit for reposts. Once the post reaches this many reposts, the Repost requirement is hidden and no longer verified.

                    * Added property `maxComments` (integer)
                        > Reaction limit for comments. Once the post reaches this many comments, the Comment requirement is hidden and no longer verified.

                    * Added property `reactionStats` (object)
                        > Latest scraped public reaction counts for the post, written back from social-service (throttled). Drives which reaction requirements are hidden once they hit their configured limit. Not admin-editable.

                        * Property `likeCount` (number)

                        * Property `repostCount` (number)

                        * Property `commentCount` (number)

                        * Property `syncedAt` (string)

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Added property `maxLikes` (integer)
        > Reaction limit for likes. Once the post reaches this many likes, the Like requirement is hidden from users. Likes are never verified server-side, so this only controls display.

    * Added property `maxReposts` (integer)
        > Reaction limit for reposts. Once the post reaches this many reposts, the Repost requirement is hidden and no longer verified.

    * Added property `maxComments` (integer)
        > Reaction limit for comments. Once the post reaches this many comments, the Comment requirement is hidden and no longer verified.

    * Added property `reactionStats` (object)
        > Latest scraped public reaction counts for the post, written back from social-service (throttled). Drives which reaction requirements are hidden once they hit their configured limit. Not admin-editable.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Added property `maxLikes` (integer)
            > Reaction limit for likes. Once the post reaches this many likes, the Like requirement is hidden from users. Likes are never verified server-side, so this only controls display.

        * Added property `maxReposts` (integer)
            > Reaction limit for reposts. Once the post reaches this many reposts, the Repost requirement is hidden and no longer verified.

        * Added property `maxComments` (integer)
            > Reaction limit for comments. Once the post reaches this many comments, the Comment requirement is hidden and no longer verified.

        * Added property `reactionStats` (object)
            > Latest scraped public reaction counts for the post, written back from social-service (throttled). Drives which reaction requirements are hidden once they hit their configured limit. Not admin-editable.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Added property `maxLikes` (integer)
        > Reaction limit for likes. Once the post reaches this many likes, the Like requirement is hidden from users. Likes are never verified server-side, so this only controls display.

    * Added property `maxReposts` (integer)
        > Reaction limit for reposts. Once the post reaches this many reposts, the Repost requirement is hidden and no longer verified.

    * Added property `maxComments` (integer)
        > Reaction limit for comments. Once the post reaches this many comments, the Comment requirement is hidden and no longer verified.

    * Added property `reactionStats` (object)
        > Latest scraped public reaction counts for the post, written back from social-service (throttled). Drives which reaction requirements are hidden once they hit their configured limit. Not admin-editable.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Added property `maxLikes` (integer)
            > Reaction limit for likes. Once the post reaches this many likes, the Like requirement is hidden from users. Likes are never verified server-side, so this only controls display.

        * Added property `maxReposts` (integer)
            > Reaction limit for reposts. Once the post reaches this many reposts, the Repost requirement is hidden and no longer verified.

        * Added property `maxComments` (integer)
            > Reaction limit for comments. Once the post reaches this many comments, the Comment requirement is hidden and no longer verified.

        * Added property `reactionStats` (object)
            > Latest scraped public reaction counts for the post, written back from social-service (throttled). Drives which reaction requirements are hidden once they hit their configured limit. Not admin-editable.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-07-17" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `data` (object)
            > Data that was changed on the rule

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

        * Changed property `previousData` (object)
            > Previous data of the rule before the edit

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (object)
        > Data that was changed on the rule

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

    * Changed property `previousData` (object)
        > Previous data of the rule before the edit

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a get loyalty rule groups response

        * Changed property `loyaltyGroupItems` (array)

            Changed items (object):

            * Changed property `loyaltyRule` (object)

                * Changed property `metadata` (object)

                    * Changed property `liquidity` (object)
                        > Liquidity pool details.

                        * Changed property `network` (string)
                            > Blockchain network of the liquidity pool.

                            Added enum values:

                            * `robinhoodChain`
                            * `robinhoodChainTestnet`
                    * Changed property `collection` (array)
                        > Array of collections associated with the rule.

                        Changed items (object):

                        * Changed property `network` (string)
                            > Blockchain network of the collection.

                            Added enum values:

                            * `robinhoodChain`
                            * `robinhoodChainTestnet`
**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Changed property `network` (string)
    > Blockchain network where the rule will apply

    Added enum values:

    * `robinhoodChain`
    * `robinhoodChainTestnet`
* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Changed property `liquidity` (object)
        > Liquidity pool details.

        * Changed property `network` (string)
            > Blockchain network of the liquidity pool.

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
    * Changed property `collection` (array)
        > Array of collections associated with the rule.

        Changed items (object):

        * Changed property `network` (string)
            > Blockchain network of the collection.

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
* Changed property `collections` (array)
    > List of associated collections

    Changed items (object):

    * Changed property `network` (string)
        > Blockchain network for the collection

        Added enum values:

        * `robinhoodChain`
        * `robinhoodChainTestnet`
**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `network` (string)
        > Blockchain network where the rule will apply

        Added enum values:

        * `robinhoodChain`
        * `robinhoodChainTestnet`
    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Changed property `liquidity` (object)
            > Liquidity pool details.

            * Changed property `network` (string)
                > Blockchain network of the liquidity pool.

                Added enum values:

                * `robinhoodChain`
                * `robinhoodChainTestnet`
        * Changed property `collection` (array)
            > Array of collections associated with the rule.

            Changed items (object):

            * Changed property `network` (string)
                > Blockchain network of the collection.

                Added enum values:

                * `robinhoodChain`
                * `robinhoodChainTestnet`
    * Changed property `collections` (array)
        > List of associated collections

        Changed items (object):

        * Changed property `network` (string)
            > Blockchain network for the collection

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Changed property `liquidity` (object)
        > Liquidity pool details.

        * Changed property `network` (string)
            > Blockchain network of the liquidity pool.

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
    * Changed property `collection` (array)
        > Array of collections associated with the rule.

        Changed items (object):

        * Changed property `network` (string)
            > Blockchain network of the collection.

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
* Changed property `network` (string)
    > Blockchain network where the rule will apply

    Added enum values:

    * `robinhoodChain`
    * `robinhoodChainTestnet`
* Changed property `collections` (array)
    > List of associated collections

    Changed items (object):

    * Changed property `network` (string)
        > Blockchain network for the collection

        Added enum values:

        * `robinhoodChain`
        * `robinhoodChainTestnet`
**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Changed property `liquidity` (object)
            > Liquidity pool details.

            * Changed property `network` (string)
                > Blockchain network of the liquidity pool.

                Added enum values:

                * `robinhoodChain`
                * `robinhoodChainTestnet`
        * Changed property `collection` (array)
            > Array of collections associated with the rule.

            Changed items (object):

            * Changed property `network` (string)
                > Blockchain network of the collection.

                Added enum values:

                * `robinhoodChain`
                * `robinhoodChainTestnet`
    * Changed property `network` (string)
        > Blockchain network where the rule will apply

        Added enum values:

        * `robinhoodChain`
        * `robinhoodChainTestnet`
    * Changed property `collections` (array)
        > List of associated collections

        Changed items (object):

        * Changed property `network` (string)
            > Blockchain network for the collection

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`
> Network

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `network` (string)

            Added enum values:

            * `robinhoodChain`
            * `robinhoodChainTestnet`
        * Changed property `mustOwnCollections` (array)

            Changed items (object):

            * Changed property `network` (string)

                Added enum values:

                * `robinhoodChain`
                * `robinhoodChainTestnet`
**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-06-24" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `data` (object)
            > Data that was changed on the rule

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

        * Changed property `previousData` (object)
            > Previous data of the rule before the edit

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (object)
        > Data that was changed on the rule

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

    * Changed property `previousData` (object)
        > Previous data of the rule before the edit

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a get loyalty rule groups response

        * Changed property `loyaltyGroupItems` (array)

            Changed items (object):

            * Changed property `loyaltyRule` (object)

                * Changed property `metadata` (object)

                    * Deleted property `minQty` (number)
                        > Minimum quantity constraint for token holding.

                    * Deleted property `maxQty` (number)
                        > Maximum quantity constraint for token holding.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Changed property `type` (string)
    > Type of loyalty rule being created

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Deleted property `minQty` (number)
        > Minimum quantity constraint for token holding.

    * Deleted property `maxQty` (number)
        > Maximum quantity constraint for token holding.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `type` (string)
        > Type of loyalty rule being created

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Deleted property `minQty` (number)
            > Minimum quantity constraint for token holding.

        * Deleted property `maxQty` (number)
            > Maximum quantity constraint for token holding.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Deleted property `minQty` (number)
        > Minimum quantity constraint for token holding.

    * Deleted property `maxQty` (number)
        > Maximum quantity constraint for token holding.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Deleted property `minQty` (number)
            > Minimum quantity constraint for token holding.

        * Deleted property `maxQty` (number)
            > Maximum quantity constraint for token holding.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-06-24" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `data` (object)
            > Data that was changed on the rule

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

        * Changed property `previousData` (object)
            > Previous data of the rule before the edit

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (object)
        > Data that was changed on the rule

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

    * Changed property `previousData` (object)
        > Previous data of the rule before the edit

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a get loyalty rule groups response

        * Changed property `loyaltyGroupItems` (array)

            Changed items (object):

            * Changed property `loyaltyRule` (object)

                * Changed property `metadata` (object)

                    * Deleted property `minQty` (number)
                        > Minimum quantity constraint for token holding.

                    * Deleted property `maxQty` (number)
                        > Maximum quantity constraint for token holding.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Changed property `type` (string)
    > Type of loyalty rule being created

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Deleted property `minQty` (number)
        > Minimum quantity constraint for token holding.

    * Deleted property `maxQty` (number)
        > Maximum quantity constraint for token holding.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `type` (string)
        > Type of loyalty rule being created

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Deleted property `minQty` (number)
            > Minimum quantity constraint for token holding.

        * Deleted property `maxQty` (number)
            > Maximum quantity constraint for token holding.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Deleted property `minQty` (number)
        > Minimum quantity constraint for token holding.

    * Deleted property `maxQty` (number)
        > Maximum quantity constraint for token holding.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Deleted property `minQty` (number)
            > Minimum quantity constraint for token holding.

        * Deleted property `maxQty` (number)
            > Maximum quantity constraint for token holding.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-06-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/contracts/\{id\}**

**Request:**

Changed content type : `application/json`

* Added property `iconUrl` (string)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-06-04" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `data` (object)
            > Data that was changed on the rule

            * Added property `progressType` (string)
                > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

                Enum values:

                * `counter`
                * `percentage`
        * Changed property `previousData` (object)
            > Previous data of the rule before the edit

            * Added property `progressType` (string)
                > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (object)
        > Data that was changed on the rule

        * Added property `progressType` (string)
            > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

    * Changed property `previousData` (object)
        > Previous data of the rule before the edit

        * Added property `progressType` (string)
            > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Added property `progressType` (string)
            > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Added property `progressType` (string)
    > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `progressType` (string)
        > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

* Added property `progressType` (string)
    > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `progressType` (string)
        > How tracked progress is interpreted. "percentage" counts 0-100 and is shown as a percentage. "counter" counts up to the highest reward range end and is shown as a raw count.

**`POST` /api/loyalty/rule_statuses**

**Request:**

Changed content type : `application/json`

* Changed property `progress` (number)
    > Progress of the loyalty rule. Clamped to the rule target (100 for percentage rules, the highest reward range end for counter rules).

* Changed property `incProgress` (number)
    > Increment progress of the loyalty rule. The resulting progress is clamped to the rule target (100 for percentage rules, the highest reward range end for counter rules).

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-06-03" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Changed property `data` (object)
            > Data that was changed on the rule

            * Added property `trackProgress` (boolean)
                > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

        * Changed property `previousData` (object)
            > Previous data of the rule before the edit

            * Added property `trackProgress` (boolean)
                > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

            * Changed property `metadata` (object)
                > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (object)
        > Data that was changed on the rule

        * Added property `trackProgress` (boolean)
            > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

    * Changed property `previousData` (object)
        > Previous data of the rule before the edit

        * Added property `trackProgress` (boolean)
            > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a get loyalty rule groups response

        * Changed property `loyaltyGroupItems` (array)

            Changed items (object):

            * Changed property `loyaltyRule` (object)

                * Changed property `metadata` (object)

                    * Deleted property `trackProgress` (boolean)
                        > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):

        * Added property `trackProgress` (boolean)
            > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

        * Changed property `metadata` (object)
            > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Added property `trackProgress` (boolean)
    > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Deleted property `trackProgress` (boolean)
        > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `trackProgress` (boolean)
        > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Deleted property `trackProgress` (boolean)
            > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

* Added property `trackProgress` (boolean)
    > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

* Changed property `metadata` (object)
    > Additional metadata for the loyalty rule

    * Deleted property `trackProgress` (boolean)
        > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `trackProgress` (boolean)
        > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

    * Changed property `metadata` (object)
        > Additional metadata for the loyalty rule

        * Deleted property `trackProgress` (boolean)
            > Flag indicating if the progress is tracked. If enabled, the rule can only be completed once the progress is 100%.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-06-02" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/assets**

**Request:**

Changed content type : `application/json`

* Changed property `filePath` (string)
    > The file path, must be a valid enum value.

    Added enum value:

    * `dapps`
**`GET` /api/contracts**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a contract

        * Added property `iconUrl` (string)
            > Optional icon image for the contract; used as the reward token icon

**`POST` /api/contracts**

**Request:**

Changed content type : `application/json`

* Added property `iconUrl` (string)

**Return Type:**

Changed response : **201 Created**
> 201

* Changed content type : `application/json`

    * Added property `iconUrl` (string)
        > Optional icon image for the contract; used as the reward token icon

**`POST` /api/contracts/\{id\}**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `iconUrl` (string)
        > Optional icon image for the contract; used as the reward token icon

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Added property `isDappRule` (boolean)
    > Routes rule rewards to the dApp owner address (for substitution-type rules: external_rule, smart_contract_event, stratus_function) or marks the rule as a dApp-attribution rule (for the dapps_by_* family). Defaults to true at the API for the dapps_by_* family when omitted, false otherwise. Immutable after creation.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `isDappRule` (boolean)
        > Routes rule rewards to the dApp owner address (for substitution-type rules: external_rule, smart_contract_event, stratus_function) or marks the rule as a dApp-attribution rule (for the dapps_by_* family). Defaults to true at the API for the dapps_by_* family when omitted, false otherwise. Immutable after creation.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

New optional properties:
- `interval`

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    New optional properties:
    - `interval`

**`POST` /api/stratus/subscriptions**

**Request:**

Changed content type : `application/json`

* Changed property `callbackUrl` (string)
    > Must be the one below!!

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-06-01" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/assets**

**Request:**

Changed content type : `application/json`

* Changed property `filePath` (string)
    > The file path, must be a valid enum value.

    Added enum value:

    * `dapps`
**`GET` /api/contracts**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a contract

        * Added property `iconUrl` (string)
            > Optional icon image for the contract; used as the reward token icon

**`POST` /api/contracts**

**Request:**

Changed content type : `application/json`

* Added property `iconUrl` (string)

**Return Type:**

Changed response : **201 Created**
> 201

* Changed content type : `application/json`

    * Added property `iconUrl` (string)
        > Optional icon image for the contract; used as the reward token icon

**`POST` /api/contracts/\{id\}**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `iconUrl` (string)
        > Optional icon image for the contract; used as the reward token icon

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

* Added property `isDappRule` (boolean)
    > Routes rule rewards to the dApp owner address (for substitution-type rules: external_rule, smart_contract_event, stratus_function) or marks the rule as a dApp-attribution rule (for the dapps_by_* family). Defaults to true at the API for the dapps_by_* family when omitted, false otherwise. Immutable after creation.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `isDappRule` (boolean)
        > Routes rule rewards to the dApp owner address (for substitution-type rules: external_rule, smart_contract_event, stratus_function) or marks the rule as a dApp-attribution rule (for the dapps_by_* family). Defaults to true at the API for the dapps_by_* family when omitted, false otherwise. Immutable after creation.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

New optional properties:
- `interval`

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    New optional properties:
    - `interval`

**`POST` /api/stratus/subscriptions**

**Request:**

Changed content type : `application/json`

* Changed property `callbackUrl` (string)
    > Must be the one below!!

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-05-21" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`POST` /api/contracts/\{id\}**

> Update a contract

**`DELETE` /api/contracts/\{id\}**

> Delete a contract

**`GET` /api/stratus/subscriptions**

> Get subscriptions filtered by type and other fields

**`POST` /api/stratus/subscriptions**

> Create a new subscription (blockchain or snag)

**`GET` /api/stratus/subscriptions/\{id\}**

> Get subscription by id

**`POST` /api/stratus/subscriptions/\{id\}**

> Update a subscription (blockchain or snag)

**`DELETE` /api/stratus/subscriptions/\{id\}**

> Delete a stratus subscription

**`GET` /api/stratus/subscriptions/\{id\}/events**

> Get subscription events by subscription id

**`GET` /api/stratus/networks**

> Get available networks

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-05-21" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

New required properties:
- `interval`

* Changed property `interval` (string)
    > Interval between rule executions

* Changed property `startTime` (string)
    > When the rule becomes active

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    New required properties:
    - `interval`

    * Changed property `interval` (string)
        > Interval between rule executions

    * Changed property `startTime` (string)
        > When the rule becomes active

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

New required properties:
- `interval`
- `startTime`

* Changed property `startTime` (string)
    > Start time for the loyalty rule

* Changed property `interval` (string)
    > Time interval for recurring rule execution

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    New required properties:
    - `interval`
    - `startTime`

    * Changed property `startTime` (string)
        > Start time for the loyalty rule

    * Changed property `interval` (string)
        > Time interval for recurring rule execution

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-05-20" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/contracts**

> Get contracts

**`POST` /api/contracts**

> Create a contract

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-05-19" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/currencies**

**Parameters:**

Added: `excludeTokenRewardCurrencies` in `query`
> Exclude LoyaltyCurrency rows auto-created by token-reward rules (isTokenRewardCurrency=true). Defaults to true so admin pickers never see them; surfaces that need to render an existing token-reward rule pass false.

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Changed property `data` (array)

        Changed items (object):
            > Schema for a loyalty currency

        * Added property `isTokenRewardCurrency` (boolean)
            > True for LoyaltyCurrency rows auto-created by resolveTokenReward (Option 1 hidden currency backing a token-reward rule). Excluded from list responses by default; opt in via excludeTokenRewardCurrencies=false on the list endpoint.

**`POST` /api/loyalty/currencies**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `isTokenRewardCurrency` (boolean)
        > True for LoyaltyCurrency rows auto-created by resolveTokenReward (Option 1 hidden currency backing a token-reward rule). Excluded from list responses by default; opt in via excludeTokenRewardCurrencies=false on the list endpoint.

**`DELETE` /api/loyalty/currencies/\{id\}**

**Return Type:**

Changed response : **200 OK**
> 200

* Changed content type : `application/json`

    * Added property `isTokenRewardCurrency` (boolean)
        > True for LoyaltyCurrency rows auto-created by resolveTokenReward (Option 1 hidden currency backing a token-reward rule). Excluded from list responses by default; opt in via excludeTokenRewardCurrencies=false on the list endpoint.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-05-12" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Response returned upon successful fetching of the badges.

    - Changed property `rewards` (array)

      > Array of rewards granted when the badge is achieved

      Changed items (object):

      - Changed property `rewardType` (string)

        > Type of reward (points or multiplier)

        Added enum value:

        - `token`

**`POST` /api/loyalty/badges**

**Request:**

Changed content type : `application/json`

- Changed property `rewards` (array)

  > Array of rewards granted when the badge is achieved

  Changed items (object):

  - Changed property `rewardType` (string)

    > Type of reward (points or multiplier)

    Added enum value:

    - `token`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `rewards` (array)

    > Array of rewards granted when the badge is achieved

    Changed items (object):

    - Changed property `rewardType` (string)

      > Type of reward (points or multiplier)

      Added enum value:

      - `token`

**`POST` /api/loyalty/badges/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `rewards` (array)

  > Array of rewards granted when the badge is achieved

  Changed items (object):

  - Changed property `rewardType` (string)

    > Type of reward (points or multiplier)

    Added enum value:

    - `token`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `rewards` (array)

    > Array of rewards granted when the badge is achieved

    Changed items (object):

    - Changed property `rewardType` (string)

      > Type of reward (points or multiplier)

      Added enum value:

      - `token`

**`DELETE` /api/loyalty/badges/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `rewards` (array)

    > Array of rewards granted when the badge is achieved

    Changed items (object):

    - Changed property `rewardType` (string)

      > Type of reward (points or multiplier)

      Added enum value:

      - `token`

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `rewardType` (string)

        > Type of the reward

        Added enum value:

        - `token`

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `rewardType` (string)

        > Type of the reward

        Added enum value:

        - `token`

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `rewardType` (string)

      > Type of the reward

      Added enum value:

      - `token`

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `rewardType` (string)

      > Type of the reward

      Added enum value:

      - `token`

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `rewardType` (string)

          Added enum value:

          - `token`

        - Changed property `metadata` (object)

          - Changed property `range` (array)

            > Array defining ranges and corresponding rewards.

            Changed items (object):

            - Changed property `amount` (number -> object)
              > Reward amount for this range.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `rewardType` (string)

      > Type of the reward

      Added enum value:

      - `token`

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

New optional properties:

- `loyaltyCurrencyId`

* Added property `tokenReward` (object)

  > When rewardType is token, provide relayer and either an ERC-20 contract or isNative=true to find or create loyalty currency and onchain token.

  - Property `relayerId` (string)

    > Stratus relayer for token distribution (same network as contract)

  - Property `contractId` (string)

    > ERC-20 contract to reward with; must match relayer network. Required unless isNative is true.

  - Property `isNative` (boolean)
    > When true, reward is the chain native gas token (ETH, MATIC, BNB, …) and contractId is omitted.

* Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `range` (array)

    > Array defining ranges and corresponding rewards.

    Changed items (object):

    - Changed property `amount` (number -> object)
      > Reward amount for this range.

* Changed property `loyaltyCurrencyId` (string)

  > Unique identifier for the loyalty currency. Optional when rewardType is token and tokenReward is provided; backend will find or create the currency from the selected contract.

* Changed property `rewardType` (string)

  > Type of reward issued by the rule

  Added enum value:

  - `token`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New optional properties:

  - `loyaltyCurrencyId`

  * Added property `tokenReward` (object)

    > When rewardType is token, provide relayer and either an ERC-20 contract or isNative=true to find or create loyalty currency and onchain token.

  * Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `range` (array)

      > Array defining ranges and corresponding rewards.

      Changed items (object):

      - Changed property `amount` (number -> object)
        > Reward amount for this range.

  * Changed property `loyaltyCurrencyId` (string)

    > Unique identifier for the loyalty currency. Optional when rewardType is token and tokenReward is provided; backend will find or create the currency from the selected contract.

  * Changed property `rewardType` (string)

    > Type of reward issued by the rule

    Added enum value:

    - `token`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `loyaltyCurrencyId` (string)

  > Loyalty currency. Optional when rewardType is token and tokenReward is provided; backend resolves the hidden currency from the contract.

- Added property `tokenReward` (object)

  > When rewardType is token, provide relayer and either an ERC-20 contract or isNative=true to find or create the hidden loyalty currency and onchain token.

  - Property `relayerId` (string)

    > Stratus relayer for token distribution (same network as contract)

  - Property `contractId` (string)

    > ERC-20 contract to reward with; must match relayer network. Required unless isNative is true.

  - Property `isNative` (boolean)
    > When true, reward is the chain native gas token (ETH, MATIC, BNB, …) and contractId is omitted.

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `range` (array)

    > Array defining ranges and corresponding rewards.

    Changed items (object):

    - Changed property `amount` (number -> object)
      > Reward amount for this range.

- Changed property `rewardType` (string)

  > Type of reward issued by this rule

  Added enum value:

  - `token`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `loyaltyCurrencyId` (string)

    > Loyalty currency. Optional when rewardType is token and tokenReward is provided; backend resolves the hidden currency from the contract.

  - Added property `tokenReward` (object)

    > When rewardType is token, provide relayer and either an ERC-20 contract or isNative=true to find or create the hidden loyalty currency and onchain token.

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `range` (array)

      > Array defining ranges and corresponding rewards.

      Changed items (object):

      - Changed property `amount` (number -> object)
        > Reward amount for this range.

  - Changed property `rewardType` (string)

    > Type of reward issued by this rule

    Added enum value:

    - `token`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-05-07" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `nexus`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `nexus`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `nexus`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `nexus`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `nexus`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `nexus`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `nexus`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `nexus`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `nexus`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `nexus`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `nexus`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `nexus`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `nexus`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `nexus`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `nexus`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `nexus`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `nexus`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `nexus`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `network` (string)

      Added enum value:

      - `nexus`

    - Changed property `mustOwnCollections` (array)

      Changed items (object):

      - Changed property `network` (string)

        Added enum value:

        - `nexus`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-05-07" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `nexus`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `nexus`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `nexus`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `nexus`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `nexus`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `nexus`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `nexus`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `nexus`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `nexus`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `nexus`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `nexus`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `nexus`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `nexus`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `nexus`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `nexus`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `nexus`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `nexus`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `nexus`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `network` (string)

      Added enum value:

      - `nexus`

    - Changed property `mustOwnCollections` (array)

      Changed items (object):

      - Changed property `network` (string)

        Added enum value:

        - `nexus`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-31" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `totalAssets`

    New optional properties:

    - `_count`

    * Added property `totalAssets` (number)

    * Deleted property `_count` (object)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-24" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rules**

**Parameters:**

Changed: `loyaltyRuleGroupId` in `query`

> ID(s) of the loyalty rule group(s) to filter results. Single ID or array for multiple groups (shared cursor when multiple).

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-19" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `dapps_by_user_retention`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `dapps_by_user_retention`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `dapps_by_user_retention`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-13" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/websites**

**Request:**

Changed content type : `application/json`

- Added property `adminWalletAddress` (array)

  > Optional admin wallet addresses to grant admin access on creation (organization API key only). Maximum 2.

  Items (string):

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-03-12" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/auctions/items**

> Get auction items

**What's Changed**

---

**`GET` /api/auctions**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema representing an auction

    New optional properties:

    - `auctionItems`

    * Deleted property `auctionItems` (array)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-10" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/users**

**Parameters:**

Changed: `includeDelegation` in `query`

> Whether to include delegations in the response

**`GET` /api/loyalty/badges**

**Parameters:**

Changed: `includeDeleted` in `query`

> Include deleted badges in the response

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `dapps_by_transaction_count`

**`GET` /api/loyalty/rules**

**Parameters:**

Changed: `includeDeleted` in `query`

> Whether to include deleted/archived records

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `dapps_by_transaction_count`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `dapps_by_transaction_count`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `includeMetadata` in `query`

> Whether to include metadata in the response

Changed: `includeDeleted` in `query`

> Whether to include deleted assets in the response

**`GET` /api/minting/contracts**

**Parameters:**

Changed: `showOnMarketplace` in `query`

Changed: `includeDeleted` in `query`

**`GET` /api/token_claims**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Added property `minPercentageToStake` (number)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-10" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/assets**

**Parameters:**

Added: `isHidden` in `query`

> Whether to include hidden assets in the response

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-03-10" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/assets**

**Parameters:**

Added: `isHidden` in `query`

> Whether to include hidden assets in the response

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-03-05" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/token_claims**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `erc20Decimals`

    * Added property `erc20Decimals` (number)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-03-05" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules/\{id\}/complete**

**Return Type:**

Changed response : **400 Bad Request**

> 400

- Changed content type : `application/json`

  - Changed property `message` (string)

    > Categorized examples of messages that may be returned for a loyalty rule's processing result.
    >
    >           possible messages:
    >           'loyaltyRuleId must be a uuid',
    >           'Loyalty rule \{NAME\} has expired',
    >           'Loyalty rule \{NAME\} has not started yet',
    >           'Only external rules can have amount override',
    >           'Only external rules can have idempotency key override',
    >           'Loyalty currency not found',
    >           'Api key is required to skip chain or required check',
    >           'Access restricted. Your account is blocked.',
    >           'Please complete other required rules to unlock this quest.',
    >           'Unfortunately, this quest is only available for new users',
    >           "Unfortunately, we couldn't verify the code you entered. Please ensure it's correct and try again",
    >           'Invalid Verification, try again',
    >           'Quest not completed',
    >           'You have already clicked the link, please wait for the reward to be processed',
    >           'Check-in amount rule cannot be completed when amount is 0',
    >           'Twitter not connected',
    >           'Phone not connected or not verified',
    >           'Instagram not connected',
    >           'Telegram not connected',
    >           'Discord not connected',
    >           'Epic not connected',
    >           'Email not verified',
    >           'GitHub not connected',
    >           'Youtube not connected',
    >           'Reddit not connected',
    >           'Comment link is required',
    >           'TikTok not connected',
    >           'Twitter not connected or content url is required',
    >           'Steam not connected',
    >           'Email not connected or not verified',
    >           'No choice selected',
    >           'Question not found',
    >           'Invalid choice selected',
    >           'Claim on token hold is not supported for Sui',
    >           'Claim on token hold is not supported for paid full royalty or native purchases',
    >           'Claim on token hold is only supported for multipliers',
    >           'Rule is not setup',
    >           'Quest not achieved, please try again.',
    >           'Invalid request'

    Added enum values:

    - `Loyalty rule {NAME} has not started yet`
    - `Api key is required to skip chain or required check`
    - `Access restricted. Your account is blocked.`
    - `Unfortunately, this quest is only available for new users`
    - `Quest not completed`
    - `Check-in amount rule cannot be completed when amount is 0`
    - `Phone not connected or not verified`
    - `Instagram not connected`
    - `Epic not connected`
    - `Email not verified`
    - `GitHub not connected`
    - `Youtube not connected`
    - `Reddit not connected`
    - `Comment link is required`
    - `TikTok not connected`
    - `Twitter not connected or content url is required`
    - `Email not connected or not verified`
    - `Rule is not setup`
    - `Quest not achieved, please try again.`

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `perUserMintLimit`

    * Added property `perUserMintLimit` (integer)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-04" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules/\{id\}/complete**

**Return Type:**

Changed response : **400 Bad Request**

> 400

- Changed content type : `application/json`

  - Changed property `message` (string)

    > Categorized examples of messages that may be returned for a loyalty rule's processing result.
    >
    >           possible messages:
    >           'loyaltyRuleId must be a uuid',
    >           'Loyalty rule \{NAME\} has expired',
    >           'Loyalty rule \{NAME\} has not started yet',
    >           'Only external rules can have amount override',
    >           'Only external rules can have idempotency key override',
    >           'Loyalty currency not found',
    >           'Api key is required to skip chain or required check',
    >           'Access restricted. Your account is blocked.',
    >           'Please complete other required rules to unlock this quest.',
    >           'Unfortunately, this quest is only available for new users',
    >           "Unfortunately, we couldn't verify the code you entered. Please ensure it's correct and try again",
    >           'Invalid Verification, try again',
    >           'Quest not completed',
    >           'You have already clicked the link, please wait for the reward to be processed',
    >           'Check-in amount rule cannot be completed when amount is 0',
    >           'Twitter not connected',
    >           'Phone not connected or not verified',
    >           'Instagram not connected',
    >           'Telegram not connected',
    >           'Discord not connected',
    >           'Epic not connected',
    >           'Email not verified',
    >           'GitHub not connected',
    >           'Youtube not connected',
    >           'Reddit not connected',
    >           'Comment link is required',
    >           'TikTok not connected',
    >           'Twitter not connected or content url is required',
    >           'Steam not connected',
    >           'Email not connected or not verified',
    >           'No choice selected',
    >           'Question not found',
    >           'Invalid choice selected',
    >           'Claim on token hold is not supported for Sui',
    >           'Claim on token hold is not supported for paid full royalty or native purchases',
    >           'Claim on token hold is only supported for multipliers',
    >           'Rule is not setup',
    >           'Quest not achieved, please try again.',
    >           'Invalid request'

    Added enum values:

    - `Loyalty rule {NAME} has not started yet`
    - `Api key is required to skip chain or required check`
    - `Access restricted. Your account is blocked.`
    - `Unfortunately, this quest is only available for new users`
    - `Quest not completed`
    - `Check-in amount rule cannot be completed when amount is 0`
    - `Phone not connected or not verified`
    - `Instagram not connected`
    - `Epic not connected`
    - `Email not verified`
    - `GitHub not connected`
    - `Youtube not connected`
    - `Reddit not connected`
    - `Comment link is required`
    - `TikTok not connected`
    - `Twitter not connected or content url is required`
    - `Email not connected or not verified`
    - `Rule is not setup`
    - `Quest not achieved, please try again.`

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `perUserMintLimit`

    * Added property `perUserMintLimit` (integer)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-03" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Array of websites

    Changed items (object): > Schema representing a website

    New optional properties:

    - `termsSignedAt`

    * Deleted property `termsSignedAt` (string)
      > Date when terms were signed

**`POST` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New optional properties:

  - `termsSignedAt`

  * Deleted property `termsSignedAt` (string)
    > Date when terms were signed

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-03-03" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Added property `dappDeployedWithin` (string)

        > Filter dApps by deployment age before ranking.

        Enum values:

        - `daily`
        - `weekly`
        - `monthly`

      - Added property `dappDataWindow` (string)

        > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

        Enum values:

        - `daily`
        - `weekly`
        - `monthly`

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Added property `dappDeployedWithin` (string)

        > Filter dApps by deployment age before ranking.

      - Added property `dappDataWindow` (string)
        > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Added property `dappDeployedWithin` (string)

  > Filter dApps by deployment age before ranking.

- Added property `dappDataWindow` (string)
  > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `dappDeployedWithin` (string)

    > Filter dApps by deployment age before ranking.

  - Added property `dappDataWindow` (string)
    > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `dappDeployedWithin` (string)

  > Filter dApps by deployment age before ranking.

- Added property `dappDataWindow` (string)
  > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `dappDeployedWithin` (string)

    > Filter dApps by deployment age before ranking.

  - Added property `dappDataWindow` (string)
    > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-03-03" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Added property `dappDeployedWithin` (string)

        > Filter dApps by deployment age before ranking.

        Enum values:

        - `daily`
        - `weekly`
        - `monthly`

      - Added property `dappDataWindow` (string)

        > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

        Enum values:

        - `daily`
        - `weekly`
        - `monthly`

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Added property `dappDeployedWithin` (string)

        > Filter dApps by deployment age before ranking.

      - Added property `dappDataWindow` (string)
        > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Added property `dappDeployedWithin` (string)

  > Filter dApps by deployment age before ranking.

- Added property `dappDataWindow` (string)
  > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `dappDeployedWithin` (string)

    > Filter dApps by deployment age before ranking.

  - Added property `dappDataWindow` (string)
    > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `dappDeployedWithin` (string)

  > Filter dApps by deployment age before ranking.

- Added property `dappDataWindow` (string)
  > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `dappDeployedWithin` (string)

    > Filter dApps by deployment age before ranking.

  - Added property `dappDataWindow` (string)
    > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-03-03" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Added property `dappDeployedWithin` (string)

        > Filter dApps by deployment age before ranking.

        Enum values:

        - `daily`
        - `weekly`
        - `monthly`

      - Added property `dappDataWindow` (string)

        > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

        Enum values:

        - `daily`
        - `weekly`
        - `monthly`

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Added property `dappDeployedWithin` (string)

        > Filter dApps by deployment age before ranking.

      - Added property `dappDataWindow` (string)
        > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Added property `dappDeployedWithin` (string)

      > Filter dApps by deployment age before ranking.

    - Added property `dappDataWindow` (string)
      > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Added property `dappDeployedWithin` (string)

  > Filter dApps by deployment age before ranking.

- Added property `dappDataWindow` (string)
  > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `dappDeployedWithin` (string)

    > Filter dApps by deployment age before ranking.

  - Added property `dappDataWindow` (string)
    > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `dappDeployedWithin` (string)

  > Filter dApps by deployment age before ranking.

- Added property `dappDataWindow` (string)
  > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `dappDeployedWithin` (string)

    > Filter dApps by deployment age before ranking.

  - Added property `dappDataWindow` (string)
    > Reward based on data usage within the last day, week, or month. Leave it empty for all time usage.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-27" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/loyalty/website_page_sections**

> Get loyalty website page sections

**`POST` /api/loyalty/website_page_sections**

> Update loyalty website page sections

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-27" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/loyalty/website_page_sections**

> Get loyalty website page sections

**`POST` /api/loyalty/website_page_sections**

> Update loyalty website page sections

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-25" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/page_sections**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `itemsGrids` (array)

    Changed items (object):

    New optional properties:

    - `websiteCollection`

    * Deleted property `websiteCollection` (object)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-24" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Array of websites

    Changed items (object): > Schema representing a website

    New optional properties:

    - `_count`
    - `onchainTokens`

    * Deleted property `onchainTokens` (array)

      > Onchain tokens associated with the website

    * Deleted property `_count` (object)
      > Counts of related entities

**`POST` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New optional properties:

  - `_count`
  - `onchainTokens`

  * Deleted property `onchainTokens` (array)

    > Onchain tokens associated with the website

  * Deleted property `_count` (object)
    > Counts of related entities

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-24" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Array of websites

    Changed items (object): > Schema representing a website

    New optional properties:

    - `collections`

    * Deleted property `collections` (array)
      > Collections associated with the website

**`POST` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New optional properties:

  - `collections`

  * Deleted property `collections` (array)
    > Collections associated with the website

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Deleted**

---

**`GET` /api/website_collections**

> Get Website Collections

**`POST` /api/website_collections**

> Create Website Collection

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New optional properties:

    - `websiteCollectionId`

    * Deleted property `websiteCollectionId` (string)

**`GET` /api/page_sections**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `banner` (object)

    - Changed property `websiteCollectionBanners` (array)

      Changed items (object):

      New optional properties:

      - `websiteCollectionId`

      * Deleted property `websiteCollectionId` (string)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`POST` /api/phone_verifications**

> Send Phone Verification Code

**`POST` /api/phone_verifications/connect**

> Verify Phone OTP and Connect

**`POST` /api/phone_verifications/disconnect**

> Disconnect Phone

**What's Deleted**

---

**`POST` /api/phone/auth**

> Send Phone Verification Code

**`POST` /api/phone/auth/connect**

> Verify Phone OTP and Connect

**`POST` /api/phone/auth/disconnect**

> Disconnect Phone

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`POST` /api/phone_verifications**

> Send Phone Verification Code

**`POST` /api/phone_verifications/connect**

> Verify Phone OTP and Connect

**`POST` /api/phone_verifications/disconnect**

> Disconnect Phone

**What's Deleted**

---

**`POST` /api/phone/auth**

> Send Phone Verification Code

**`POST` /api/phone/auth/connect**

> Verify Phone OTP and Connect

**`POST` /api/phone/auth/disconnect**

> Disconnect Phone

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`POST` /api/phone/auth**

> Send Phone Verification Code

**`POST` /api/phone/auth/connect**

> Verify Phone OTP and Connect

**`POST` /api/phone/auth/disconnect**

> Disconnect Phone

**What's Changed**

---

**`POST` /api/users/metadatas**

**Request:**

Changed content type : `application/json`

- Added property `phoneNumber` (string)
  > Phone number in E.164 format (e.g., +14155552671)

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `connected_phone`

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `dogeosTestnet`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `dogeosTestnet`

          - Changed property `socialPlatform` (string)

            > Social media platform associated with the rule.

            Added enum value:

            - `Phone`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `dogeosTestnet`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `connected_phone`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `dogeosTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `dogeosTestnet`

  - Changed property `socialPlatform` (string)

    > Social media platform associated with the rule.

    Added enum value:

    - `Phone`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `dogeosTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `dogeosTestnet`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `connected_phone`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `dogeosTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `dogeosTestnet`

    - Changed property `socialPlatform` (string)

      > Social media platform associated with the rule.

      Added enum value:

      - `Phone`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `dogeosTestnet`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `dogeosTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `dogeosTestnet`

  - Changed property `socialPlatform` (string)

    > Social media platform associated with the rule.

    Added enum value:

    - `Phone`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `dogeosTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `dogeosTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `dogeosTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `dogeosTestnet`

    - Changed property `socialPlatform` (string)

      > Social media platform associated with the rule.

      Added enum value:

      - `Phone`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `dogeosTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `dogeosTestnet`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`POST` /api/minting/contracts/mint**

**Request:**

Changed content type : `application/json`

- Changed property `shippingOrderType` (string)

  Added enum value:

  - `twilio`

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `network` (string)

      Added enum value:

      - `dogeosTestnet`

    - Changed property `mustOwnCollections` (array)

      Changed items (object):

      - Changed property `network` (string)

        Added enum value:

        - `dogeosTestnet`

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum value:

  - `dogeosTestnet`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-20" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Array of websites

    Changed items (object): > Schema representing a website

    - Changed property `collections` (array)

      > Collections associated with the website

      Changed items (object): > Schema representing a collection

      New optional properties:

      - `royaltyFee`
      - `royaltyFeeAddress`

      * Deleted property `royaltyFee` (number)

        > Royalty fee percentage

      * Deleted property `royaltyFeeAddress` (string)
        > Address to receive royalty fees

**`POST` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `collections` (array)

    > Collections associated with the website

    Changed items (object): > Schema representing a collection

    New optional properties:

    - `royaltyFee`
    - `royaltyFeeAddress`

    * Deleted property `royaltyFee` (number)

      > Royalty fee percentage

    * Deleted property `royaltyFeeAddress` (string)
      > Address to receive royalty fees

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-20" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/page_sections**

**Parameters:**

Deleted: `websiteCollectionId` in `query`

> Unique identifier for the website collection to filter by

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-19" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/users**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Schema for users response

    Changed items (object): > Schema for a user response

    - Changed property `userMetadata` (array)

      Changed items (object):

      - Added property `verifiedLocallyAt` (string)

**`POST` /api/users/connect**

**Request:**

Changed content type : `application/json`

- Changed property `verificationData` (object)

  > The verification data of the user walletAddress

  - Added property `verifiedLocally` (boolean)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-18" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `deletedAt` (string)
  > Timestamp when the loyalty rule was deleted. Set to null to restore a deleted rule.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `deletedAt` (string)
    > Timestamp when the loyalty rule was deleted. Set to null to restore a deleted rule.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-18" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Response returned upon successful fetching of the badges.

    - Added property `rewards` (array)

      > Array of rewards granted when the badge is achieved

      Items (object):

      - Property `id` (string)

        > UUID of the badge reward

      - Property `rewardType` (string)

        > Type of reward (points or multiplier)

        Enum values:

        - `points`
        - `multiplier`
        - `badge`

      - Property `loyaltyCurrencyId` (string)

        > UUID of the loyalty currency for this reward

      - Property `loyaltyCurrencyIds` (array)

        > Array of loyalty currency IDs for multiplier rewards (empty means all currencies)

        Items (string):

      - Property `amount` (number)

        > Points amount to reward (for points reward type)

      - Property `multiplier` (number)

        > Multiplier to reward (for multiplier reward type)

      - Property `isRetroactive` (boolean)
        > Whether the multiplier should be applied to the user's existing balance

    - Changed property `loyaltyBadgeUsers` (array)

      > Array of user badges

      Changed items (object):

      - Added property `completedAt` (string)
        > The date and time the user badge was granted

**`POST` /api/loyalty/badges**

**Request:**

Changed content type : `application/json`

- Added property `rewards` (array)

  > Array of rewards granted when the badge is achieved

  Items (object):

  - Property `rewardType` (string)

    > Type of reward (points or multiplier)

  - Property `loyaltyCurrencyId` (string)

    > UUID of the loyalty currency for this reward

  - Property `loyaltyCurrencyIds` (array)

    > Array of loyalty currency IDs for multiplier rewards (empty means all currencies)

  - Property `amount` (number)

    > Points amount to reward (for points reward type)

  - Property `multiplier` (number)

    > Multiplier to reward (for multiplier reward type)

  - Property `isRetroactive` (boolean)
    > Whether the multiplier should be applied to the user's existing balance

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `rewards` (array)

    > Array of rewards granted when the badge is achieved

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `completedAt` (string)
      > The date and time the user badge was granted

**`POST` /api/loyalty/badges/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `rewards` (array)
  > Array of rewards granted when the badge is achieved

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `rewards` (array)

    > Array of rewards granted when the badge is achieved

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `completedAt` (string)
      > The date and time the user badge was granted

**`DELETE` /api/loyalty/badges/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `rewards` (array)

    > Array of rewards granted when the badge is achieved

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `completedAt` (string)
      > The date and time the user badge was granted

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-16" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/transactions**

**Request:**

Changed content type : `application/json`

- Added property `websiteId` (string)

- Added property `organizationId` (string)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-12" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `instagram_follow`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `instagram_follow`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `instagram_follow`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Added property `resetProgressOnClaim` (boolean)
            > If enabled, the progress tracking row will be deleted after a successful claim, allowing the user to re-earn the rule.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `resetProgressOnClaim` (boolean)
    > If enabled, the progress tracking row will be deleted after a successful claim, allowing the user to re-earn the rule.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `resetProgressOnClaim` (boolean)
      > If enabled, the progress tracking row will be deleted after a successful claim, allowing the user to re-earn the rule.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `resetProgressOnClaim` (boolean)
    > If enabled, the progress tracking row will be deleted after a successful claim, allowing the user to re-earn the rule.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `resetProgressOnClaim` (boolean)
      > If enabled, the progress tracking row will be deleted after a successful claim, allowing the user to re-earn the rule.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum values:

              - `horizen`
              - `horizenTestnet`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum values:

              - `horizen`
              - `horizenTestnet`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum values:

  - `horizen`
  - `horizenTestnet`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum values:

    - `horizen`
    - `horizenTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum values:

    - `horizen`
    - `horizenTestnet`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum values:

      - `horizen`
      - `horizenTestnet`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum values:

  - `horizen`
  - `horizenTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum values:

    - `horizen`
    - `horizenTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum values:

    - `horizen`
    - `horizenTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum values:

      - `horizen`
      - `horizenTestnet`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `network` (string)

      Added enum values:

      - `horizen`
      - `horizenTestnet`

    - Changed property `mustOwnCollections` (array)

      Changed items (object):

      - Changed property `network` (string)

        Added enum values:

        - `horizen`
        - `horizenTestnet`

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum values:

  - `horizen`
  - `horizenTestnet`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum values:

              - `horizen`
              - `horizenTestnet`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum values:

              - `horizen`
              - `horizenTestnet`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum values:

  - `horizen`
  - `horizenTestnet`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum values:

    - `horizen`
    - `horizenTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum values:

    - `horizen`
    - `horizenTestnet`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum values:

      - `horizen`
      - `horizenTestnet`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum values:

      - `horizen`
      - `horizenTestnet`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum values:

  - `horizen`
  - `horizenTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum values:

    - `horizen`
    - `horizenTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum values:

        - `horizen`
        - `horizenTestnet`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum values:

    - `horizen`
    - `horizenTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum values:

      - `horizen`
      - `horizenTestnet`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `network` (string)

      Added enum values:

      - `horizen`
      - `horizenTestnet`

    - Changed property `mustOwnCollections` (array)

      Changed items (object):

      - Changed property `network` (string)

        Added enum values:

        - `horizen`
        - `horizenTestnet`

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum values:

  - `horizen`
  - `horizenTestnet`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/\{authType\}/auth**

**Parameters:**

Changed: `authType` in `path`

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `dapps_by_gas_spent`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `dapps_by_gas_spent`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `dapps_by_gas_spent`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `dapps_by_gas_spent`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `dapps_by_gas_spent`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `dapps_by_gas_spent`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/users**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Schema for users response

    Changed items (object): > Schema for a user response

    - Changed property `userMetadata` (array)

      Changed items (object):

      - Added property `redditUserId` (string)

      - Added property `redditUser` (string)

      - Added property `githubUser` (string)

      - Added property `githubUserId` (string)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-10" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/website_user_roles**

**Request:**

Changed content type : `application/json`

- Changed property `websiteUserRoles` (array)

  > Array of website user roles

  Changed items (object):

  - Changed property `roleType` (string)

    > Role type of the user

    Added enum value:

    - `ORGANIZATION_API_KEY`

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/\{authType\}/auth**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `url` (string)
    > The URL to redirect to.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/\{authType\}/auth/connect**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `jwtState` (string)
    > The JWT state

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/\{authType\}/auth/connect**

> Connect Auth Verify

**What's Changed**

---

**`GET` /api/\{authType\}/auth**

**Parameters:**

Changed: `authType` in `path`

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `instagram_post`

        - Changed property `metadata` (object)

          - Added property `allowMultipleRedemptions` (boolean)
            > Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code only.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `instagram_post`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `allowMultipleRedemptions` (boolean)
    > Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code only.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `instagram_post`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `allowMultipleRedemptions` (boolean)
      > Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code only.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `allowMultipleRedemptions` (boolean)
    > Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code only.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `allowMultipleRedemptions` (boolean)
      > Flag indicating if the rule allows multiple redemptions. Applies to Enter a Code only.

**`GET` /api/loyalty/rule_statuses**

**Parameters:**

Changed: `loyaltyRuleId` in `query`

> Unique identifier(s) for the loyalty rule(s). Accepts a single ID or an array (up to 100); for larger sets, batch requests to avoid URL length limits.

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-02-03" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `swap` (object)

            > Metadata for swap loyalty rules

            - Added property `from` (object)

              - Property `mode` (string)

                Enum values:

                - `any`
                - `specific`

              - Property `chain` (number)

                One of:

                      Enum value:

                      * `any`

              - Property `tokens` (array)

                Items (object):

                - Property `address` (string)

                - Property `chainId` (string)

              - Property `trackAmount` (boolean)

            - Added property `to` (object)

            - Deleted property `tokenMode` (string)

            - Deleted property `swappedToChain` (number)

            - Deleted property `swappedToTokens` (array)

            - Deleted property `trackTokenAmount` (boolean)

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `swap` (object)

    > Metadata for swap loyalty rules

    - Added property `from` (object)

      - Property `mode` (string)

      - Property `chain` (object)

        One of:

      - Property `tokens` (array)

      - Property `trackAmount` (boolean)

    - Added property `to` (object)

    - Deleted property `tokenMode` (string)

    - Deleted property `swappedToChain` (object)

    - Deleted property `swappedToTokens` (array)

    - Deleted property `trackTokenAmount` (boolean)

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `swap` (object)

      > Metadata for swap loyalty rules

      - Added property `from` (object)

      - Added property `to` (object)

      - Deleted property `tokenMode` (string)

      - Deleted property `swappedToChain` (number)

      - Deleted property `swappedToTokens` (array)

      - Deleted property `trackTokenAmount` (boolean)

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `swap` (object)

    > Metadata for swap loyalty rules

    - Added property `from` (object)

    - Added property `to` (object)

    - Deleted property `tokenMode` (string)

    - Deleted property `swappedToChain` (object)

    - Deleted property `swappedToTokens` (array)

    - Deleted property `trackTokenAmount` (boolean)

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `swap` (object)

      > Metadata for swap loyalty rules

      - Added property `from` (object)

      - Added property `to` (object)

      - Deleted property `tokenMode` (string)

      - Deleted property `swappedToChain` (number)

      - Deleted property `swappedToTokens` (array)

      - Deleted property `trackTokenAmount` (boolean)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-02" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/users/verify**

**Request:**

Changed content type : `application/json`

- Added property `walletAddress` (string)
  > The wallet address of the user

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-02-02" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-28" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auctions**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `network` (string)

**`GET` /api/minting/contracts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `contractKind`

    * Added property `contractKind` (string)

      Enum values:

      - `ONCHAIN`
      - `OFFCHAIN`

    * Changed property `address` (string)

    * Changed property `network` (string)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-27" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `frequency` (string)

          Added enum value:

          - `hourly`

        - Changed property `metadata` (object)

          - Changed property `isTokenHoldMultiplier` (boolean)
            > Flag indicating if the token hold multiplier is applied.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `frequency` (string)

  > Execution frequency of the loyalty rule

  Added enum value:

  - `hourly`

- Changed property `interval` (string)

  > Interval between rule executions

  Added enum value:

  - `hourly`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `isTokenHoldMultiplier` (boolean)
    > Flag indicating if the token hold multiplier is applied.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `frequency` (string)

    > Execution frequency of the loyalty rule

    Added enum value:

    - `hourly`

  - Changed property `interval` (string)

    > Interval between rule executions

    Added enum value:

    - `hourly`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `isTokenHoldMultiplier` (boolean)
      > Flag indicating if the token hold multiplier is applied.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `isTokenHoldMultiplier` (boolean)
    > Flag indicating if the token hold multiplier is applied.

- Changed property `frequency` (string)

  > Frequency of the rule execution

  Added enum value:

  - `hourly`

- Changed property `interval` (string)

  > Time interval for recurring rule execution

  Added enum value:

  - `hourly`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `isTokenHoldMultiplier` (boolean)
      > Flag indicating if the token hold multiplier is applied.

  - Changed property `frequency` (string)

    > Frequency of the rule execution

    Added enum value:

    - `hourly`

  - Changed property `interval` (string)

    > Time interval for recurring rule execution

    Added enum value:

    - `hourly`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-27" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-27" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `frequency` (string)

          Added enum value:

          - `hourly`

        - Changed property `metadata` (object)

          - Changed property `isTokenHoldMultiplier` (boolean)
            > Flag indicating if the token hold multiplier is applied.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `frequency` (string)

  > Execution frequency of the loyalty rule

  Added enum value:

  - `hourly`

- Changed property `interval` (string)

  > Interval between rule executions

  Added enum value:

  - `hourly`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `isTokenHoldMultiplier` (boolean)
    > Flag indicating if the token hold multiplier is applied.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `frequency` (string)

    > Execution frequency of the loyalty rule

    Added enum value:

    - `hourly`

  - Changed property `interval` (string)

    > Interval between rule executions

    Added enum value:

    - `hourly`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `isTokenHoldMultiplier` (boolean)
      > Flag indicating if the token hold multiplier is applied.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `isTokenHoldMultiplier` (boolean)
    > Flag indicating if the token hold multiplier is applied.

- Changed property `frequency` (string)

  > Frequency of the rule execution

  Added enum value:

  - `hourly`

- Changed property `interval` (string)

  > Time interval for recurring rule execution

  Added enum value:

  - `hourly`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `isTokenHoldMultiplier` (boolean)
      > Flag indicating if the token hold multiplier is applied.

  - Changed property `frequency` (string)

    > Frequency of the rule execution

    Added enum value:

    - `hourly`

  - Changed property `interval` (string)

    > Time interval for recurring rule execution

    Added enum value:

    - `hourly`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-26" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `connected_instagram`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `connected_instagram`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `connected_instagram`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-26" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Added property `minimumFollowerCount` (number)
            > Minimum follower count for the rule. Accepts both number and string values.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `minimumFollowerCount` (number)
    > Minimum follower count for the rule. Accepts both number and string values.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `minimumFollowerCount` (number)
      > Minimum follower count for the rule. Accepts both number and string values.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `minimumFollowerCount` (number)
    > Minimum follower count for the rule. Accepts both number and string values.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `minimumFollowerCount` (number)
      > Minimum follower count for the rule. Accepts both number and string values.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/loyalty/rule_chains/status**

> Get Loyalty Rule Chains Status

**What's Deleted**

---

**`GET` /api/loyalty/rule_chains/\{loyaltyRuleChainId\}/statuses**

> Get Loyalty Rule Chain Statuses

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/loyalty/rule_chains/status**

> Get Loyalty Rule Chains Status

**What's Deleted**

---

**`GET` /api/loyalty/rule_chains/\{loyaltyRuleChainId\}/statuses**

> Get Loyalty Rule Chain Statuses

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/loyalty/rule_chains/\{loyaltyRuleChainId\}/statuses**

> Get Loyalty Rule Chain Statuses

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`DELETE` /api/loyalty/currencies/\{id\}**

> Delete a loyalty currency

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`DELETE` /api/loyalty/currencies/\{id\}**

> Delete a loyalty currency

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`DELETE` /api/loyalty/currencies/\{id\}**

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Array of websites

    Changed items (object): > Schema representing a website

    New required properties:

    - `onchainTokens`

    * Added property `onchainTokens` (array)

      > Onchain tokens associated with the website

      Items (object): > Schema representing an onchain token

      - Property `id` (string)

        > OnchainToken ID

      - Property `address` (string)

        > Contract address of the onchain token

      - Property `chainId` (string)

        > Chain ID where the token is deployed

      - Property `relayerId` (string)

        > Relayer ID for transaction processing

      - Property `currencyId` (string)

        > Associated loyalty currency ID

      - Property `createdAt` (string)

        > Creation timestamp

      - Property `updatedAt` (string)

        > Last update timestamp

      - Property `syncedAt` (string)

        > Last sync timestamp

      - Property `deletedAt` (string)

        > Deletion timestamp

      - Property `organizationId` (string)

        > Organization ID

      - Property `websiteId` (string)
        > Website ID

**`POST` /api/websites**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `onchainTokens`

  * Added property `onchainTokens` (array)
    > Onchain tokens associated with the website

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `loyaltyRuleChain` (array)

      > Chains attached to the loyalty rule

      Changed items (object):

      - Added property `operatorType` (string)

        > Type of the operator. AND if all conditions must be met, OR if any condition can be met.

        Enum values:

        - `AND`
        - `OR`

      - Changed property `loyaltyConditions` (array)

        Changed items (object):

        - Changed property `association` (array)

          Changed items (object):

          New required properties:

          - `loyaltyCurrency`

          * Added property `loyaltyCurrency` (object)

            - Property `name` (string)
              > Name of the loyalty currency

**`GET` /api/loyalty/rule_chains**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Added property `operatorType` (string)

      > Type of the operator. AND if all conditions must be met, OR if any condition can be met.

    - Changed property `loyaltyConditions` (array)

      Changed items (object):

      - Changed property `association` (array)

        Changed items (object):

        New required properties:

        - `loyaltyCurrency`

        * Added property `loyaltyCurrency` (object)

**`POST` /api/loyalty/rule_chains**

**Request:**

Changed content type : `application/json`

- Added property `operatorType` (string)

  > Type of the condition. AND if all conditions must be met, OR if any condition can be met.

  Enum values:

  - `AND`
  - `OR`

- Changed property `loyaltyConditions` (array)

  > Array of conditions for the rule chain

  Changed items (object):

  - Changed property `type` (string)

    > The type of rule

    Removed enum values:

    - `section`
    - `level`
    - `api`
    - `csv`

**`POST` /api/loyalty/rule_chains/\{loyaltyRuleChainId\}**

**Request:**

Changed content type : `application/json`

- Added property `operatorType` (string)

  > Type of the condition. AND if all conditions must be met, OR if any condition can be met.

- Changed property `loyaltyConditions` (array)

  > Array of conditions for the rule chain

  Changed items (object):

  - Changed property `type` (string)

    > The type of rule

    Removed enum values:

    - `section`
    - `level`
    - `api`
    - `csv`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`POST` /api/loyalty/rule_chains/\{loyaltyRuleChainId\}**

> Update Loyalty Rule Chain

**`DELETE` /api/loyalty/rule_chains/\{loyaltyRuleChainId\}**

> Delete Loyalty Rule Chain

**`POST` /api/loyalty/rule_chains**

> Create Loyalty Rule Chain

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-21" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/contracts**

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-21" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-21" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/minting/contracts**

> Get minting contracts

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-20" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-20" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/status/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `price`

  * Added property `price` (number)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-17" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Removed enum value:

          - `shopify_purchase`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Removed enum value:

  - `shopify_purchase`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Removed enum value:

    - `shopify_purchase`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-15" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `shopify_purchase`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `shopify_purchase`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `shopify_purchase`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-14" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `robinhood_token_hold`

        - Changed property `metadata` (object)

          - Added property `robinhoodSymbols` (array)

            Items (string):

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `robinhood_token_hold`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `robinhoodSymbols` (array)

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `robinhood_token_hold`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `robinhoodSymbols` (array)

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `robinhoodSymbols` (array)

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `robinhoodSymbols` (array)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Added property `contractIds` (array)

  > The IDs of the contracts

  Items (string):

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `contractIds` (array)
    > The IDs of the contracts

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `contractIds` (array)
  > The IDs of the contracts

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `contractIds` (array)
    > The IDs of the contracts

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Added property `contractIds` (array)

  > The IDs of the contracts

  Items (string):

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `contractIds` (array)
    > The IDs of the contracts

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `contractIds` (array)
  > The IDs of the contracts

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `contractIds` (array)
    > The IDs of the contracts

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-08" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-08" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-08" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Added property `preGeneratedPostText` (string)
            > Pre-generated text template that will be used to prefill the post content.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `preGeneratedPostText` (string)
    > Pre-generated text template that will be used to prefill the post content.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `preGeneratedPostText` (string)
      > Pre-generated text template that will be used to prefill the post content.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `preGeneratedPostText` (string)
    > Pre-generated text template that will be used to prefill the post content.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `preGeneratedPostText` (string)
      > Pre-generated text template that will be used to prefill the post content.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-07" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum values:

          - `github_repo_fork`
          - `github_repo_collaborator`
          - `github_merge_PR`

        - Changed property `metadata` (object)

          - Added property `githubBranchName` (string)
            > Name of the GitHub branch to check for PR merge.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum values:

  - `github_repo_fork`
  - `github_repo_collaborator`
  - `github_merge_PR`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `githubBranchName` (string)
    > Name of the GitHub branch to check for PR merge.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum values:

    - `github_repo_fork`
    - `github_repo_collaborator`
    - `github_merge_PR`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `githubBranchName` (string)
      > Name of the GitHub branch to check for PR merge.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `githubBranchName` (string)
    > Name of the GitHub branch to check for PR merge.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `githubBranchName` (string)
      > Name of the GitHub branch to check for PR merge.

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-06" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2026-01-06" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Added property `autoCheckInRuleIds` (array)

            > Array of loyalty rule IDs that count as check-in when completed. If ["any"] then any rule completions count as check-in.

            Items (object):

            One of:

                  Enum value:

                  * `any`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `autoCheckInRuleIds` (array)
    > Array of loyalty rule IDs that count as check-in when completed. If ["any"] then any rule completions count as check-in.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `autoCheckInRuleIds` (array)
      > Array of loyalty rule IDs that count as check-in when completed. If ["any"] then any rule completions count as check-in.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `autoCheckInRuleIds` (array)
    > Array of loyalty rule IDs that count as check-in when completed. If ["any"] then any rule completions count as check-in.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `autoCheckInRuleIds` (array)
      > Array of loyalty rule IDs that count as check-in when completed. If ["any"] then any rule completions count as check-in.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-06" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/account_streaks**

**Parameters:**

Added: `websiteId` in `query`

> Unique identifier for the website

Added: `organizationId` in `query`

> Unique identifier for the organization

Added: `userGroupId` in `query`

> Unique identifier for the user group

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  Changed items (object): > Response schema for getting loyalty account streaks, null if no streak

  New optional properties:

  - `id`

  * Changed property `id` (string)
    > ID of the loyalty account streak, null if no streak yet

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-05" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get auction bids response

    - Changed property `loyaltyCurrency` (object)

      - Changed property `apiAuthType` (string)

        Added enum value:

        - `apiKey`
          Removed enum value:

        - `api_key`

**`GET` /api/loyalty/currencies**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a loyalty currency

    - Changed property `apiAuthType` (string)

      > Type of authentication used for API

      Added enum value:

      - `apiKey`
        Removed enum value:

      - `api_key`

**`POST` /api/loyalty/currencies**

**Request:**

Changed content type : `application/json`

- Changed property `apiAuthType` (string)

  > Type of authentication used for API

  Added enum value:

  - `apiKey`
    Removed enum value:

  - `api_key`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `apiAuthType` (string)

    > Type of authentication used for API

    Added enum value:

    - `apiKey`
      Removed enum value:

    - `api_key`

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `bscTestnet`
                Removed enum value:

              - `bsc_testnet`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `bscTestnet`
                Removed enum value:

              - `bsc_testnet`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `bscTestnet`
    Removed enum value:

  - `bsc_testnet`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `bscTestnet`
        Removed enum value:

      - `bsc_testnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `bscTestnet`
        Removed enum value:

      - `bsc_testnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `bscTestnet`
      Removed enum value:

    - `bsc_testnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `bscTestnet`
      Removed enum value:

    - `bsc_testnet`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `bscTestnet`
          Removed enum value:

        - `bsc_testnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `bscTestnet`
          Removed enum value:

        - `bsc_testnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `bscTestnet`
        Removed enum value:

      - `bsc_testnet`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `bscTestnet`
        Removed enum value:

      - `bsc_testnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `bscTestnet`
        Removed enum value:

      - `bsc_testnet`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `bscTestnet`
    Removed enum value:

  - `bsc_testnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `bscTestnet`
      Removed enum value:

    - `bsc_testnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `bscTestnet`
          Removed enum value:

        - `bsc_testnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `bscTestnet`
          Removed enum value:

        - `bsc_testnet`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `bscTestnet`
      Removed enum value:

    - `bsc_testnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `bscTestnet`
        Removed enum value:

      - `bsc_testnet`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`GET` /api/minting/status/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `status` (string)

    Added enum value:

    - `generatingSignature`
      Removed enum value:

    - `generating_signature`

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum value:

  - `bscTestnet`
    Removed enum value:

  - `bsc_testnet`

**`POST` /api/website_user_roles**

**Request:**

Changed content type : `application/json`

- Changed property `websiteUserRoles` (array)

  > Array of website user roles

  Changed items (object):

  - Changed property `roleType` (string)

    > Role type of the user

    Added enum values:

    - `WEBSITE_SUPER_ADMIN`
    - `WEBSITE_ADMIN`
    - `WEBSITE_MODERATOR`
    - `WEBSITE_API_KEY`
    - `STRATUS_API_KEY`
    - `WEBSITE_READ_ONLY_API_KEY`
      Removed enum values:

    - `website_super_admin`
    - `website_admin`
    - `website_moderator`
    - `website_api_key`
    - `stratus_api_key`
    - `website_read_only_api_key`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-05" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get auction bids response

    - Changed property `loyaltyCurrency` (object)

      - Changed property `apiAuthType` (string)

        Added enum value:

        - `api_key`
          Removed enum value:

        - `apiKey`

**`GET` /api/loyalty/currencies**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a loyalty currency

    - Changed property `apiAuthType` (string)

      > Type of authentication used for API

      Added enum value:

      - `api_key`
        Removed enum value:

      - `apiKey`

**`POST` /api/loyalty/currencies**

**Request:**

Changed content type : `application/json`

- Changed property `apiAuthType` (string)

  > Type of authentication used for API

  Added enum value:

  - `api_key`
    Removed enum value:

  - `apiKey`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `apiAuthType` (string)

    > Type of authentication used for API

    Added enum value:

    - `api_key`
      Removed enum value:

    - `apiKey`

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `bsc_testnet`
                Removed enum value:

              - `bscTestnet`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `bsc_testnet`
                Removed enum value:

              - `bscTestnet`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `bsc_testnet`
    Removed enum value:

  - `bscTestnet`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `bsc_testnet`
        Removed enum value:

      - `bscTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `bsc_testnet`
        Removed enum value:

      - `bscTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `bsc_testnet`
      Removed enum value:

    - `bscTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `bsc_testnet`
      Removed enum value:

    - `bscTestnet`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `bsc_testnet`
          Removed enum value:

        - `bscTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `bsc_testnet`
          Removed enum value:

        - `bscTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `bsc_testnet`
        Removed enum value:

      - `bscTestnet`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `bsc_testnet`
        Removed enum value:

      - `bscTestnet`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `bsc_testnet`
        Removed enum value:

      - `bscTestnet`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `bsc_testnet`
    Removed enum value:

  - `bscTestnet`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `bsc_testnet`
      Removed enum value:

    - `bscTestnet`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `bsc_testnet`
          Removed enum value:

        - `bscTestnet`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `bsc_testnet`
          Removed enum value:

        - `bscTestnet`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `bsc_testnet`
      Removed enum value:

    - `bscTestnet`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `bsc_testnet`
        Removed enum value:

      - `bscTestnet`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`GET` /api/minting/status/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `status` (string)

    Added enum value:

    - `generating_signature`
      Removed enum value:

    - `generatingSignature`

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum value:

  - `bsc_testnet`
    Removed enum value:

  - `bscTestnet`

**`POST` /api/website_user_roles**

**Request:**

Changed content type : `application/json`

- Changed property `websiteUserRoles` (array)

  > Array of website user roles

  Changed items (object):

  - Changed property `roleType` (string)

    > Role type of the user

    Added enum values:

    - `website_super_admin`
    - `website_admin`
    - `website_moderator`
    - `website_api_key`
    - `stratus_api_key`
    - `website_read_only_api_key`
      Removed enum values:

    - `WEBSITE_SUPER_ADMIN`
    - `WEBSITE_ADMIN`
    - `WEBSITE_MODERATOR`
    - `WEBSITE_API_KEY`
    - `STRATUS_API_KEY`
    - `WEBSITE_READ_ONLY_API_KEY`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2026-01-05" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/referral/codes**

**Request:**

Changed content type : `application/json`

- Added property `customReferralCode` (string)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2026-01-05" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Added property `rewardQualityPosts` (boolean)
            > Flag indicating if the rule should reward quality posts.

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `rewardQualityPosts` (boolean)
    > Flag indicating if the rule should reward quality posts.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `rewardQualityPosts` (boolean)
      > Flag indicating if the rule should reward quality posts.

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `rewardQualityPosts` (boolean)
    > Flag indicating if the rule should reward quality posts.

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `rewardQualityPosts` (boolean)
      > Flag indicating if the rule should reward quality posts.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-30" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/posts**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > A social media post

    - Added property `sentimentScore` (integer)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-26" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/users**

**Parameters:**

Added: `redditUser` in `query`

> Reddit username of the user

Added: `redditUserId` in `query`

> Reddit ID of the user

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum values:

          - `connected_reddit`
          - `reddit_comment`

        - Changed property `metadata` (object)

          - Added property `redditPostId` (string)

            > ID of the Reddit post.

          - Changed property `socialPlatform` (string)

            > Social media platform associated with the rule.

            Added enum value:

            - `Reddit`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum values:

  - `connected_reddit`
  - `reddit_comment`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `redditPostId` (string)

    > ID of the Reddit post.

  - Changed property `socialPlatform` (string)

    > Social media platform associated with the rule.

    Added enum value:

    - `Reddit`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum values:

    - `connected_reddit`
    - `reddit_comment`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `redditPostId` (string)

      > ID of the Reddit post.

    - Changed property `socialPlatform` (string)

      > Social media platform associated with the rule.

      Added enum value:

      - `Reddit`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `redditPostId` (string)

    > ID of the Reddit post.

  - Changed property `socialPlatform` (string)

    > Social media platform associated with the rule.

    Added enum value:

    - `Reddit`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `redditPostId` (string)

      > ID of the Reddit post.

    - Changed property `socialPlatform` (string)

      > Social media platform associated with the rule.

      Added enum value:

      - `Reddit`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-25" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/referral/users**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `amount`
    - `tier1Amount`
    - `tier2Amount`

    * Added property `tier1Amount` (number)

      > This will only return data for earnings after 2025-04-24

    * Added property `tier2Amount` (number)

      > This will only return data for earnings after 2025-04-24

    * Added property `amount` (number)

      > This will only return data for earnings after 2025-04-24

    * Changed property `referralCode` (object)

      New optional properties:

      - `amount`
      - `tier1Amount`
      - `tier2Amount`

      * Added property `loyaltyRuleId` (string)

      * Deleted property `tier1Amount` (number)

        > This will only return data for earnings after 2025-04-24

      * Deleted property `tier2Amount` (number)

        > This will only return data for earnings after 2025-04-24

      * Deleted property `amount` (number)
        > This will only return data for earnings after 2025-04-24

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-25" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/referral/users**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `amount`
    - `tier1Amount`
    - `tier2Amount`

    * Added property `tier1Amount` (number)

      > This will only return data for earnings after 2025-04-24

    * Added property `tier2Amount` (number)

      > This will only return data for earnings after 2025-04-24

    * Added property `amount` (number)

      > This will only return data for earnings after 2025-04-24

    * Changed property `referralCode` (object)

      New optional properties:

      - `amount`
      - `tier1Amount`
      - `tier2Amount`

      * Added property `loyaltyRuleId` (string)

      * Deleted property `tier1Amount` (number)

        > This will only return data for earnings after 2025-04-24

      * Deleted property `tier2Amount` (number)

        > This will only return data for earnings after 2025-04-24

      * Deleted property `amount` (number)
        > This will only return data for earnings after 2025-04-24

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-23" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `discord_role_grant`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `discord_role_grant`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `discord_role_grant`

**`POST` /api/loyalty/rules/\{id\}/complete**

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/minting/assets/allowlist**

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/minting/assets/allowlist**

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-22" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/minting/assets/allowlist**

> Get minting allowlist

**`POST` /api/minting/assets/allowlist**

> Upsert minting allowlist entries

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-17" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**

**Parameters:**

Changed: `id` in `query`

> The bid ID(s) - accepts a single ID or an array of IDs

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get auction bids response

    New required properties:

    - `auction`

    * Added property `auction` (object)

      - Property `id` (string)

      - Property `name` (string)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-16" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rules**

**Parameters:**

Added: `includeDeleted` in `query`

> Whether to include deleted/archived records

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-16" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/loyalty/rules/\{id\}/complete**

**Request:**

Changed content type : `application/json`

- Added property `skipChainOrRequiredCheck` (boolean)
  > Flag indicating if the chain or required check should be skipped.

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-15" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/minting/status/\{id\}**

**Parameters:**

Deleted: `id` in `query`

**`POST` /api/minting/status/\{id\}**

**Parameters:**

Deleted: `id` in `query`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-15" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/minting/contracts/mint**

**Return Type:**

New response : **202 Accepted**

> 202

Deleted response : **200 OK**

> 200

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-15" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`GET` /api/minting/status/\{id\}**

> Get mint status

**`POST` /api/minting/status/\{id\}**

> Update mint status

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-15" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/users/metadatas**

**Request:**

Changed content type : `application/json`

- Added property `githubUser` (string)

- Added property `githubUserId` (string)

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum values:

          - `connected_github`
          - `github_repo_star`

        - Changed property `metadata` (object)

          - Added property `githubRepoUrl` (string)

            > URL of the GitHub repository to check for star.

          - Changed property `socialPlatform` (string)

            > Social media platform associated with the rule.

            Added enum value:

            - `GitHub`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum values:

  - `connected_github`
  - `github_repo_star`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `githubRepoUrl` (string)

    > URL of the GitHub repository to check for star.

  - Changed property `socialPlatform` (string)

    > Social media platform associated with the rule.

    Added enum value:

    - `GitHub`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum values:

    - `connected_github`
    - `github_repo_star`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `githubRepoUrl` (string)

      > URL of the GitHub repository to check for star.

    - Changed property `socialPlatform` (string)

      > Social media platform associated with the rule.

      Added enum value:

      - `GitHub`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Added property `githubRepoUrl` (string)

    > URL of the GitHub repository to check for star.

  - Changed property `socialPlatform` (string)

    > Social media platform associated with the rule.

    Added enum value:

    - `GitHub`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Added property `githubRepoUrl` (string)

      > URL of the GitHub repository to check for star.

    - Changed property `socialPlatform` (string)

      > Social media platform associated with the rule.

      Added enum value:

      - `GitHub`

**`POST` /api/minting/contracts/mint**

**Request:**

Changed content type : `application/json`

- Changed property `shippingOrderType` (string)

  Added enum value:

  - `github`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-15" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**

**Parameters:**

Added: `orderBy` in `query`

> Order bids by amount (ascending or descending). Defaults to desc.

Added: `skip` in `query`

> Number of bids to skip (for offset-based pagination)

Added: `includeCount` in `query`

> Include total count of matching bids in response

Added: `statuses` in `query`

> Filter by multiple bid statuses (OR condition)

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `count` (number)
    > Total count of matching bids (only present when includeCount=true)

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-12-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**

**Parameters:**

Changed: `id` in `query`

> The bid ID

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get auction bids response

    New optional properties:

    - `auction`

    * Deleted property `auction` (object)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-11" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/auction_bids**

**Parameters:**

Changed: `id` in `query`

> The bid ID(s) - accepts a single ID or an array of IDs

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get auction bids response

    New required properties:

    - `auction`

    * Added property `auction` (object)

      - Property `id` (string)

      - Property `name` (string)

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-09" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**Result**

---

No differences. Specifications are equivalent

</Update>

<Update label="2025-12-04" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `zkverify`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `zkverify`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `zkverify`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `zkverify`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `zkverify`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `zkverify`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `zkverify`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `zkverify`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `zkverify`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `zkverify`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `zkverify`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `zkverify`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `zkverify`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `zkverify`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `zkverify`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `zkverify`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `zkverify`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `zkverify`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum value:

  - `zkverify`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-04" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum value:

              - `zkverify`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum value:

              - `zkverify`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `zkverify`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `zkverify`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `zkverify`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `zkverify`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `zkverify`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `zkverify`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `zkverify`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `zkverify`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum value:

      - `zkverify`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum value:

      - `zkverify`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum value:

  - `zkverify`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum value:

    - `zkverify`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum value:

        - `zkverify`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum value:

        - `zkverify`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum value:

    - `zkverify`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum value:

      - `zkverify`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum value:

  - `zkverify`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-02" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `liquidity` (object)

            > Liquidity pool details.

            - Changed property `network` (string)

              > Blockchain network of the liquidity pool.

              Added enum values:

              - `polkadot`
              - `kusama`

          - Changed property `collection` (array)

            > Array of collections associated with the rule.

            Changed items (object):

            - Changed property `network` (string)

              > Blockchain network of the collection.

              Added enum values:

              - `polkadot`
              - `kusama`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum values:

  - `polkadot`
  - `kusama`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum values:

      - `polkadot`
      - `kusama`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum values:

      - `polkadot`
      - `kusama`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum values:

    - `polkadot`
    - `kusama`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum values:

    - `polkadot`
    - `kusama`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum values:

        - `polkadot`
        - `kusama`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum values:

        - `polkadot`
        - `kusama`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum values:

      - `polkadot`
      - `kusama`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `liquidity` (object)

    > Liquidity pool details.

    - Changed property `network` (string)

      > Blockchain network of the liquidity pool.

      Added enum values:

      - `polkadot`
      - `kusama`

  - Changed property `collection` (array)

    > Array of collections associated with the rule.

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network of the collection.

      Added enum values:

      - `polkadot`
      - `kusama`

- Changed property `network` (string)

  > Blockchain network where the rule will apply

  Added enum values:

  - `polkadot`
  - `kusama`

- Changed property `collections` (array)

  > List of associated collections

  Changed items (object):

  - Changed property `network` (string)

    > Blockchain network for the collection

    Added enum values:

    - `polkadot`
    - `kusama`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `liquidity` (object)

      > Liquidity pool details.

      - Changed property `network` (string)

        > Blockchain network of the liquidity pool.

        Added enum values:

        - `polkadot`
        - `kusama`

    - Changed property `collection` (array)

      > Array of collections associated with the rule.

      Changed items (object):

      - Changed property `network` (string)

        > Blockchain network of the collection.

        Added enum values:

        - `polkadot`
        - `kusama`

  - Changed property `network` (string)

    > Blockchain network where the rule will apply

    Added enum values:

    - `polkadot`
    - `kusama`

  - Changed property `collections` (array)

    > List of associated collections

    Changed items (object):

    - Changed property `network` (string)

      > Blockchain network for the collection

      Added enum values:

      - `polkadot`
      - `kusama`

**`GET` /api/minting/assets**

**Parameters:**

Changed: `network` in `query`

> Network

**`POST` /api/website_collections**

**Request:**

Changed content type : `application/json`

- Changed property `network` (string)

  Added enum values:

  - `polkadot`
  - `kusama`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-01" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/users/connect**

**Request:**

Changed content type : `application/json`

- Changed property `walletType` (string)

  Added enum value:

  - `substrate`

**`GET` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Response returned upon successful fetching of the badges.

    - Added property `hideInUi` (boolean)

      > Whether to hide this badge in the user interface

    - Changed property `loyaltyBadgeUsers` (array)

      > Array of user badges

      Changed items (object):

      - Added property `hideInUi` (boolean)
        > Whether to hide this badge in the user interface

**`POST` /api/loyalty/badges**

**Request:**

Changed content type : `application/json`

- Added property `hideInUi` (boolean)
  > Whether to hide this badge in the user interface

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `hideInUi` (boolean)

    > Whether to hide this badge in the user interface

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `hideInUi` (boolean)
      > Whether to hide this badge in the user interface

**`POST` /api/loyalty/badges/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `hideInUi` (boolean)
  > Whether to hide this badge in the user interface

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `hideInUi` (boolean)

    > Whether to hide this badge in the user interface

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `hideInUi` (boolean)
      > Whether to hide this badge in the user interface

**`DELETE` /api/loyalty/badges/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `hideInUi` (boolean)

    > Whether to hide this badge in the user interface

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `hideInUi` (boolean)
      > Whether to hide this badge in the user interface

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `walletType` (string)

            > Type of wallet associated with the rule.

            Added enum value:

            - `substrate`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `walletType` (string)

    > Type of wallet associated with the rule.

    Added enum value:

    - `substrate`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `walletType` (string)

      > Type of wallet associated with the rule.

      Added enum value:

      - `substrate`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `walletType` (string)

    > Type of wallet associated with the rule.

    Added enum value:

    - `substrate`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `walletType` (string)

      > Type of wallet associated with the rule.

      Added enum value:

      - `substrate`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-01" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`POST` /api/users/connect**

**Request:**

Changed content type : `application/json`

- Changed property `walletType` (string)

  Added enum value:

  - `substrate`

**`GET` /api/loyalty/rule_edits**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `data` (object)

      > Data that was changed on the rule

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

    - Changed property `previousData` (object)

      > Previous data of the rule before the edit

      - Changed property `metadata` (object)
        > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rule_edits/\{id\}/restore**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (object)

    > Data that was changed on the rule

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

  - Changed property `previousData` (object)

    > Previous data of the rule before the edit

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `metadata` (object)

          - Changed property `walletType` (string)

            > Type of wallet associated with the rule.

            Added enum value:

            - `substrate`

**`GET` /api/loyalty/rules**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    - Changed property `metadata` (object)
      > Optional metadata for the loyalty rule

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `walletType` (string)

    > Type of wallet associated with the rule.

    Added enum value:

    - `substrate`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `walletType` (string)

      > Type of wallet associated with the rule.

      Added enum value:

      - `substrate`

**`POST` /api/loyalty/rules/\{id\}**

**Request:**

Changed content type : `application/json`

- Changed property `metadata` (object)

  > Additional metadata for the loyalty rule

  - Changed property `walletType` (string)

    > Type of wallet associated with the rule.

    Added enum value:

    - `substrate`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `metadata` (object)

    > Additional metadata for the loyalty rule

    - Changed property `walletType` (string)

      > Type of wallet associated with the rule.

      Added enum value:

      - `substrate`

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-12-01" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's Changed**

---

**`GET` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Response returned upon successful fetching of the badges.

    - Added property `hideInUi` (boolean)

      > Whether to hide this badge in the user interface

    - Changed property `loyaltyBadgeUsers` (array)

      > Array of user badges

      Changed items (object):

      - Added property `hideInUi` (boolean)
        > Whether to hide this badge in the user interface

**`POST` /api/loyalty/badges**

**Request:**

Changed content type : `application/json`

- Added property `hideInUi` (boolean)
  > Whether to hide this badge in the user interface

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `hideInUi` (boolean)

    > Whether to hide this badge in the user interface

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `hideInUi` (boolean)
      > Whether to hide this badge in the user interface

**`POST` /api/loyalty/badges/\{id\}**

**Request:**

Changed content type : `application/json`

- Added property `hideInUi` (boolean)
  > Whether to hide this badge in the user interface

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `hideInUi` (boolean)

    > Whether to hide this badge in the user interface

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `hideInUi` (boolean)
      > Whether to hide this badge in the user interface

**`DELETE` /api/loyalty/badges/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `hideInUi` (boolean)

    > Whether to hide this badge in the user interface

  - Changed property `loyaltyBadgeUsers` (array)

    > Array of user badges

    Changed items (object):

    - Added property `hideInUi` (boolean)
      > Whether to hide this badge in the user interface

**Result**

---

API changes are backward compatible

</Update>

<Update label="2025-11-26" description="API Changes">

**Snag Solutions - API Docs (v 0.1)**

---

**What's New**

---

**`POST` /api/minting/contracts/mint**

> Mint an asset

**What's Deleted**

---

**`POST` /api/minting/contracts/generate_signature**

> Mint an asset

**Result**

---

API changes broke backward compatibility

</Update>

<Update label="2025-11-25" description="API Changes">

**What's Changed**

---

**`POST` /api/website_user_roles**

**Request:**

Changed content type : `application/json`

- Changed property `websiteUserRoles` (array)

  > Array of website user roles

  Changed items (object):

  - Changed property `roleType` (string)

    > Role type of the user

    Added enum value:

    - `WEBSITE_READ_ONLY_API_KEY`

</Update>

<Update label="2025-11-21" description="API Changes">

**What's Changed**

---

**`GET` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Response returned upon successful fetching of the badges.

    - Changed property `dataJobs` (array)

      > Array of data jobs associated with the badge

      Changed items (object):

      - Changed property `status` (string)

        > The status of the data job

        Added enum values:

        - `processing`
        - `cancelled`

**`POST` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `dataJobs` (array)

    > Array of data jobs associated with the badge

    Changed items (object):

    - Changed property `status` (string)

      > The status of the data job

      Added enum values:

      - `processing`
      - `cancelled`

**`POST` /api/loyalty/badges/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `dataJobs` (array)

    > Array of data jobs associated with the badge

    Changed items (object):

    - Changed property `status` (string)

      > The status of the data job

      Added enum values:

      - `processing`
      - `cancelled`

**`DELETE` /api/loyalty/badges/\{id\}**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `dataJobs` (array)

    > Array of data jobs associated with the badge

    Changed items (object):

    - Changed property `status` (string)

      > The status of the data job

      Added enum values:

      - `processing`
      - `cancelled`

</Update>

<Update label="2025-11-19" description="API Changes">

**What's Changed**

---

**`GET` /api/users**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    > Schema for users response

    Changed items (object): > Schema for a user response

    - Changed property `referrers` (array)

      Changed items (object):

      New required properties:

      - `referralCode`

      * Added property `referralCode` (object)

        - Property `user` (object)

          > Use who referred the user

          - Property `id` (string)

          - Property `walletAddress` (string)

</Update>

<Update label="2025-11-18" description="API Changes">

**What's Changed**

---

**`POST` /api/minting/contracts/generate_signature**

**Request:**

Changed content type : `application/json`

- Deleted property `createOnly` (boolean)

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Added property `latest` (object)

    > Only for Solana

    - Property `blockhash` (string)

    - Property `lastValidBlockHeight` (number)

</Update>

<Update label="2025-11-18" description="API Changes">

**What's Changed**

---

**`GET` /api/referral/users**

**Parameters:**

Changed: `walletAddress` in `query`

</Update>

<Update label="2025-11-14" description="API Changes">

**What's Changed**

---

**`POST` /api/token_claims/\{id\}/claim**

**Request:**

Changed content type : `application/json`

New required properties:

- `txHash`

* Added property `txHash` (string)

</Update>

<Update label="2025-11-14" description="API Changes">

**What's Changed**

---

**`GET` /api/auction_bids**

**Return Type:**

Changed response : **200 OK**

> 200

- New content type : `application/json`

**`GET` /api/users**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `hasNextPage`

  * Added property `hasNextPage` (boolean)
    > Indicates if there is a next page of results

**`GET` /api/website_user_attributes**

**Parameters:**

Added: `startingAfter` in `query`

> Pagination cursor to start after a specific resource ID

Changed: `limit` in `query`

> Maximum number of records to return (max 100)

**`GET` /api/website_user_attributes/values**

**Parameters:**

Added: `startingAfter` in `query`

> Pagination cursor to start after a specific resource ID

Changed: `limit` in `query`

> Maximum number of records to return (max 100)

**`GET` /api/loyalty/badges**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `data`
  - `hasNextPage`

  New optional properties:

  - `createdAt`
  - `description`
  - `id`
  - `imageUrl`
  - `loyaltyConditions`
  - `name`
  - `updatedAt`

  * Added property `data` (array)

    Items (object): > Response returned upon successful fetching of the badges.

    - Property `id` (string)

      > UUID of the badge (converted to lowercase)

    - Property `name` (string)

      > The name of the badge

    - Property `description` (string)

      > The description of the badge

    - Property `imageUrl` (string)

      > The URL of the badge image

    - Property `loyaltyConditions` (array)

      > Array of conditions of the badge

      Items (object): > Schema for a loyalty condition rule.

      - Property `id` (string)

        > UUID of the condition (converted to lowercase)

      - Property `type` (string)

        > The type of the condition

        Enum values:

        - `rule`
        - `rules`
        - `points`
        - `section`
        - `level`
        - `api`
        - `badge`
        - `badges`
        - `csv`

      - Property `description` (string)

        > The description of the condition

      - Property `amount` (number)

        > The amount of the condition

      - Property `repeatCount` (number)

        > The repeat count of the condition

      - Property `requiredCount` (number)

        > The required count of the condition

      - Property `loyaltyRuleGroupId` (string)

        > UUID of the rule group (converted to lowercase)

      - Property `association` (array)

        Items (object):

        - Property `loyaltyRule` (object)

          - Property `id` (string)

            > UUID of the association (converted to lowercase)

          - Property `name` (string)
            > The name of the association

        - Property `loyaltyBadge` (object)

        - Property `loyaltyRuleGroup` (object)

        - Property `loyaltyCurrency` (object)

        - Property `loyaltyLeaderboardView` (object)

      - Property `loyaltyCurrencyId` (string)

        > UUID of the currency (converted to lowercase)

      - Property `csvUrl` (string)

        > URL of the CSV file

      - Property `csvFiles` (array)

        > Array of CSV files associated with the condition

        Items (object):

        - Property `id` (string)

          > UUID of the CSV file (converted to lowercase)

        - Property `url` (string)

          > The URL of the CSV file

        - Property `name` (string)

          > The name of the CSV file

        - Property `description` (string)
          > The description of the CSV file

    - Property `loyaltyBadgeUsers` (array)

      > Array of user badges

      Items (object):

      - Property `id` (string)

        > UUID of the user badge (converted to lowercase)

      - Property `userId` (string)

        > UUID of the user (converted to lowercase)

      - Property `websiteId` (string)

        > UUID of the website (converted to lowercase)

      - Property `organizationId` (string)

        > UUID of the organization (converted to lowercase)

      - Property `status` (string)

        > The status of the badge

        Enum values:

        - `active`
        - `inactive`
        - `revoked`

      - Property `loyaltyBadgeId` (string)

        > UUID of the badge (converted to lowercase)

      - Property `progress` (object)

        > Array of progress for the badge

      - Property `dismissedInUi` (boolean)

        > Whether the user has dismissed the badge in the UI

      - Property `user` (object)

        > User associated with the user badge

        - Property `id` (string)

          > UUID of the user (converted to lowercase)

        - Property `walletAddress` (string)
          > Wallet address of the user

      - Property `createdAt` (string)

        > The date and time the user badge was created

      - Property `updatedAt` (string)
        > The date and time the user badge was updated

    - Property `loyaltyRules` (array)

      > Array of loyalty rules associated with the badge

      Items (object):

      - Property `id` (string)

        > UUID of the loyalty rule (converted to lowercase)

      - Property `name` (string)
        > The name of the loyalty rule

    - Property `dataJobs` (array)

      > Array of data jobs associated with the badge

      Items (object):

      - Property `id` (string)

        > UUID of the data job (converted to lowercase)

      - Property `status` (string)

        > The status of the data job

        Enum values:

        - `pending`
        - `complete`
        - `failed`

      - Property `message` (string)

        > The message associated with the data job

      - Property `createdAt` (string)

        > The date and time the data job was created

      - Property `updatedAt` (string)
        > The date and time the data job was updated

    - Property `createdAt` (string)

      > The date and time the badge was created

    - Property `updatedAt` (string)
      > The date and time the badge was updated

  * Added property `hasNextPage` (boolean)

    > Indicates if there is a next page of results

  * Deleted property `id` (string)

    > UUID of the badge (converted to lowercase)

  * Deleted property `name` (string)

    > The name of the badge

  * Deleted property `description` (string)

    > The description of the badge

  * Deleted property `imageUrl` (string)

    > The URL of the badge image

  * Deleted property `loyaltyConditions` (array)

    > Array of conditions of the badge

  * Deleted property `loyaltyBadgeUsers` (array)

    > Array of user badges

  * Deleted property `loyaltyRules` (array)

    > Array of loyalty rules associated with the badge

  * Deleted property `dataJobs` (array)

    > Array of data jobs associated with the badge

  * Deleted property `createdAt` (string)

    > The date and time the badge was created

  * Deleted property `updatedAt` (string)
    > The date and time the badge was updated

**`GET` /api/loyalty/questions**

**Parameters:**

Added: `limit` in `query`

> Maximum number of records to return (max 100)

Added: `startingAfter` in `query`

> Pagination cursor to start after a specific resource ID

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

**`GET` /api/loyalty/questions_responses**

**Parameters:**

Added: `limit` in `query`

> Maximum number of records to return (max 100)

Added: `startingAfter` in `query`

> Pagination cursor to start after a specific resource ID

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `data`
  - `hasNextPage`

  New optional properties:

  - `responses`

  * Added property `data` (array)

    Items (object): > Response details including the question and choice information

    - Property `id` (string)

    - Property `userId` (string)

    - Property `loyaltyQuestionId` (string)

    - Property `loyaltyQuestionChoiceId` (string)

    - Property `createdAt` (string)

    - Property `isCorrect` (boolean)

    - Property `question` (object)

      - Property `text` (string)

      - Property `loyaltyQuestionChoices` (array)

        Items (object):

        - Property `id` (string)

        - Property `text` (string)

        - Property `isCorrect` (boolean)

  * Added property `hasNextPage` (boolean)

    > Indicates if there are more pages of results available

  * Deleted property `responses` (array)

</Update>

<Update label="2025-11-12" description="API Changes">

**What's Changed**

---

**`GET` /api/token_claims**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `stakingContractAddress`

    * Added property `claimAndStake` (boolean)

    * Added property `stakingContractType` (string)

      Enum values:

      - `linear`
      - `timelock`

    * Added property `stakingContractAddress` (string)

    * Added property `maxBonus` (number)

    * Added property `minLockup` (number)

    * Added property `minLockupForMultiplier` (number)

    * Added property `multiplier` (number)

    * Added property `isStakingOptional` (boolean)

    * Changed property `csvUrl` (string)

**`GET` /api/token_claims/\{id\}/eligibility**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `stakes`

  * Added property `stakes` (array)

    Items (object):

    - Property `stakeId` (string)

    - Property `amount` (string)

    - Property `duration` (number)

    - Property `startTime` (string)

    - Property `claimed` (string)

    - Property `claimable` (string)

</Update>

<Update label="2025-11-11" description="API Changes">

**What's Changed**

---

**`GET` /api/token_claims**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object):

    New required properties:

    - `stakingContractAddress`

    * Added property `claimAndStake` (boolean)

    * Added property `stakingContractType` (string)

      Enum values:

      - `linear`
      - `timelock`

    * Added property `stakingContractAddress` (string)

    * Added property `maxBonus` (number)

    * Added property `minLockup` (number)

    * Added property `minLockupForMultiplier` (number)

    * Added property `multiplier` (number)

    * Added property `isStakingOptional` (boolean)

    * Changed property `csvUrl` (string)

**`GET` /api/token_claims/\{id\}/eligibility**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  New required properties:

  - `stakes`

  * Added property `stakes` (array)

    Items (object):

    - Property `stakeId` (string)

    - Property `amount` (string)

    - Property `duration` (number)

    - Property `startTime` (string)

    - Property `claimed` (string)

    - Property `claimable` (string)

</Update>

<Update label="2025-11-10" description="API Changes">

**What's Changed**

---

**`GET` /api/loyalty/posts**

</Update>

<Update label="2025-11-08" description="API Changes">

**What's Changed**

---

**`GET` /api/loyalty/rule_groups**

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `data` (array)

    Changed items (object): > Schema for a get loyalty rule groups response

    - Changed property `loyaltyGroupItems` (array)

      Changed items (object):

      - Changed property `loyaltyRule` (object)

        - Changed property `type` (string)

          Added enum value:

          - `tiktok_follow`

**`POST` /api/loyalty/rules**

**Request:**

Changed content type : `application/json`

- Changed property `type` (string)

  > Type of loyalty rule being created

  Added enum value:

  - `tiktok_follow`

**Return Type:**

Changed response : **200 OK**

> 200

- Changed content type : `application/json`

  - Changed property `type` (string)

    > Type of loyalty rule being created

    Added enum value:

    - `tiktok_follow`

</Update>

<Update label="2025-11-07" description="API Changes">

**What's Changed**

---

**`POST` /api/users/verify**

</Update>
