v10.4.0
What's Changed
Aligns @opensea/sdk with the API surface introduced in @opensea/api-types@0.3.0 (os2-core#40171 + #40190).
Removed (breaking)
The underlying GET endpoints were deleted upstream — these methods would return 404 against the new API:
| Method | Why | Replacement |
|---|---|---|
getOrder, getOrders, postOrder |
already @deprecated; backing path deleted |
getBest{Offer,Listing} / getAll{Offers,Listings} / post{Offer,Listing} |
getNFTOffers(contract, tokenId) |
endpoint deleted | getOffersByNFT(slug, tokenId) (new) |
getNFTListings(contract, tokenId) |
no per-NFT all-listings endpoint exists | getBestListing(slug, tokenId) for one, or getAllListings(slug) + filter |
Behavior changes
postListing/postOffernow read the bareListing/Offerresponse (the upstreamorderwrapper field was removed).OpenSeaSDK.createOfferreturnsPromise<Offer>(wasPromise<OrderV2>).OpenSeaSDK.createListingreturnsPromise<Listing>(wasPromise<OrderV2>).createBulkListings/createBulkOffersreturnBulkOrderResult<Listing>/BulkOrderResult<Offer>.BulkOrderResultis now generic in the success type.
New methods
getOffersByNFT(slug, identifier, limit?, next?)— all offers for one NFT.sweepCollection(request)— bulk-buy with any payment token (incl. cross-chain).executeSwap(request)— multi-asset companion togetSwapQuote.getTransactionReceipt(request)— fetch tx status.- New
TransactionsAPIsub-client.
Cleanup
- Helpers
getOrdersAPIPath,serializeOrdersQueryOptions,deserializeOrderremoved. - Types
OrderAPIOptions,OrdersQueryOptions,OrdersQueryResponse,OrdersPostQueryResponse,ListingPostQueryResponse,OfferPostQueryResponse,SerializedOrderV2,GetOrdersResponseremoved. IntervalStat.{volume_diff, volume_change, sales_diff, average_price}andStats.{market_cap, average_price}removed.
Full Changelog: v10.3.1...v10.4.0