Reservoir · Schema

Model624

NFTBlockchainMarketplaceEthereumEVMLiquidityOrder BookWeb3DeFiTradingData API

Properties

Name Type Description
items object
taker string Address of wallet filling.
source string Filling source used for attribution.
feesOnTop object
onlyPath boolean If true, only the filling path will be returned.
normalizeRoyalties boolean Charge any missing royalties.
excludeEOA boolean Exclude orders that can only be filled by EOAs, to support filling with smart contracts.
allowInactiveOrderIds boolean If true, inactive orders will not be skipped over (only relevant when filling via a specific order id).
partial boolean If true, any off-chain or on-chain errors will be skipped.
forceRouter boolean If true, filling will be forced to use the common 'approval + transfer' method instead of the approval-less 'on-received hook' method
swapProvider string Choose a specific swapping provider when receiving in a different currency (defaults to `uniswap`)
forwarderChannel string If passed, all fills will be executed through the trusted trusted forwarder (where possible)
currency string Currency to be received when selling.
maxFeePerGas string Optional custom gas settings. Includes base fee & priority fee in this limit.
maxPriorityFeePerGas string Optional custom gas settings.
x2y2ApiKey string Optional X2Y2 API key used for filling.
openseaApiKey string Optional OpenSea API key used for filling. You don't need to pass your own key, but if you don't, you are more likely to be rate-limited.
blurAuth string Optional Blur auth used for filling
View JSON Schema on GitHub

JSON Schema

reservoir-model624-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/reservoir/main/json-schema/reservoir-model624-schema.json",
  "title": "Model624",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/reservoir-api-openapi.yml#/components/schemas/Model624",
  "type": "object",
  "properties": {
    "items": {
      "$ref": "#/$defs/Model622"
    },
    "taker": {
      "type": "string",
      "description": "Address of wallet filling.",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "x-convert": {
        "case": "lower"
      }
    },
    "source": {
      "type": "string",
      "description": "Filling source used for attribution.",
      "pattern": "^[a-zA-Z0-9.-]+\\.[a-zA-Z0-9]{2,}$|localhost",
      "x-convert": {
        "case": "lower"
      }
    },
    "feesOnTop": {
      "$ref": "#/$defs/Model623"
    },
    "onlyPath": {
      "type": "boolean",
      "description": "If true, only the filling path will be returned.",
      "default": false
    },
    "normalizeRoyalties": {
      "type": "boolean",
      "description": "Charge any missing royalties.",
      "default": false
    },
    "excludeEOA": {
      "type": "boolean",
      "description": "Exclude orders that can only be filled by EOAs, to support filling with smart contracts.",
      "default": false
    },
    "allowInactiveOrderIds": {
      "type": "boolean",
      "description": "If true, inactive orders will not be skipped over (only relevant when filling via a specific order id).",
      "default": false
    },
    "partial": {
      "type": "boolean",
      "description": "If true, any off-chain or on-chain errors will be skipped.",
      "default": false
    },
    "forceRouter": {
      "type": "boolean",
      "description": "If true, filling will be forced to use the common 'approval + transfer' method instead of the approval-less 'on-received hook' method",
      "default": true
    },
    "swapProvider": {
      "type": "string",
      "description": "Choose a specific swapping provider when receiving in a different currency (defaults to `uniswap`)",
      "default": "uniswap",
      "enum": [
        "uniswap",
        "relay"
      ]
    },
    "forwarderChannel": {
      "type": "string",
      "description": "If passed, all fills will be executed through the trusted trusted forwarder (where possible)",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "x-convert": {
        "case": "lower"
      }
    },
    "currency": {
      "type": "string",
      "description": "Currency to be received when selling.",
      "x-convert": {
        "case": "lower"
      }
    },
    "maxFeePerGas": {
      "type": "string",
      "description": "Optional custom gas settings. Includes base fee & priority fee in this limit.",
      "pattern": "^-?[0-9]+$"
    },
    "maxPriorityFeePerGas": {
      "type": "string",
      "description": "Optional custom gas settings.",
      "pattern": "^-?[0-9]+$"
    },
    "x2y2ApiKey": {
      "type": "string",
      "description": "Optional X2Y2 API key used for filling."
    },
    "openseaApiKey": {
      "type": "string",
      "description": "Optional OpenSea API key used for filling. You don't need to pass your own key, but if you don't, you are more likely to be rate-limited."
    },
    "blurAuth": {
      "type": "string",
      "description": "Optional Blur auth used for filling"
    }
  },
  "required": [
    "items",
    "taker"
  ],
  "$defs": {
    "Model560": {
      "type": "array",
      "maxItems": 2,
      "items": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9.-]+\\.[a-zA-Z0-9]{2,}$|localhost",
        "x-convert": {
          "case": "lower"
        }
      }
    },
    "Model561": {
      "type": "object",
      "properties": {
        "orderId": {
          "type": "string"
        },
        "price": {
          "type": "string",
          "pattern": "^-?[0-9]+$"
        }
      },
      "required": [
        "orderId"
      ]
    },
    "Model620": {
      "type": "object",
      "description": "Optional raw order to sell into.",
      "properties": {
        "kind": {
          "type": "string",
          "default": "",
          "enum": [
            "blur-partial",
            "opensea",
            "looks-rare",
            "zeroex-v4",
            "seaport",
            "seaport-v1.4",
            "seaport-v1.5",
            "seaport-v1.6",
            "mintify",
            "x2y2",
            "rarible",
            "sudoswap",
            "nftx"
          ],
          "x-convert": {
            "case": "lower"
          }
        },
        "data": {
          "$ref": "#/$defs/metadata"
        }
      }
    },
    "Model621": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "description": "Token to sell.",
          "pattern": "^0x[a-fA-F0-9]{40}:[0-9]+$",
          "x-convert": {
            "case": "lower"
          }
        },
        "quantity": {
          "type": "integer",
          "description": "Quantity of tokens to sell.",
          "default": 1,
          "x-constraint": {
            "sign": "positive"
          }
        },
        "orderId": {
          "type": "string",
          "description": "Optional order id to sell into.",
          "x-convert": {
            "case": "lower"
          }
        },
        "rawOrder": {
          "$ref": "#/$defs/Model620"
        },
        "exactOrderSource": {
          "$ref": "#/$defs/Model560"
        },
        "exclusions": {
          "$ref": "#/$defs/exclusions"
        }
      },
      "required": [
        "token"
      ]
    },
    "Model622": {
      "type": "array",
      "description": "List of items to sell.",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/Model621"
      }
    },
    "Model623": {
      "type": "array",
      "description": "List of fees (formatted as `feeRecipient:feeAmount`) to be taken when filling.\nThe currency used for any fees on top is always the wrapped native currency of the chain.\nExample: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000`",
      "items": {
        "type": "string",
        "pattern": "^0x[a-fA-F0-9]{40}:[0-9]+$"
      }
    },
    "exclusions": {
      "type": "array",
      "description": "Items to exclude",
      "items": {
        "$ref": "#/$defs/Model561"
      }
    },
    "metadata": {
      "type": "object"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/reservoir-model624"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.