openapi: 3.0.3 info: title: OpenAPI definition Charts NFT Sales API version: v0.1 description: '# Exciting News Hey there, amazing developers! 👋 We''ve got some fantastic news to share that will make your experience with our product even better. We''re thrilled to announce the implementation of API-Keys, which brings a new level of control and convenience to your development process. So, let''s dive right into the details! ✨ ## API-Keys for Enhanced Functionality 🔑 Starting now, we have introduced API-Keys to streamline your interactions with our methods. You might have noticed a slight change while making requests – now, all you need to do is include the parameter `X-API-KEY` in the Header of your request. Simple as that! ## Get Your API-Key in a Snap! ⚡️ Securing your API-Key is a breeze. We''ve made the process super user-friendly to ensure you can get started quickly. Just head over to our website and fill out a simple form. Once you''ve done that, your shiny new API-Key will be delivered straight to your email inbox. Easy peasy! 📧 [Get Your API-Key Here](https://api.rarible.org/registration) [Configure SDK with API-key](https://github.com/rarible/sdk#api-querying) ## Unlock the Power of the Rarible Protocol 🔓 As passionate developers, we know you''re always hungry for knowledge and eager to explore new frontiers. That''s why we invite you to discover the incredible world of the Rarible Protocol. By visiting our dedicated protocol page, you''ll gain access to a treasure trove of useful information, tips, and insights that will elevate your development skills to new heights. 🚀 [Explore the Rarible Protocol](https://rarible.org) So, buckle up and get ready for an enhanced development journey with our API-Keys. We''re excited to see what you''ll create using our revamped system! 💪🚀 Stay curious, keep innovating, and happy coding! ✨ [P.S. Join our Discord Server to stay up to date and ask questions](https://discord.gg/rarifoundation) ' servers: - url: https://{environment}.rarible.org description: Production (Mainnet) variables: environment: enum: - api - testnet-api default: api security: - ApiKeyAuth: [] tags: - name: NFT Sales x-controller: OrderController paths: /v0.1/orders/{id}: get: tags: - NFT Sales summary: Get Order description: Returns Order by Id operationId: getOrderById parameters: - name: id in: path required: true description: Order Id, has format 'ETHEREUM:${id}' schema: $ref: '#/components/schemas/OrderId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '404': $ref: '#/components/responses/EntityNotFound' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/{id}/prepareTx: post: tags: - NFT Sales summary: Prepare order transaction description: Prepare all required data to match given order on the blockchain operationId: prepareOrderTransaction parameters: - name: id in: path required: true description: Order Id, has format 'ETHEREUM:${id}' schema: $ref: '#/components/schemas/OrderId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PrepareOrderTxForm' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PrepareOrderTxResponse' '404': $ref: '#/components/responses/EntityNotFound' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/{id}/prepareCancelTx: post: tags: - NFT Sales summary: Prepare order cancel transaction description: Prepare all required data to cancel given order on the blockchain operationId: prepareOrderCancelTransaction parameters: - name: id in: path required: true description: Order Id, has format 'ETHEREUM:${id}' schema: $ref: '#/components/schemas/OrderId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PreparedOrderTx' '404': $ref: '#/components/responses/EntityNotFound' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/{id}/report: post: tags: - NFT Sales summary: Report Order description: Report Error Order operationId: reportOrderById parameters: - name: id in: path required: true description: Order Id, has format 'ETHEREUM:${id}' schema: $ref: '#/components/schemas/OrderId' responses: '200': description: OK '404': $ref: '#/components/responses/EntityNotFound' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders: post: tags: - NFT Sales summary: Create or update Order description: Create or update off-chain Order (supported only for some blockchains) operationId: upsertOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderForm' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/{id}/validate: get: tags: - NFT Sales summary: Get validated Order by Id description: Validates and returns order by Id. IMPORTANT - validation is time-consuming operation! operationId: getValidatedOrderById parameters: - name: id in: path required: true description: Order Id, has format 'ETHEREUM:${id}' schema: $ref: '#/components/schemas/OrderId' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Order' '404': $ref: '#/components/responses/EntityNotFound' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/byIds: post: tags: - NFT Sales summary: Get Orders by Ids description: Returns Orders by specified list of Ids operationId: getOrdersByIds requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderIds' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/all: get: tags: - NFT Sales summary: Get all Orders description: Returns all Orders in accordance with specified filters and sorted by `last updated` date operationId: getOrdersAll parameters: - name: blockchains in: query required: false description: Type of the blockchain network schema: type: array items: $ref: '#/components/schemas/Blockchain' - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of orders to return schema: type: integer - name: sort in: query required: false description: Order sort schema: $ref: '#/components/schemas/OrderSort' - name: status in: query required: false description: Order status schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: searchEngine in: query required: false deprecated: true description: Search engine to use for search schema: $ref: '#/components/schemas/SearchEngine' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/sync: get: tags: - NFT Sales summary: Get all Orders (for sync) description: Returns all sales & transfers in accordance with specified filters and sorted by `db updated` date. During internal updates (like migrations) Orders can be updated for technical reasons. In such case, `last update` date won't be changed. If you want to store Orders in your own storage and keep it synced, use this method. operationId: getAllSync parameters: - name: blockchain in: query required: true description: Type of the blockchain network schema: $ref: '#/components/schemas/Blockchain' - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of orders to return schema: type: integer - name: sort in: query required: false description: Order sort schema: $ref: '#/components/schemas/SyncSort' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/sell/byMaker: get: tags: - NFT Sales summary: Get user's sell Orders description: Returns sell NFT Sales created by specified user and sorted by `last update` date operationId: getSellOrdersByMaker parameters: - name: blockchains in: query required: false description: Since user's address can be present in several blockchains (for example, ETHEREUM and POLYGON), you can use this filter to get Orders only for specific blockchains. Or keep it empty to get Order from all blockchains schema: type: array items: $ref: '#/components/schemas/Blockchain' - name: platform in: query required: false description: The platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: maker in: query required: true description: The maker of the order schema: type: array items: $ref: '#/components/schemas/UnionAddress' - name: collection in: query required: false description: The nft collection of order schema: type: array items: $ref: '#/components/schemas/CollectionId' - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of items to return schema: minimum: 1 type: integer - name: status in: query required: false description: Order status schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: searchEngine in: query required: false deprecated: true description: Search engine to use for search schema: $ref: '#/components/schemas/SearchEngine' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/sell/byItem: get: tags: - NFT Sales summary: Get sell Orders for NFT description: Returns sell sales & transfer created for specified NFT and sorted by price in USD (cheapest first) operationId: getSellOrdersByItem parameters: - name: platform in: query required: false description: The platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: itemId in: query required: true description: Item Id, has format `ETHEREUM:${token}:${tokenId}` schema: $ref: '#/components/schemas/ItemId' - name: maker in: query required: false description: The maker of the bid schema: $ref: '#/components/schemas/UnionAddress' - name: status in: query required: false description: Order status schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of items to return schema: minimum: 1 type: integer - name: searchEngine in: query required: false deprecated: true description: Search engine to use for search schema: $ref: '#/components/schemas/SearchEngine' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/sell: get: tags: - NFT Sales summary: Get sell Orders description: Returns sell Orders satisfying specified filters and sorted by `last update` date operationId: getSellOrders parameters: - name: blockchains in: query required: false description: Names of the blockchain networks. If no one specified, data from all blockchains will be returned schema: type: array items: $ref: '#/components/schemas/Blockchain' - name: platform in: query required: false description: The platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of items to return schema: minimum: 1 type: integer format: int32 - name: searchEngine in: query required: false deprecated: true description: Search engine to use for search schema: $ref: '#/components/schemas/SearchEngine' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/bids/byMaker: get: tags: - NFT Sales summary: Get user's bid Orders description: Returns bid Orders created by specified user and sorted by `last update` date operationId: getOrderBidsByMaker parameters: - name: maker in: query required: true description: Since user's address can be present in several blockchains (for example, ETHEREUM and POLYGON), you can use this filter to get Orders only for specific blockchains. Or keep it empty to get Order from all blockchains schema: type: array items: $ref: '#/components/schemas/UnionAddress' - name: blockchains in: query required: false description: Names of the blockchain networks. If no one specified, data from all blockchains will be returned schema: type: array items: $ref: '#/components/schemas/Blockchain' - name: platform in: query required: false description: The platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: collection in: query required: false description: The nft collection of order schema: type: array items: $ref: '#/components/schemas/CollectionId' - name: status in: query required: false description: Order status schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: currencies in: query required: false description: Currencies for bids schema: type: array items: $ref: '#/components/schemas/CurrencyId' - name: start in: query required: false description: Lower time border of data (timestamp) schema: type: integer format: int64 - name: end in: query required: false description: Upper time border of data (timestamp) schema: type: integer format: int64 - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of items to return schema: minimum: 1 type: integer format: int32 - name: searchEngine in: query required: false deprecated: true description: Search engine to use for search schema: $ref: '#/components/schemas/SearchEngine' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/bids/byItem: get: tags: - NFT Sales summary: Get bid Orders for NFT description: Returns bid Orders created for specified NFT and sorted by price in USD (expensive first) operationId: getOrderBidsByItem parameters: - name: platform in: query required: false description: The platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: itemId in: query required: true description: Item Id, has format `ETHEREUM:${token}:${tokenId}` schema: $ref: '#/components/schemas/ItemId' - name: maker in: query required: false description: The maker of the bid schema: type: array items: $ref: '#/components/schemas/UnionAddress' - name: status in: query required: false description: Order status schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: currencies in: query required: false description: Currencies for bids schema: type: array items: $ref: '#/components/schemas/CurrencyId' - name: start in: query required: false description: Lower time border of data (timestamp) schema: type: integer format: int64 - name: end in: query required: false description: Upper time border of data (timestamp) schema: type: integer format: int64 - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of items to return schema: type: integer - name: searchEngine in: query required: false deprecated: true description: Search engine to use for search schema: $ref: '#/components/schemas/SearchEngine' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/floorBids/byCollection: get: tags: - NFT Sales summary: Get floor bids for Collection description: Returns floor bids created for specified NFT Collection and sorted by price in USD (expensive first) operationId: getOrderFloorBidsByCollection parameters: - name: platform in: query required: false description: The platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: collectionId in: query required: true description: Collection Id, has format `ETHEREUM:${token}` schema: $ref: '#/components/schemas/CollectionId' - name: status in: query required: false description: Order status schema: type: array items: $ref: '#/components/schemas/OrderStatus' - name: currencies in: query required: false description: Currencies for bids schema: type: array items: $ref: '#/components/schemas/CurrencyId' - name: start in: query required: false description: Lower time border of data (timestamp) schema: type: integer format: int64 - name: end in: query required: false description: Upper time border of data (timestamp) schema: type: integer format: int64 - name: continuation in: query required: false description: Continuation token from the previous response schema: type: string - name: size in: query required: false description: The number of items to return schema: type: integer responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Orders' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/settings/fees: get: tags: - NFT Sales summary: Get fee settings description: Returns Protocol fee settings for Orders operationId: getOrderFees parameters: - name: blockchain in: query required: false description: Type of the blockchain network schema: $ref: '#/components/schemas/Blockchain' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrderFees' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/history/bestActiveAtTime: get: tags: - NFT Sales summary: Get historical best active orders in a collection description: Return K best active orders in a collection as they were at the specified point in time. For Sell orders, the best are the cheapest ones; and for Buy orders, the best are the most expensive ones. The orders are sorted in the order of goodness, with best order always the first. operationId: getBestActiveOrdersAtTime parameters: - name: type in: query required: true description: Type of orders. Only the orders of this type will be searched schema: $ref: '#/components/schemas/OrderType' - name: platform in: query required: false description: Platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: collectionId in: query required: true description: Collection in which to look for best orders schema: $ref: '#/components/schemas/CollectionId' - name: time in: query required: true description: Point in time at which to return best orders schema: type: string format: date-time - name: topK in: query required: false description: How many best orders to return. If not specified, some default amount is returned schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BestAtTimeOrdersResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/history/closestActiveAtTime/byOrder: get: tags: - NFT Sales summary: Get historical active orders in a collection closest in price to the specified order at the time description: 'Return K orders in a collection that were active at the specified point in time, which are the closest in price to the specified order. Ties are broken first by price: for Sell orders, the best are the cheapest ones; and for Buy orders, the best are the most expensive ones. Then ties are broken by creation date, the earlier, the better. The specified order is not included in the returned K results.' operationId: getClosestActiveOrdersAtTimeByOrder parameters: - name: orderId in: query required: true description: The reference order used to find orders with prices closest to its price. Must belong to the specified collection schema: $ref: '#/components/schemas/OrderId' - name: time in: query required: true description: Point in time at which to return closest orders schema: type: string format: date-time - name: topK in: query required: false description: How many closest orders to return. If not specified, some default amount is returned schema: type: integer format: int32 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BestAtTimeOrdersResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' /v0.1/orders/history/closestActiveAtTime/byPrice: get: tags: - NFT Sales summary: Get historical active orders in a collection closest to the specified price description: 'Return K closest orders in a collection that were active at the specified point in time. Ties are broken first by price: for Sell orders, the best are the cheapest ones; and for Buy orders, the best are the most expensive ones. Then ties are broken by creation date, the earlier, the better.' operationId: getClosestActiveOrdersAtTimeByPrice parameters: - name: type in: query required: true description: Type of orders. Only the orders of this type will be searched schema: $ref: '#/components/schemas/OrderType' - name: platform in: query required: false description: Platform where the order was created schema: $ref: '#/components/schemas/Platform' - name: collectionId in: query required: true description: Collection in which to look for closest orders schema: $ref: '#/components/schemas/CollectionId' - name: time in: query required: true description: Point in time at which to return closest orders schema: type: string format: date-time - name: topK in: query required: false description: How many closest orders to return. If not specified, some default amount is returned schema: type: integer format: int32 - name: priceUsd in: query required: true description: The reference price used to find closest orders, in USD schema: type: number format: bigdecimal responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BestAtTimeOrdersResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/ServerError' components: schemas: EthRaribleV2OrderForm: type: object required: - type - data properties: '@type': type: string enum: - RARIBLE_V2 data: $ref: '#/components/schemas/EthRaribleV2OrderData' EthOrderFormAsset: type: object required: - assetType - value properties: assetType: $ref: '#/components/schemas/AssetType' value: $ref: '#/components/schemas/BigInteger' TokenCurrencyAssetType: type: object properties: '@type': type: string enum: - CURRENCY_TOKEN contract: $ref: '#/components/schemas/ContractAddress' required: - '@type' - contract OrderType: type: string enum: - BID - SELL EthEthereumAssetType: type: object properties: '@type': type: string enum: - ETH blockchain: $ref: '#/components/schemas/Blockchain' required: - '@type' Royalty: type: object properties: account: $ref: '#/components/schemas/UnionAddress' value: type: integer required: - account - value Asset: type: object properties: type: $ref: '#/components/schemas/AssetType' value: $ref: '#/components/schemas/BigDecimal' required: - type - value SyncSort: type: string enum: - DB_UPDATE_ASC - DB_UPDATE_DESC PrepareOrderTxResponse: type: object required: - asset - transaction - value properties: transferProxyAddress: $ref: '#/components/schemas/ContractAddress' asset: $ref: '#/components/schemas/Asset' transaction: $ref: '#/components/schemas/PreparedOrderTx' value: $ref: '#/components/schemas/BigInteger' EthErc1155LazyAssetType: type: object properties: '@type': type: string enum: - ERC1155_Lazy contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' tokenId: $ref: '#/components/schemas/BigInteger' uri: type: string supply: $ref: '#/components/schemas/BigInteger' creators: type: array description: Creators of the target item default: [] items: $ref: '#/components/schemas/Creator' royalties: type: array default: [] items: $ref: '#/components/schemas/Royalty' signatures: type: array default: [] items: type: string required: - '@type' - contract - tokenId - uri - creators - supply - royalties - signatures RawOrderData: type: object properties: '@type': type: string enum: - RAW data: $ref: '#/components/schemas/RawJson' required: - '@type' EthOrderDataRaribleV2DataV1: type: object properties: '@type': type: string enum: - ETH_RARIBLE_V2 payouts: type: array default: [] items: $ref: '#/components/schemas/Payout' originFees: type: array default: [] items: $ref: '#/components/schemas/Payout' required: - '@type' - payouts - originFees EthSeaportConsideration: type: object properties: itemType: $ref: '#/components/schemas/EthSeaportItemType' token: $ref: '#/components/schemas/UnionAddress' identifierOrCriteria: $ref: '#/components/schemas/BigInteger' startAmount: $ref: '#/components/schemas/BigInteger' endAmount: $ref: '#/components/schemas/BigInteger' recipient: $ref: '#/components/schemas/UnionAddress' required: - itemType - token - identifierOrCriteria - startAmount - endAmount - recipient PrepareOrderTxForm: type: object required: - maker - amount - payouts - originFees properties: maker: $ref: '#/components/schemas/UnionAddress' taker: $ref: '#/components/schemas/UnionAddress' amount: $ref: '#/components/schemas/BigInteger' payouts: type: array description: Value of the payouts for the order items: $ref: '#/components/schemas/Payout' originFees: type: array description: Value of the origin fees for the order items: $ref: '#/components/schemas/Payout' BigInteger: type: string example: 123456 OrderId: type: string example: ETHEREUM:0x19f487016770542dc6137b06499a4f7b42c9580f12d85d6347964b03b7682143 CollectionId: type: string description: Collection id example: ETHEREUM:0xb66a603f4cfe17e3d27b87a8bfcad319856518b8 EthOrderBasicSeaportDataV1: type: object properties: '@type': type: string enum: - ETH_BASIC_SEAPORT_DATA_V1 required: - '@type' EthRaribleOrderForm: type: object required: - maker - make - take - signature - salt - endedAt properties: maker: $ref: '#/components/schemas/UnionAddress' taker: $ref: '#/components/schemas/UnionAddress' make: $ref: '#/components/schemas/EthOrderFormAsset' take: $ref: '#/components/schemas/EthOrderFormAsset' startedAt: type: string format: date-time endedAt: type: string format: date-time salt: $ref: '#/components/schemas/BigInteger' signature: type: string oneOf: - $ref: '#/components/schemas/EthRaribleV2OrderForm' EthOrderOpenSeaV1DataV1: type: object properties: '@type': type: string enum: - ETH_OPEN_SEA_V1 exchange: $ref: '#/components/schemas/UnionAddress' makerRelayerFee: $ref: '#/components/schemas/BigInteger' takerRelayerFee: $ref: '#/components/schemas/BigInteger' makerProtocolFee: $ref: '#/components/schemas/BigInteger' takerProtocolFee: $ref: '#/components/schemas/BigInteger' feeRecipient: $ref: '#/components/schemas/UnionAddress' feeMethod: type: string enum: - PROTOCOL_FEE - SPLIT_FEE side: type: string enum: - BUY - SELL saleKind: type: string enum: - FIXED_PRICE - DUTCH_AUCTION howToCall: type: string enum: - CALL - DELEGATE_CALL callData: type: string replacementPattern: type: string staticTarget: $ref: '#/components/schemas/UnionAddress' staticExtraData: type: string extra: $ref: '#/components/schemas/BigInteger' required: - '@type' - dataType - exchange - makerRelayerFee - takerRelayerFee - makerProtocolFee - takerProtocolFee - feeRecipient - feeMethod - side - saleKind - howToCall - callData - replacementPattern - staticTarget - staticExtraData - extra ItemId: type: string description: Item Id, has format `ETHEREUM:${token}:${tokenId}` example: ETHEREUM:0xb66a603f4cfe17e3d27b87a8bfcad319856518b8:32292934596187112148346015918544186536963932779440027682601542850818403729410 UnionApiErrorServerError: required: - code - message type: object properties: code: type: string enum: - UNKNOWN default: UNKNOWN message: type: string description: Error message EthErc721LazyAssetType: type: object properties: '@type': type: string enum: - ERC721_Lazy contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' tokenId: $ref: '#/components/schemas/BigInteger' uri: type: string creators: type: array description: Creators of the target item default: [] items: $ref: '#/components/schemas/Creator' royalties: type: array default: [] items: $ref: '#/components/schemas/Royalty' signatures: type: array default: [] items: type: string required: - '@type' - contract - tokenId - uri - creators - royalties - signatures PreparedOrderTx: type: object required: - to - data properties: to: $ref: '#/components/schemas/ContractAddress' data: type: string EthErc721AssetType: type: object properties: '@type': type: string enum: - ERC721 contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' tokenId: $ref: '#/components/schemas/BigInteger' required: - '@type' - contract - tokenId CurrencyId: type: string description: Currency Id, has format `ETHEREUM:${token}` or `ETHEREUM:${token}:${tokenId}` example: ETHEREUM:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 EthErc1155AssetType: type: object properties: '@type': type: string enum: - ERC1155 contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' tokenId: $ref: '#/components/schemas/BigInteger' required: - '@type' - contract - tokenId UnionApiErrorBadRequest: required: - code - message type: object properties: code: type: string enum: - BAD_REQUEST - VALIDATION default: BAD_REQUEST message: type: string description: Error message RawJson: type: object Order: type: object properties: id: $ref: '#/components/schemas/OrderId' fill: $ref: '#/components/schemas/BigDecimal' platform: $ref: '#/components/schemas/Platform' status: $ref: '#/components/schemas/OrderStatus' startedAt: type: string format: date-time endedAt: type: string format: date-time makeStock: $ref: '#/components/schemas/BigDecimal' cancelled: type: boolean optionalRoyalties: type: boolean description: True if the execution of this order does not guarantee that the royalties will be paid. In this case, it is up to the buyer to pay the royalties. default: false createdAt: type: string format: date-time lastUpdatedAt: type: string format: date-time dbUpdatedAt: type: string format: date-time makePrice: $ref: '#/components/schemas/BigDecimal' takePrice: $ref: '#/components/schemas/BigDecimal' makePriceUsd: $ref: '#/components/schemas/BigDecimal' takePriceUsd: $ref: '#/components/schemas/BigDecimal' maker: $ref: '#/components/schemas/UnionAddress' taker: $ref: '#/components/schemas/UnionAddress' make: $ref: '#/components/schemas/Asset' take: $ref: '#/components/schemas/Asset' salt: type: string signature: type: string feeTakers: type: array default: [] items: $ref: '#/components/schemas/UnionAddress' data: $ref: '#/components/schemas/OrderData' version: type: integer format: int64 required: - id - platform - status - fill - makeStock - cancelled - createdAt - lastUpdatedAt - type - maker - make - take - salt - data Orders: type: object properties: continuation: type: string description: Continuation token to paginate orders search result orders: type: array description: List of found orders default: [] items: $ref: '#/components/schemas/Order' required: - orders SolanaSolAssetType: type: object properties: '@type': type: string enum: - SOLANA_SOL required: - '@type' Blockchain: type: string enum: - APTOS - ETHEREUM - POLYGON - SOLANA - ARBITRUM - CHILIZ - LIGHTLINK - ZKSYNC - BASE - RARI - ZKLINK - QUAI - ECLIPSE - ELECTRONEUM - SAAKURU - OASIS - MATCH - MOONBEAM - ETHERLINK - ZKCANDY - BERACHAIN - ABSTRACT - SHAPE - TELOS - HEDERAEVM - VICTION - SETTLUS - GOAT - HYPEREVM - MEGAETH - MEGAETHTESTNET - MEGAETHTESTNETV2 - BASECAMP - CAMP - SOMNIA - ARENAZ - INJECTIVE - INJECTIVETESTNET - APECHAIN - BLOCKCHAINKEK - STELLAR - ZILLIQA - FRAXTAL - XLAYER - MONAD example: ETHEREUM EthOrderCryptoPunksData: type: object properties: '@type': type: string enum: - ETH_CRYPTO_PUNKS stub: type: string default: STUB required: - '@type' EthOrderSeaportDataV1: type: object properties: protocol: $ref: '#/components/schemas/UnionAddress' orderType: $ref: '#/components/schemas/EthSeaportOrderType' offer: type: array items: $ref: '#/components/schemas/EthSeaportOffer' consideration: type: array items: $ref: '#/components/schemas/EthSeaportConsideration' zone: $ref: '#/components/schemas/UnionAddress' zoneHash: type: string conduitKey: type: string counter: deprecated: true type: integer format: int64 nonce: $ref: '#/components/schemas/BigInteger' required: - protocol - orderType - offer - consideration - zone - zoneHash - conduitKey oneOf: - $ref: '#/components/schemas/EthOrderBasicSeaportDataV1' EthSeaportOrderType: type: string enum: - FULL_OPEN - PARTIAL_OPEN - FULL_RESTRICTED - PARTIAL_RESTRICTED - CONTRACT SearchEngine: type: string enum: - LEGACY - V1 UnionApiErrorEntityNotFound: required: - code - message type: object properties: code: type: string enum: - NOT_FOUND default: NOT_FOUND message: type: string description: Error message EthCollectionAssetType: type: object properties: '@type': type: string enum: - COLLECTION contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' required: - '@type' - contract Creator: type: object properties: account: $ref: '#/components/schemas/UnionAddress' value: type: integer required: - account - value EthOrderDataLegacy: type: object properties: '@type': type: string enum: - ETH_RARIBLE_V1 fee: $ref: '#/components/schemas/BigInteger' required: - fee - '@type' AssetType: type: object oneOf: - $ref: '#/components/schemas/NativeCurrencyAssetType' - $ref: '#/components/schemas/TokenCurrencyAssetType' - $ref: '#/components/schemas/NftAssetType' - $ref: '#/components/schemas/NftOfCollectionAssetType' - $ref: '#/components/schemas/EthEthereumAssetType' - $ref: '#/components/schemas/EthErc20AssetType' - $ref: '#/components/schemas/EthErc721AssetType' - $ref: '#/components/schemas/EthErc721LazyAssetType' - $ref: '#/components/schemas/EthErc1155AssetType' - $ref: '#/components/schemas/EthErc1155LazyAssetType' - $ref: '#/components/schemas/EthCryptoPunksAssetType' - $ref: '#/components/schemas/EthGenerativeArtAssetType' - $ref: '#/components/schemas/EthCollectionAssetType' - $ref: '#/components/schemas/SolanaNftAssetType' - $ref: '#/components/schemas/SolanaFtAssetType' - $ref: '#/components/schemas/SolanaSolAssetType' BestAtTimeOrdersResponse: type: object description: K best orders at time properties: orders: type: array description: List of best orders, ordered from best to K-best items: $ref: '#/components/schemas/Order' required: - orders EthCryptoPunksAssetType: type: object properties: '@type': type: string enum: - CRYPTO_PUNKS contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' tokenId: type: integer required: - '@type' - contract - tokenId EthRaribleV2OrderData: oneOf: - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV1' - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV2' - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV3' - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV3Sell' - $ref: '#/components/schemas/EthOrderDataRaribleV2DataV3Buy' Payout: type: object properties: account: $ref: '#/components/schemas/UnionAddress' value: type: integer required: - account - value OrderStatus: type: string enum: - ACTIVE - FILLED - INACTIVE - CANCELLED BigDecimal: type: string example: 123456.789 OrderData: type: object oneOf: - $ref: '#/components/schemas/RawOrderData' - $ref: '#/components/schemas/EthOrderDataLegacy' - $ref: '#/components/schemas/EthRaribleV2OrderData' - $ref: '#/components/schemas/EthOrderOpenSeaV1DataV1' - $ref: '#/components/schemas/EthOrderSeaportDataV1' - $ref: '#/components/schemas/EthOrderCryptoPunksData' - $ref: '#/components/schemas/SolanaAuctionHouseDataV1' EthErc20AssetType: type: object properties: '@type': type: string enum: - ERC20 contract: $ref: '#/components/schemas/ContractAddress' required: - '@type' - contract EthOrderDataRaribleV2DataV3Sell: type: object properties: '@type': type: string enum: - ETH_RARIBLE_V2_DATA_V3_SELL payout: $ref: '#/components/schemas/Payout' originFeeFirst: $ref: '#/components/schemas/Payout' originFeeSecond: $ref: '#/components/schemas/Payout' maxFeesBasePoint: type: integer marketplaceMarker: type: string required: - '@type' - maxFeesBasePoint EthOrderDataRaribleV2DataV3Buy: type: object properties: '@type': type: string enum: - ETH_RARIBLE_V2_DATA_V3_BUY payout: $ref: '#/components/schemas/Payout' originFeeFirst: $ref: '#/components/schemas/Payout' originFeeSecond: $ref: '#/components/schemas/Payout' marketplaceMarker: type: string required: - '@type' EthSeaportItemType: type: string enum: - NATIVE - ERC20 - ERC721 - ERC1155 - ERC721_WITH_CRITERIA - ERC1155_WITH_CRITERIA OrderFees: type: object description: Base fees required: - fees properties: fees: type: object additionalProperties: type: integer description: Basic points from 0 to 10000 EthGenerativeArtAssetType: type: object properties: '@type': type: string enum: - GEN_ART contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' required: - '@type' - contract ContractAddress: type: string description: Blockchain contract address in Union format `ETHEREUM:${token}` example: ETHEREUM:0xd07dc4262bcdbf85190c01c996b4c06a461d2430 Platform: type: string enum: - RARIBLE - OPEN_SEA - CRYPTO_PUNKS - HEN - OBJKT - VERSUM - TEIA - OTHER - FXHASH SolanaAuctionHouseDataV1: type: object properties: '@type': type: string enum: - SOLANA_AUCTION_HOUSE_V1 fee: type: integer requiresSignOff: type: boolean auctionHouse: $ref: '#/components/schemas/ContractAddress' required: - '@type' EthOrderDataRaribleV2DataV3: type: object properties: '@type': type: string enum: - ETH_RARIBLE_V2_3 payouts: type: array default: [] items: $ref: '#/components/schemas/Payout' originFees: type: array default: [] items: $ref: '#/components/schemas/Payout' isMakeFill: type: boolean description: If true, the 'fill' part of the order applies to the 'make' side, otherwise to the 'take' side required: - '@type' - payouts - originFees - isMakeFill OrderForm: type: object required: - blockchain properties: blockchain: $ref: '#/components/schemas/Blockchain' oneOf: - $ref: '#/components/schemas/EthRaribleOrderForm' NativeCurrencyAssetType: type: object properties: blockchain: $ref: '#/components/schemas/Blockchain' contract: $ref: '#/components/schemas/ContractAddress' '@type': type: string enum: - CURRENCY_NATIVE required: - '@type' - blockchain UnionAddress: type: string description: Blockchain address in Union format `${blockchainGroup}:${token}` example: ETHEREUM:0x4765273c477c2dc484da4f1984639e943adccfeb EthSeaportOffer: type: object properties: itemType: $ref: '#/components/schemas/EthSeaportItemType' token: $ref: '#/components/schemas/UnionAddress' identifierOrCriteria: $ref: '#/components/schemas/BigInteger' startAmount: $ref: '#/components/schemas/BigInteger' endAmount: $ref: '#/components/schemas/BigInteger' required: - itemType - token - identifierOrCriteria - startAmount - endAmount NftOfCollectionAssetType: type: object properties: '@type': type: string enum: - NFT_OF_COLLECTION collectionId: $ref: '#/components/schemas/CollectionId' required: - '@type' - collectionId NftAssetType: type: object properties: '@type': type: string enum: - NFT collectionId: $ref: '#/components/schemas/CollectionId' itemId: $ref: '#/components/schemas/ItemId' standard: type: string enum: - SINGLE - MULTIPLE required: - '@type' - itemId - collectionId OrderSort: type: string enum: - LAST_UPDATE_ASC - LAST_UPDATE_DESC SolanaFtAssetType: type: object properties: '@type': type: string enum: - SOLANA_FT address: $ref: '#/components/schemas/ContractAddress' required: - '@type' - address SolanaNftAssetType: type: object properties: '@type': type: string enum: - SOLANA_NFT contract: $ref: '#/components/schemas/ContractAddress' collection: $ref: '#/components/schemas/CollectionId' itemId: $ref: '#/components/schemas/ItemId' required: - '@type' - itemId EthOrderDataRaribleV2DataV2: type: object properties: '@type': type: string enum: - ETH_RARIBLE_V2_2 payouts: type: array default: [] items: $ref: '#/components/schemas/Payout' originFees: type: array default: [] items: $ref: '#/components/schemas/Payout' isMakeFill: type: boolean description: If true, the 'fill' part of the order applies to the 'make' side, otherwise to the 'take' side required: - '@type' - payouts - originFees - isMakeFill OrderIds: type: object required: - ids properties: ids: type: array description: Array of the orders Ids in format 'ETHEREUM:${id}' items: type: string responses: BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/UnionApiErrorBadRequest' EntityNotFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/UnionApiErrorEntityNotFound' ServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/UnionApiErrorServerError' securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-KEY x-default: 11111111-1111-1111-1111-111111111111