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 |
JSON Schema
{
"$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.
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.