{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/reservoir/json-schema/reservoir-get-tokens-v7-response-schema.json",
  "title": "getTokensV7Response",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/reservoir-tokens-api-openapi.yml#/components/schemas/getTokensV7Response",
  "type": "object",
  "properties": {
    "tokens": {
      "$ref": "#/$defs/Model108"
    },
    "continuation": {
      "type": "string",
      "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$"
    }
  },
  "$defs": {
    "Model100": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "price": {
          "$ref": "#/$defs/price"
        },
        "maker": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "validFrom": {
          "type": "number"
        },
        "validUntil": {
          "type": "number"
        },
        "source": {
          "$ref": "#/$defs/source"
        },
        "feeBreakdown": {
          "$ref": "#/$defs/Model99"
        }
      }
    },
    "Model101": {
      "type": "object",
      "properties": {
        "floorAsk": {
          "$ref": "#/$defs/Model97"
        },
        "topBid": {
          "$ref": "#/$defs/Model100"
        }
      }
    },
    "Model104": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "description": "Case sensitive."
        },
        "kind": {
          "type": "string",
          "description": "Can be `string`, `number`, `date`, or `range`."
        },
        "value": {
          "type": "string",
          "description": "Case sensitive."
        },
        "tokenCount": {
          "type": "number"
        },
        "onSaleCount": {
          "type": "number"
        },
        "floorAskPrice": {
          "$ref": "#/$defs/Model91"
        },
        "topBidValue": {
          "type": "number"
        },
        "createdAt": {
          "type": "string"
        }
      },
      "required": [
        "value"
      ]
    },
    "Model105": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Model104"
      }
    },
    "Model106": {
      "type": "object",
      "properties": {
        "chainId": {
          "type": "number"
        },
        "contract": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "tokenId": {
          "type": "string",
          "pattern": "^-?[0-9]+$"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "imageSmall": {
          "type": "string"
        },
        "imageLarge": {
          "type": "string"
        },
        "metadata": {
          "$ref": "#/$defs/metadata"
        },
        "media": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "description": "Can be erc721, erc115, etc."
        },
        "isFlagged": {
          "type": "boolean",
          "default": false
        },
        "isSpam": {
          "type": "boolean",
          "default": false
        },
        "isNsfw": {
          "type": "boolean",
          "default": false
        },
        "metadataDisabled": {
          "type": "boolean",
          "default": false
        },
        "lastFlagUpdate": {
          "type": "string"
        },
        "lastFlagChange": {
          "type": "string"
        },
        "supply": {
          "type": "number",
          "description": "Can be higher than 1 if erc1155"
        },
        "remainingSupply": {
          "type": "number"
        },
        "rarity": {
          "type": "number",
          "description": "No rarity for collections over 100k"
        },
        "rarityRank": {
          "type": "number",
          "description": "No rarity rank for collections over 100k"
        },
        "collection": {
          "$ref": "#/$defs/Model92"
        },
        "lastSale": {
          "$ref": "#/$defs/Model62"
        },
        "owner": {
          "type": "string"
        },
        "attributes": {
          "$ref": "#/$defs/Model105"
        },
        "decimals": {
          "type": "number",
          "description": "Can be set for ERC1155 tokens according to the standard"
        },
        "mintStages": {
          "$ref": "#/$defs/mintStages"
        },
        "mintedAt": {
          "type": "string"
        },
        "createdAt": {
          "type": "string"
        }
      },
      "required": [
        "chainId",
        "contract",
        "tokenId"
      ]
    },
    "Model107": {
      "type": "object",
      "properties": {
        "token": {
          "$ref": "#/$defs/Model106"
        },
        "market": {
          "$ref": "#/$defs/Model101"
        },
        "updatedAt": {
          "type": "string"
        }
      }
    },
    "Model108": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Model107"
      }
    },
    "Model25": {
      "type": "object",
      "properties": {
        "stage": {
          "type": "string"
        },
        "tokenId": {
          "type": "string",
          "pattern": "^-?[0-9]+$"
        },
        "kind": {
          "type": "string"
        },
        "price": {
          "$ref": "#/$defs/price"
        },
        "startTime": {
          "type": "number"
        },
        "endTime": {
          "type": "number"
        },
        "maxMintsPerWallet": {
          "type": "number"
        }
      },
      "required": [
        "stage",
        "kind"
      ]
    },
    "Model52": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Model57": {
      "type": "object",
      "properties": {
        "contract": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "tokenId": {
          "type": "string",
          "pattern": "^-?[0-9]+$"
        },
        "name": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "collection": {
          "$ref": "#/$defs/Model52"
        }
      }
    },
    "Model60": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string"
        },
        "bps": {
          "type": "number"
        },
        "recipient": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "rawAmount": {
          "type": "string"
        }
      }
    },
    "Model61": {
      "type": "array",
      "description": "`kind` can be `marketplace` or `royalty`",
      "items": {
        "$ref": "#/$defs/Model60"
      }
    },
    "Model62": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Deprecated. Use `saleId` instead."
        },
        "saleId": {
          "type": "string",
          "description": "Unique identifier made from txn hash, price, etc."
        },
        "token": {
          "$ref": "#/$defs/Model57"
        },
        "orderSource": {
          "type": "string"
        },
        "orderSide": {
          "type": "string",
          "description": "Can be `ask` or `bid`.",
          "enum": [
            "ask",
            "bid"
          ]
        },
        "orderKind": {
          "type": "string"
        },
        "orderId": {
          "type": "string"
        },
        "orderIsReservoir": {
          "type": "boolean"
        },
        "from": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "to": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "amount": {
          "type": "string"
        },
        "fillSource": {
          "type": "string"
        },
        "block": {
          "type": "number"
        },
        "txHash": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{64}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "logIndex": {
          "type": "number"
        },
        "batchIndex": {
          "type": "number"
        },
        "timestamp": {
          "type": "number",
          "description": "Time added on the blockchain"
        },
        "price": {
          "$ref": "#/$defs/price"
        },
        "washTradingScore": {
          "type": "number"
        },
        "royaltyFeeBps": {
          "type": "number"
        },
        "marketplaceFeeBps": {
          "type": "number"
        },
        "paidFullRoyalty": {
          "type": "boolean"
        },
        "feeBreakdown": {
          "$ref": "#/$defs/Model61"
        },
        "comment": {
          "type": "string"
        },
        "isDeleted": {
          "type": "boolean"
        },
        "createdAt": {
          "type": "string",
          "description": "Time when added to indexer"
        },
        "updatedAt": {
          "type": "string",
          "description": "Time when updated in indexer"
        }
      }
    },
    "Model91": {
      "type": "object",
      "description": "Can be null if no active asks.",
      "properties": {
        "currency": {
          "$ref": "#/$defs/currency"
        },
        "amount": {
          "$ref": "#/$defs/amount"
        },
        "netAmount": {
          "$ref": "#/$defs/netAmount"
        }
      }
    },
    "Model92": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "image": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "creator": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "tokenCount": {
          "type": "number"
        },
        "metadataDisabled": {
          "type": "boolean",
          "default": false
        },
        "floorAskPrice": {
          "$ref": "#/$defs/Model91"
        }
      }
    },
    "Model96": {
      "type": "object",
      "description": "Can be null if no active ask.",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "dutch",
            "pool"
          ]
        },
        "data": {
          "$ref": "#/$defs/metadata"
        }
      }
    },
    "Model97": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "price": {
          "$ref": "#/$defs/price"
        },
        "maker": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "validFrom": {
          "type": "number"
        },
        "validUntil": {
          "type": "number"
        },
        "quantityFilled": {
          "type": "number"
        },
        "quantityRemaining": {
          "type": "number"
        },
        "dynamicPricing": {
          "$ref": "#/$defs/Model96"
        },
        "source": {
          "$ref": "#/$defs/source"
        }
      }
    },
    "Model98": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "description": "Can be `marketplace` or `royalty`."
        },
        "recipient": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$",
          "x-convert": {
            "case": "lower"
          }
        },
        "bps": {
          "type": "number"
        }
      }
    },
    "Model99": {
      "type": "array",
      "description": "Can be null if no active bids",
      "items": {
        "$ref": "#/$defs/Model98"
      }
    },
    "amount": {
      "type": "object",
      "description": "Amount with fees & royalties included.",
      "properties": {
        "raw": {
          "type": "string",
          "pattern": "^-?[0-9]+$"
        },
        "decimal": {
          "type": "number"
        },
        "usd": {
          "type": "number"
        },
        "native": {
          "type": "number"
        }
      }
    },
    "currency": {
      "type": "object",
      "properties": {
        "contract": {
          "type": "string",
          "pattern": "^0x[a-fA-F0-9]{40}$"
        },
        "name": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "decimals": {
          "type": "number"
        },
        "chainId": {
          "type": "number"
        }
      }
    },
    "metadata": {
      "type": "object"
    },
    "mintStages": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Model25"
      }
    },
    "netAmount": {
      "type": "object",
      "description": "Amount with fees & royalties removed.",
      "properties": {
        "raw": {
          "type": "string",
          "pattern": "^-?[0-9]+$"
        },
        "decimal": {
          "type": "number"
        },
        "usd": {
          "type": "number"
        },
        "native": {
          "type": "number"
        }
      }
    },
    "price": {
      "type": "object",
      "properties": {
        "currency": {
          "$ref": "#/$defs/currency"
        },
        "amount": {
          "$ref": "#/$defs/amount"
        },
        "netAmount": {
          "$ref": "#/$defs/netAmount"
        }
      }
    },
    "source": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "domain": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "icon": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    }
  }
}