- df922bd: Sync OpenAPI spec: add
get_top_pfp_collections(GET /api/v2/pfp/top-collections) andget_collection_pfp_profiles(GET /api/v2/collections/{slug}/pfp-profiles) with their response schemas, and add requiredprice_per_itemtoOfferandListing. Minor bump: the new required field breaks code that constructsOffer/Listingobject literals without it.
- 8daac26: Sync OpenAPI spec. Adds
list_nfts_by_group(GET /api/v2/nfts/group/{group}) andlist_nft_group_facets(GET /api/v2/nfts/group/{group}/facets) with theStandardizedNft,StandardizedNftListResponse,ListingPriceResponse,StandardizedNftFacetsResponse,FacetGroupResponseandFacetValueResponseschemas.get_nfts_by_accountnow returnsAccountNftListResponse, whoseAccountNftitems add the requiredquantityandquantity_stringheld by the account.NftDetailedadds the optionalagent_metadata(AgentMetadataResponse,AgentServiceResponse,AgentRegistrationResponse), the parsed ERC-8004 registration file of an agent identity NFT. The collection image upload, modify collection and update collection metadata 403 responses now use the sharedForbiddenerror response instead of the success schema, and media tokens that do not resolve now fail a metadata update with 400 instead of being dropped.
- 6b30bd0: Sync OpenAPI spec.
DropDeployResponse.tois nowstring | null: it is null for anerc721_standarddeploy, which is a contract-creation transaction sent with noto.DropDeployRequest.drop_typeandtoken_type,UploadProfileImageRequest.imageTypeandNarrativeModuleRequest.variantare now typed as the enums the API accepts.DropDetailedResponseadds the requiredfee_bps. The drop and drop-item endpoints' 403 responses now use the sharedForbiddenerror response instead of the success schema, and the transactionvaluefields document decimal (not hex) wei.
- e83546e:
update-specruns Biome through Node module resolution instead ofpnpm exec, so the spec is formatted in an npm checkout as well. The README example uses an operationId that exists (list_listings_collection_all).
- 3ca4e84: Sync OpenAPI spec.
UpdateCollectionMetadataRequestnow documents that an emptyabout.preview_medialist removes the saved preview media and an emptymedialist on an about section removes that section's media, while leaving either out keeps it.set_collection_pricing_currencydocuments a 409 when a pricing currency switch is already running. Theimage_typepath parameter ofupload_collection_imageis now typed"profile_picture" | "banner_image", the two values the API accepts.
- bab8feb: Sync OpenAPI spec with the drop page endpoints. Adds
POST /api/v2/collections/{slug}/media/{placement}(page media upload, image or video),POST /api/v2/collections/{slug}/pricing_currency(secondary sales currency, USDG or the native currency),GET/POST /api/v2/collections/{slug}/creator_fee_enforcement(Limit Break creator fee enforcement, returns the transactions to sign), andPOST /api/v2/collections/{slug}/refresh.GET /api/v2/collections/{slug}/metadatanow returns the saved page (CollectionPageMetadataResponse: hero, about, overview modules) with a preview URL, andGET /api/v2/drops/{slug}/itemslists a draft drop's items (DropItemsPaginatedResponse). Theb3chain is no longer in the spec's chain enum.
- 07d0bdc: Sync OpenAPI spec. Adds
save_drop_item_media_batch(POST /api/v2/drops/{slug}/items/media/save-batch) and itsSaveDropItemMediaBatchRequestschema, which saves a drop's items from one upload batch by filename, up to 15,000.UploadDropItemMediaRequestgains an optionalupload_batch_id(UUID) that puts each upload request's files in that batch.save_drop_item_media(POST /api/v2/drops/{slug}/items/media/save, by media token) is now marked deprecated; it still works.
- 6ffe0c9: Sync OpenAPI spec. Documentation-only: the drop endpoints (
save_drop_edits,build_drop_publish_transaction,build_drop_mint_transaction, and the 422 responses of the mint endpoints) now describe the creator payout address requirement for paid stages,DropStagePrice.unitdocuments that it is in whole units of the native currency (not wei) with an example, andcreator_payout_addressdocuments its save/publish semantics with an example. No paths, schemas, or field types changed. - e7882a8: Sync OpenAPI spec.
TokenHolderDistributionResponse, returned underGET /api/v2/chain/{chain}/token/{address}/holders, gains two required fields:top_holders_count, the size of the measured top-holder cohort (250, or every holder when there are fewer), andtop_holders_concentration, the percentage of eligible supply that cohort holds. Eligible supply excludes mint, LP, CEX and burn holdings.top_one_percent_concentrationis now documented as deprecated in favor oftop_holders_concentration, since it is approximated from the same 250 rows for tokens with more than 25,000 holders.
- 749dc16: Sync OpenAPI spec.
DropDeployResponsegainsfrom, the address that must send the deploy transaction. Drop mint and cross-chain mint document a retryable 503, which, like every 429, now declares theRetry-Afterresponse header (seconds, integer), and the self-mint item create and update operations document a 422 for a contract that does not support self-mint. Drop operation and schema descriptions now cover each drop type's lifecycle, the deployable drop and token type combinations, stage rules, reveal, the allowlist file format, media filename rules and when to use PUT or PATCH for items.
- 3f93447: Sync OpenAPI spec. 156 more response properties are now typed nullable, because the spec now infers nullability from the API's Kotlin types: a response property is nullable when its type is nullable and the API writes a JSON null for it rather than omitting the key. The API already returned null for these fields; the types now say so. Code that reads them may need a null check, which is why this is a minor release. Request types are unchanged.
-
7d51b1f: Sync OpenAPI spec.
- Adds the drop publish flow operations:
build_drop_publish_transaction,build_drop_unpublish_transaction,upload_drop_metadata_to_ipfs,get_drop_metadata_ipfs_progressandupload_drop_collection_manifest, with theDropTransactionResponse,DropMetadataUploadResponseandDropMetadataUploadProgressResponseschemas, and adds their routes to thewrite:dropsscope. SelfMintDropItemResponsenow carries the transaction fields plustoken_id.- Fields the API documents as nullable are now typed nullable: the spec is OpenAPI 3.1 and os2-core now emits
type: [T, "null"]oranyOf: [ref, null]for them. Code that reads these fields may need a null check. This is why the bump is minor. labelis now required on drop stage edits (SaveDropEditsStageRequest). A stage without one was accepted before but could never be published.- The shared 400/403/404/409 responses document the
V1ErrorWrapperbody,NftSearchResponsegains the optionalbest_listingfield, and field descriptions are updated.
- Adds the drop publish flow operations:
- 711dbc7: Sync OpenAPI spec: add
SvmTransactionConfigResponseand the optionaltransaction_configfield onSvmTransactionDetailsResponse; add field descriptions for collectionimage_url/banner_image_url; string-typed schema and parameterexamples are now published as JSON strings (e.g.priority_fee_lamports).
- cd6e615: Sync OpenAPI spec: add
arcchain identifier; agent relationships gainConfirmAgentRelationshipRequestBodyand optionalcounterparty_account_idaddressing,AgentRelationshipResponsedropsinitiator_address/counterparty_address/initiated_by.revokeAgentRelationshipserializes whichever counterparty identifier is provided (counterpartyAccountIdorcounterpartyAddress).
- fbbbea4: Sync OpenAPI spec:
get_account_followingdescription now states that followed wallets are included for address or username profiles (previously documented wallet targets as an empty page).
-
a2e2cfa: Re-sync the spec after the sort enum casing fix upstream.
os2-core#56756 changed the published
sort_byenum on/tokens/top,/tokens/trendingand/account/{address}/tokensfromMARKET_CAPtomarket_cap, so the values match the examples those parameters already carried. The previous sync captured the spec before that landed, soTokenRankingSortBywas a union of uppercase values the published spec no longer lists.Both spellings work against the API either way. The parameter is parsed through a converter that uppercases before
valueOf, so casing has never affected the request; what was wrong was the SDK type and the spec disagreeing with each other.No consumer is affected:
TokenRankingSortBywas added in the previous sync and has not been released. -
e1f390c: Sync the OpenAPI spec and expose the token ranking sort.
GET /api/v2/tokens/topandGET /api/v2/tokens/trendingnow documentsort_byandsort_direction, soGetTokensArgsgainssortByandsortDirection. Both endpoints previously hardcoded their ordering, one-day volume for top and the trending score for trending, and those remain the defaults when a caller sends neither, so nothing changes for existing callers.sortByis typed asTokenRankingSortBy, derived from the spec rather than written out, so a key added or removed upstream reaches the union in the same regeneration instead of drifting.The sync also documents
include_auto_hiddenonGET /api/v2/chain/{chain}/account/{address}/nfts, which includes NFTs hidden automatically because a third party minted or sent them. The SDK and CLI expose it in this same release, so see that entry for the shape.
-
3a2ff37: Add
CHAIN_IDENTIFIERS, a readonly array of every chain slug the OpenSea API accepts, andisChainIdentifier(value), a type guard that narrows astringtoChainIdentifier.ChainIdentifieris a type-only union, so nothing about the chain list reached the JavaScript output. Anything that had to iterate the chains or validate a slug at runtime rebuilt the list by hand and then had to prove by hand that its copy still matched the spec.scripts/generate-chains.mjsnow emits the array from the sameChainIdentifierenum inopensea-api.jsonthat the type comes from, so a chain added upstream reaches both in one regeneration.The generated file carries assertions in both directions:
satisfies readonly ChainIdentifier[]rejects an array member the union does not have, and a conditional-type assert rejects a union member the array is missing. A test compares the array against the spec enum directly, in order, so a stale generated file fails rather than ships.
-
77206d0: Every generated schema export now carries a doc comment saying it is the snake_case wire shape and that
@opensea/sdkhands back the camelCase view. The comment reaches the published.d.ts, so an editor shows it on hover at the moment a consumer reaches for a raw type to annotate an SDK return value. The generator emits it, so a schema added to the spec later carries it too.No type changes. The README gained a section saying the same thing for anyone reading the package rather than hovering it.
-
3bca418: Sync OpenAPI spec: blockchain addresses publish as strings. The
tokensquery parameter onGET /api/v2/account/{address}/token-activityis nowstring[], carrying the per-chain formats in its description, and four type exports are removed:BitcoinAddress,BlockchainAddress,EvmAddressandSolanaAddress.Those schemas described a JSON object with a
@typediscriminator and avaluefield, for a query parameter that takes a bare address string.EvmAddressandSolanaAddresswere also byte-identical, so the spec drew a distinction it did not encode. Only the EVM form is expressible as a regex, and it would be looser than the server, so the formats are documented on the field rather than implied by a pattern.No request that worked before stops working. The object shape was never accepted: the API answers it with a 400,
Unrecognized address {"@type": "EvmAddress", ...}, where the bare string returns 200. The break is at the type level only, for code importing one of the four names or reaching forcomponents["schemas"]["EvmAddress"]. Usestring.Minor rather than major, per the sync-openapi skill putting removals and renames at minor. Nothing in this repo referenced the four names outside the generated files, so no SDK or CLI change is needed.
- d141f45: Sync OpenAPI spec: add
POST /api/v2/auth/tokens/exchange(exchange_scoped_token) with theTokenExchangeRequest,TokenExchangeResponseandAuthErrorResponseschemas. The endpoint exchanges an opaque scoped token for a short-lived access token that satisfiesWalletAuth, and is the credential path for headless callers holding no signing key. It reads no API key, so the operation declares empty security.
- 59b7337: Export
opensea-api.jsonas a package subpath. The spec was already listed infilesand shipped in the tarball, but anexportsmap makes every path it does not name private, sorequire("@opensea/api-types/opensea-api.json")failed withERR_PACKAGE_PATH_NOT_EXPORTED.package.jsonis exported too, so consumers can read the version. - 9baf162: Sync OpenAPI spec: add
GET /api/v2/traits/{slug}/floors(get_collection_trait_floors) withTraitFloorsResponse/TraitFloorResponseschemas, add requiredvolume_symbolto collection statsIntervalandTotal, addSwapQuoteResponse.refresh_after_msand drop configlaunch_date_pending.
- 8fea445: Correct the create-offer-actions item schema to expose
chain,contract, andtoken_id.
- 379d7c6: Sync OpenAPI spec: Solana order identity (
SvmOrderIdentity,protocol/svm_orderon order payloads),gas_limiton transaction details,animation_urlon self-mint drop item requests/responses,allowlist_wallet_counton drop stages,unique_buyer_count/unique_seller_counton token activity stats, and a narrowedstage_typeenum on Creator Studio drop stage edits. - 18530ea: Publish Solana order action endpoints for creating offers, fulfilling listings and offers, and cancelling orders, with generated request and response types. Order hashes are now optional because Solana orders use
svm_order.idinstead.
- ed91bb6: Sync OpenAPI spec: add the 503 trait-filter timeout response to
get_best_listings_collection, document agent-relationship list truncation, and map theread:wallets/write:walletsscopes to their MCP tools.
-
5fdac00: Sync OpenAPI spec: drop
PUTandDELETE /api/v2/accounts/wallets/{wallet}/agentwith theWalletAgentStatusResponseschema, drop the deprecatedagent_owner_profileandpublic_agent_walletsproperties fromAgentProfileRelationshipsResponse, and take the newAccountResponse.is_agentdescription.The endpoints are gone from production (os2-core#52946), which is why they leave the spec here.
is_agenton the account response now reports whether the account itself has declared it is an agent (os2-core#52948); it previously read the retired wallet-level designation and was therefore false for everyone.WalletAgentStatusResponseis no longer exported. Nothing in this repo imports it as of the removal in #631.type-checkfor this package now coverstest/andscripts/through atsconfig.check.json, matching sdk. It previously compiledsrc/alone, so a test importing a type the spec no longer defines passed bothtype-checkandvitest, which erases types.
- 6ff8285: Sync OpenAPI spec: add
EXECUTIONto theSwapCostResponse.typeenum and drop the write-onlyskipLowercaseproperty fromEvmAddress. - ad0fe38: Sync OpenAPI spec: add the agent account endpoints (
declare_agent_account,withdraw_agent_account_declaration,propose_agent_relationship,confirm_agent_relationship,revoke_agent_relationship,list_own_agent_relationships) with their request and response schemas, and addread:walletstoAuthScope.
- d88963f: Sync OpenAPI spec: add optional
chainsquery param toget_portfolio_stats, drop stale rate-limit prose fromcreate_instant_api_key.
-
7d2dbef: Sync OpenAPI spec: add
stablechaintoChainIdentifier, addChain.StableChain(chain id 988) to the SDK and generated chain maps -
8b7ddd2: Sync OpenAPI spec: add wallet visibility endpoints (
PUT/DELETE /api/v2/accounts/wallets/{wallet}/private), the publicGET /api/v2/accounts/{address_or_username}/agent-relationshipsendpoint, and theWalletVisibilityResponse,AgentProfileRelationshipsResponse, andAgentProfileSummaryResponseschemas -
0031eed: Sync OpenAPI spec: add SVM transaction detail schemas
- Adds
SvmInstructionAccountResponse,SvmInstructionResponse, andSvmTransactionDetailsResponseschemas. - Adds an optional
svmfield toSwapTransactionResponsefor structured Solana transaction contents on SVM chains.
- Adds
- 954d547: Add typed account agent status fields and helpers to mark or clear registered agent wallets from the SDK and CLI.
- 5962e13: Add generated request and response types for the token activity stats REST endpoint.
- cba26dd: Add typed SDK and CLI support for building cross-chain drop mint transactions and polling the returned receipt request.
- 7f5c1e7: Sync OpenAPI spec: add NFT profile picture endpoints (
POST/DELETE /api/v2/profile/nft-pfp) withSetNftPfpRequestandClearNftPfpResponseschemas, and register/api/v2/profile/nft-pfpunder thewrite:profilescope.
- feb1446: Sync OpenAPI spec: add
/api/v2/saved-tools(GET/POST/DELETE) beta endpoints andread:tools/write:toolsauth scopes, new saved-tool schemas, and additive token fields (is_verified,holders_count,created_at,genesis_date,description_source,subreddit_identifier). AddsOPENSEA_SCOPES.READ_TOOLS/WRITE_TOOLSto the SDK.
- 66396b6: Sync OpenAPI spec to include new auth scopes (
read:social,write:social) from the canonical registry. - fa2a24e: Add the canonical
read:socialandwrite:socialwallet-auth scopes. - 333104e: Sync OpenAPI spec from api.opensea.io. Upstream normalized several
examplevalues in schema descriptions from floats to integers (e.g.19250.0to19250). No endpoints, schemas, or generated types changed; the regeneratedsrc/generated.tsis byte-identical. - d7a44df: Sync OpenAPI spec from api.opensea.io. Adds
isVerified,followerCount, andfollowingCounttoAccountResponseand updates generated types accordingly.
- df2b152: Add the public SIWX wallet-link endpoint schemas used by agent wallet-link flows.
- 4bef9a5: Sync the full public scoped wallet API and generate scope groups, endpoint mappings, and MCP tool metadata.
- 2459068: Refresh generated API types and wallet-auth scope metadata from the production OpenAPI specification.
- df2b152: Sync OpenAPI spec: add SIWX wallet-link endpoint schema updates (nonce generation, message signing, and wallet-link verification endpoints with new request/response types)
- c460fc1: Sync OpenAPI spec: add wallet trading P&L endpoints and schemas —
GET /api/v2/account/{address}/pnl(WalletPnlResponse),/pnl/closed-positions(ClosedPositionsResponse,ClosedPositionResponse), and/pnl/token-transfers(PositionTokenTransfersResponse,PositionTokenTransferResponse). Also addsListingPriceInputand removes the@Hiddenfavorites path from the published spec. - ef89be8: Sync OpenAPI spec: adds the
AuthScopeschema (now exported as a named type) with per-scopex-enum-descriptions/x-enum-display-namesmetadata. Adds the package's first runtime export,AUTH_SCOPES(withAuthScopeInfotype) — scope names, display names, and descriptions generated from the spec at codegen time.
- e59df7f: Sync OpenAPI spec: add tool activity endpoint,
robinhoodchain,source/collectionsearch filters,calldata_suffixon fulfillment, SIWX wallet-link endpoint (POST /api/v2/accounts/wallets/siwxwithLinkWalletSiwxRequest/WalletLinkResponse), re-publishedGET /api/v2/account/{address}/favorites, and the newwrite:walletsauth scope (also added to the SDK'sOPENSEA_SCOPES)
- Sync OpenAPI spec. Adds the
POST /api/v2/tools/usageendpoint and new schema types (Eip3009Fields,X402SettlementFields,ToolUsageRequest,ToolUsageResponse), and addsactive_stage/next_stagefields toDropResponseandDropDetailedResponse. All changes are additive and non-breaking.
- Add
[Beta]tool registry endpoint schemas to the OpenAPI spec and generated types:GET /api/v2/tools(list) and the tool search endpoint, along with theRegisteredToolResponse,ToolSearchPaginatedResponse,ToolListPaginatedResponse, and supporting tool response types. All additive; no consumer breakage.
-
96928f4: Auto-generate named schema exports so every
components.schemas.*from the OpenAPI spec is reachable as a named import — no manual curation step.- New
src/schemas-generated.ts(auto-built fromopensea-api.json) exports a named type for every schema in the spec. The previous hand-curated list insrc/index.tscovered 147 of 199 schemas; the remaining 52 are now surfaced. src/index.tsre-exports./schemas-generatedand keeps the hand-written sections (response envelopes, operation helpers).pnpm run generatenow invokesscripts/generate-schema-exports.mjsafteropenapi-typescriptso the schema-export list always tracks the spec.- New CI guard:
scripts/check-consumer-imports.mjsgreps everyfrom "@opensea/api-types"import across the workspace and verifies each named import appears in the builtdist/index.d.ts. Wired into CI as theAPI Types consumer importsjob — runs on every PR, not gated by path filter, because a consumer-package change can introduce an unsurfaced import without touching api-types itself (the exact failure mode that briefly broke order posting in SDK 11.0).
Both additions are belt-and-suspenders: auto-gen ensures the index never falls behind the spec; the CI guard ensures the index hasn't been broken by any change.
- New
-
90702a7: Sync OpenAPI spec — add Token holders/liquidity-pools endpoints, NftDetailed.agent_binding, Token.twitter_follower_count.
GET /api/v2/chain/{chain}/token/{address}/liquidity-pools— paginated liquidity pools for a token (TokenLiquidityPoolsResponse→TokenLiquidityPoolResponse[], exposes pool type, pool/contract address, base/quote reserves in USD, bonding-curve progress, graduation flag).GET /api/v2/chain/{chain}/token/{address}/holders— paginated token holders (TokenHoldersResponse→TokenHolderResponse[]plus aggregateTokenHolderDistributionResponsewith total holders, top-1% concentration, and aSTRONG | HEALTHY | CONCERNING | BADhealth label).
NftDetailed: optionalagent_binding: AgentBindingResponse(ERC-8217 agent binding — exposesagent_id,binding_contract, the boundAgentNftResponse, optionalregistered_by).Token(token base): optionaltwitter_follower_count: int64.- NFT list endpoint: new optional
has_agent_binding: booleanquery filter. - New named exports:
AgentBindingResponse,AgentNftResponse,TokenHolderResponse,TokenHoldersResponse,TokenHolderDistributionResponse,TokenLiquidityPoolResponse,TokenLiquidityPoolsResponse.
All changes are additive — no consumer breakage. SDK/CLI/skill don't need updates to keep working; wrapping the two new endpoints (typed SDK methods, CLI commands, skill shell scripts) is follow-up work.
- fb03c09: Add named exports for
BuildOfferResponse,CancelRequest,CancelResponse, andPartialParameters— these were in the generated schemas but not surfaced. Pure additive.
-
7969189: Sync OpenAPI spec — pure additive:
Order.assetandNftDetailed.subscriptionfield additions plus pagination defaults loosened on/api/v2/collections.New on
Order:asset?: OrderAsset—{ identifier?: string; contract: string }. Surfaces the NFT contract + token ID without loadingprotocol_data.identifieris null for collection/criteria offers. Powers the profile endpoints (/account/{address}/listings,/offers,/offers_received) whereprotocol_datais intentionally null for performance. Source: ProjectOpenSea/os2-core#42022.
New on
NftDetailed:subscription?: SubscriptionInfoResponse—{ expires_at?: string; is_renewable: boolean; is_expired: boolean }.
Loosened on
GET /api/v2/collections:limitdefault10→20, max100→200.
Named exports added:
OrderAsset,SubscriptionInfoResponse.Tooling:
update-specnow runsbiome formaton the output so future syncs don't churn on formatter differences.
-
c350ca3: Sync OpenAPI spec — 22 new endpoints, 44 new schemas. Pure additive: no paths or schemas removed. Versioned as a minor bump per repo convention for new endpoints.
New endpoints (22):
- Batch lookups:
POST /api/v2/tokens/batch,POST /api/v2/nfts/batch,POST /api/v2/collections/batch - Listings:
POST /api/v2/listings/actions(returns ordered approval + Seaport-sign actions) - Drops:
POST /api/v2/drops/deploy,GET /api/v2/drops/deploy/{chain}/{tx_hash}/receipt - Assets:
POST /api/v2/assets/transfer - Collection analytics:
GET /api/v2/collections/{slug}/offer_aggregates,…/holders,…/floor_prices - Token analytics:
GET /api/v2/chain/{chain}/token/{address}/price_history,…/ohlcv,…/activity - NFT analytics:
GET /api/v2/chain/{chain}/contract/{address}/nfts/{identifier}/owners,…/analytics - Account profile:
GET /api/v2/account/{address}/portfolio,…/portfolio/history,…/offers,…/offers_received,…/listings,…/favorites,…/collections
New named schema exports added to
src/index.ts, grouped by domain (Tokens batch/analytics, NFTs batch/analytics, Collections batch/analytics, Listings actions, Drops deploy, Assets transfer, Account portfolio/profile, Swap costs).Downstream impact —
@opensea/sdk,@opensea/cli, and@opensea/skillfollow-ups will land in subsequent PRs to surface these endpoints as methods / commands / scripts. - Batch lookups:
-
7a51fd0: Sync OpenAPI spec — bundles os2-core#40171 (deprecation removals) and os2-core#40190 (new
makerfilter), plus four new endpoints.Removed (os2-core#40171):
GET /api/v2/orders/{chain}/{protocol}/offers— useGET /api/v2/offers/collection/{slug}/all(or…/nfts/{identifier}for per-NFT)GET /api/v2/orders/{chain}/{protocol}/listings— useGET /api/v2/listings/collection/{slug}/all(or…/nfts/{identifier}/bestfor per-NFT)orderwrapper field fromPOST /orders/{chain}/{protocol}/offersand…/listingsresponses — these now return bareOffer/ListingCriteria.trait(singular) response field — useCriteria.traits[]IntervalStat.{volume_diff, volume_change, sales_diff, average_price}(always returned 0)Total.{market_cap, average_price}(always returned 0)- Schemas:
OrdersResponse,CreateOfferResponse,CreateListingResponse,SimpleOrderV2Serializer,V1ProtocolData,SimpleAccount. The named re-exports for the first three plusV1ProtocolDataandSimpleAccountare removed fromsrc/index.ts.
Added (os2-core#40190):
- Optional
makerquery param onGET /api/v2/offers/collection/{slug}/allandGET /api/v2/listings/collection/{slug}/all
Other new endpoints picked up in this sync (not in #40171/#40190):
POST /api/v2/listings/sweep— bulk-buy from a collection. New types:SweepCollectionRequest,SweepCollectionResponse.GET /api/v2/offers/collection/{slug}/nfts/{identifier}— all offers for one NFT (the proper per-NFT replacement for the removed orders endpoint).POST /api/v2/swap/execute— companion to/swap/quote. New types:SwapExecuteRequest,SwapExecuteResponse,SwapQuoteInput.POST /api/v2/transactions/receipt— fetch transaction status. New types:TransactionReceiptRequest,TransactionReceiptResponse.
Downstream impact —
@opensea/sdkand@opensea/clidepend on the removed schemas/operations and will break against this version. SDK/CLI follow-up PRs to deletegetNFTOffers/getNFTListings/getOrder/getOrders/postOrder, fixpostListing/postOfferresponse handling, drop the deprecated stats fields, and surface the four new endpoints will land in subsequent minor bumps.
-
961f2c5: fix(api): consume cross-chain fulfillment types from
@opensea/api-typesThe cross-chain fulfillment types added in the previous release were hand-rolled in
packages/sdk/src/api/types.tsandpackages/cli/src/types/api.tsrather than generated from the OpenAPI spec. This release pulls them from@opensea/api-types(the source of truth) so future spec changes flow through automatically.@opensea/api-types: Adds named exports forCrossChainFulfillmentRequest,CrossChainFulfillmentResponse,CrossChainPaymentToken,FulfillerObject, andListingObjectschemas (regenerated from the production OpenAPI spec).@opensea/sdk(type rename — minimal-impact since the prior release shipped <1 day ago):CrossChainListing→ListingObjectCrossChainFulfillmentDataRequest→CrossChainFulfillmentRequestCrossChainFulfillmentDataResponse→CrossChainFulfillmentResponseCrossChainTransaction→SwapTransactionResponse
The runtime call signature on
BaseOpenSeaSDK.getCrossChainFulfillmentData()is unchanged.@opensea/cli(type rename — same minimal impact):CrossChainFulfillmentTransaction→SwapTransactionResponseCrossChainFulfillmentDataResponse→CrossChainFulfillmentResponse
Adds a new blocking CI check (
pnpm check-api-paths) that fails when an/api/v2/...URL referenced in SDK or CLI source is not present inpackages/api-types/opensea-api.json. AGENTS docs updated to make the api-types-first flow explicit for new endpoints.
- 33bf144: Sync OpenAPI spec: add
traitsquery param to three collection-scoped read endpoints (GET /api/v2/collection/{slug}/nfts,GET /api/v2/listings/collection/{slug}/best,GET /api/v2/events/collection/{slug}) — accepts a JSON-encoded array of{traitType, value}filters that are AND-combined server-side. Adds optionalstatusfield toTokenBalanceResponse(OK|WARNING|SPAM|LOW_LIQUIDITY|LOW_VALUE) surfaced when callers passdisable_spam_filtering=trueon the account tokens endpoint, whoselimitmax also rises from 25 to 100. Non-breaking, additive.
- 5b6ba13: Sync OpenAPI spec: add token-groups endpoints (
GET /api/v2/token-groups,GET /api/v2/token-groups/{slug}) and instant API key provisioning (POST /api/v2/auth/keys). Exports newTokenGroup*,InstantApiKeyResponse, andRateLimitsResponsetypes. Non-breaking: some fields onIntervalStatandTotalare now markeddeprecated.
-
b3a5e84: Add drops endpoints, trending/top collections, and account resolve
- api-types: Sync OpenAPI spec with 6 new endpoints and 8 new schemas (drops, trending/top collections, account resolve)
- SDK: New DropsAPI class, extended CollectionsAPI and AccountsAPI with new methods
- CLI: New
dropscommand,collections trending/topsubcommands,accounts resolvesubcommand