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

> Changelog of Snag API updates, new endpoints, and breaking changes.

# Api changelog

<head>
  <script type="application/ld+json">
    {JSON.stringify({
            '@context': 'https://schema.org',
            '@type': 'BreadcrumbList',
            itemListElement: [
              {
                '@type': 'ListItem',
                position: 1,
                name: 'Home',
                item: 'https://docs.snagsolutions.io/welcome',
              },
              {
                '@type': 'ListItem',
                position: 2,
                name: 'API Reference',
                item: 'https://docs.snagsolutions.io/api-reference/introduction',
              },
              { '@type': 'ListItem', position: 3, name: 'API changelog' },
            ],
          })}
  </script>
</head>

<Info>
  Subscribe to the <a href="/api-reference/api-changelog/rss.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-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>
