Reservoir · Schema

Model564

NFTBlockchainMarketplaceEthereumEVMLiquidityOrder BookWeb3DeFiTradingData API

Properties

Name Type Description
items object
taker string Address of wallet filling (receiver of the NFT).
relayer string Address of wallet relaying the fill transaction (paying for the NFT).
onlyPath boolean If true, only the path will be returned.
forceRouter boolean If true, all fills will be executed through the router (where possible)
forwarderChannel string If passed, all fills will be executed through the trusted trusted forwarder (where possible)
currency string Currency to be used for purchases.
currencyChainId number The chain id of the purchase currency
normalizeRoyalties boolean Charge any missing royalties.
allowInactiveOrderIds boolean If true, inactive orders will not be skipped over (only relevant when filling via a specific order id).
source string Filling source used for attribution. Example: `reservoir.market`
feesOnTop object
partial boolean If true, any off-chain or on-chain errors will be skipped.
skipBalanceCheck boolean If true, balance check will be skipped.
excludeEOA boolean Exclude orders that can only be filled by EOAs, to support filling with smart contracts. If marked `true`, blur will be excluded.
maxFeePerGas string Optional custom gas settings. Includes base fee & priority fee in this limit.
maxPriorityFeePerGas string Optional custom gas settings.
usePermit boolean When true, will use permit to avoid approvals.
swapProvider string Choose a specific swapping provider when buying in a different currency (defaults to `relay`)
executionMethod string
referrer string Referrer address (where supported)
comment string Mint comment (where suported)
conduitKey string Conduit key to use to fulfill the order
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 Advanced use case to pass personal blurAuthToken; the API will generate one if left empty.
View JSON Schema on GitHub

JSON Schema

reservoir-model564-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/reservoir/main/json-schema/reservoir-model564-schema.json",
  "title": "Model564",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/reservoir-api-openapi.yml#/components/schemas/Model564",
  "type": "object",
  "properties": {
    "items": {
      "$ref": "#/$defs/Model563"
    },
    "taker": {
      "type": "string",
      "description": "Address of wallet filling (receiver of the NFT).",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "x-convert": {
        "case": "lower"
      }
    },
    "relayer": {
      "type": "string",
      "description": "Address of wallet relaying the fill transaction (paying for the NFT).",
      "pattern": "^0x[a-fA-F0-9]{40}$",
      "x-convert": {
        "case": "lower"
      }
    },
    "onlyPath": {
      "type": "boolean",
      "description": "If true, only the path will be returned.",
      "default": false
    },
    "forceRouter": {
      "type": "boolean",
      "description": "If true, all fills will be executed through the router (where possible)"
    },
    "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 used for purchases.",
      "x-convert": {
        "case": "lower"
      }
    },
    "currencyChainId": {
      "type": "number",
      "description": "The chain id of the purchase currency"
    },
    "normalizeRoyalties": {
      "type": "boolean",
      "description": "Charge any missing royalties.",
      "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
    },
    "source": {
      "type": "string",
      "description": "Filling source used for attribution. Example: `reservoir.market`",
      "pattern": "^[a-zA-Z0-9.-]+\\.[a-zA-Z0-9]{2,}$|localhost",
      "x-convert": {
        "case": "lower"
      }
    },
    "feesOnTop": {
      "$ref": "#/$defs/Model554"
    },
    "partial": {
      "type": "boolean",
      "description": "If true, any off-chain or on-chain errors will be skipped.",
      "default": false
    },
    "skipBalanceCheck": {
      "type": "boolean",
      "description": "If true, balance check will be skipped.",
      "default": false
    },
    "excludeEOA": {
      "type": "boolean",
      "description": "Exclude orders that can only be filled by EOAs, to support filling with smart contracts. If marked `true`, blur will be excluded.",
      "default": false
    },
    "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]+$"
    },
    "usePermit": {
      "type": "boolean",
      "description": "When true, will use permit to avoid approvals."
    },
    "swapProvider": {
      "type": "string",
      "description": "Choose a specific swapping provider when buying in a different currency (defaults to `relay`)",
      "default": "uniswap",
      "enum": [
        "uniswap",
        "relay"
      ]
    },
    "executionMethod": {
      "type": "string",
      "enum": [
        "intent"
      ]
    },
    "referrer": {
      "type": "string",
      "description": "Referrer address (where supported)",
      "pattern": "^0x[a-fA-F0-9]{40}$"
    },
    "comment": {
      "type": "string",
      "description": "Mint comment (where suported)"
    },
    "conduitKey": {
      "type": "string",
      "description": "Conduit key to use to fulfill the order",
      "pattern": "^0x[a-fA-F0-9]{64}$",
      "x-convert": {
        "case": "lower"
      }
    },
    "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": "Advanced use case to pass personal blurAuthToken; the API will generate one if left empty."
    }
  },
  "required": [
    "items",
    "taker"
  ],
  "$defs": {
    "Model554": {
      "type": "array",
      "description": "List of fees (formatted as `feeRecipient:feeAmount`) to be taken when filling.\nUnless overridden via the `currency` param, the currency used for any fees on top matches the buy-in currency detected by the backend.\nExample: `0xF296178d553C8Ec21A2fBD2c5dDa8CA9ac905A00:1000000000000000`",
      "items": {
        "type": "string",
        "pattern": "^0x[a-fA-F0-9]{40}:[0-9]+$"
      }
    },
    "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"
      ]
    },
    "Model562": {
      "type": "object",
      "properties": {
        "collection": {
          "type": "string",
          "description": "Collection to buy.",
          "x-convert": {
            "case": "lower"
          }
        },
        "token": {
          "type": "string",
          "description": "Token to buy.",
          "pattern": "^0x[a-fA-F0-9]{40}:[0-9]+$",
          "x-convert": {
            "case": "lower"
          }
        },
        "quantity": {
          "type": "integer",
          "description": "Quantity of tokens to buy.",
          "x-constraint": {
            "sign": "positive"
          }
        },
        "orderId": {
          "type": "string",
          "description": "Optional order id to fill.",
          "x-convert": {
            "case": "lower"
          }
        },
        "rawOrder": {
          "$ref": "#/$defs/rawOrder"
        },
        "fillType": {
          "type": "string",
          "description": "Specify preferred fillType. `preferMint`: First, tries to mint a new NFT if available; otherwise, it purchases from the secondary market. `trade`: Always buys from the secondary market, regardless of price. `mint`: Always mints a new NFT.",
          "default": "preferMint",
          "enum": [
            "trade",
            "mint",
            "preferMint"
          ]
        },
        "preferredMintStage": {
          "type": "string",
          "description": "Optionally specify a stage to mint"
        },
        "preferredOrderSource": {
          "type": "string",
          "description": "If there are multiple listings with equal best price, prefer this source over others.\nNOTE: if you want to fill a listing that is not the best priced, you need to pass a specific order id or use `exactOrderSource`.",
          "pattern": "^[a-zA-Z0-9.-]+\\.[a-zA-Z0-9]{2,}$|localhost",
          "x-convert": {
            "case": "lower"
          }
        },
        "exactOrderSource": {
          "$ref": "#/$defs/Model560"
        },
        "exclusions": {
          "$ref": "#/$defs/exclusions"
        }
      }
    },
    "Model563": {
      "type": "array",
      "description": "List of items to buy.",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/Model562"
      }
    },
    "exclusions": {
      "type": "array",
      "description": "Items to exclude",
      "items": {
        "$ref": "#/$defs/Model561"
      }
    },
    "metadata": {
      "type": "object"
    },
    "rawOrder": {
      "type": "object",
      "description": "Optional raw order to fill.",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "opensea",
            "blur-partial",
            "looks-rare",
            "zeroex-v4",
            "seaport",
            "seaport-v1.4",
            "seaport-v1.5",
            "seaport-v1.6",
            "mintify",
            "x2y2",
            "rarible",
            "sudoswap",
            "nftx",
            "alienswap",
            "mint"
          ],
          "x-convert": {
            "case": "lower"
          }
        },
        "data": {
          "$ref": "#/$defs/metadata"
        }
      }
    }
  }
}

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-model564"
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.