Skip to content

Latest commit

 

History

History
448 lines (252 loc) · 32.3 KB

CHANGELOG.md

File metadata and controls

448 lines (252 loc) · 32.3 KB

@opensea/api-types

0.17.0

Minor Changes

  • df922bd: Sync OpenAPI spec: add get_top_pfp_collections (GET /api/v2/pfp/top-collections) and get_collection_pfp_profiles (GET /api/v2/collections/{slug}/pfp-profiles) with their response schemas, and add required price_per_item to Offer and Listing. Minor bump: the new required field breaks code that constructs Offer/Listing object literals without it.

0.16.1

Patch Changes

  • 8daac26: Sync OpenAPI spec. Adds list_nfts_by_group (GET /api/v2/nfts/group/{group}) and list_nft_group_facets (GET /api/v2/nfts/group/{group}/facets) with the StandardizedNft, StandardizedNftListResponse, ListingPriceResponse, StandardizedNftFacetsResponse, FacetGroupResponse and FacetValueResponse schemas. get_nfts_by_account now returns AccountNftListResponse, whose AccountNft items add the required quantity and quantity_string held by the account. NftDetailed adds the optional agent_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 shared Forbidden error response instead of the success schema, and media tokens that do not resolve now fail a metadata update with 400 instead of being dropped.

0.16.0

Minor Changes

  • 6b30bd0: Sync OpenAPI spec. DropDeployResponse.to is now string | null: it is null for an erc721_standard deploy, which is a contract-creation transaction sent with no to. DropDeployRequest.drop_type and token_type, UploadProfileImageRequest.imageType and NarrativeModuleRequest.variant are now typed as the enums the API accepts. DropDetailedResponse adds the required fee_bps. The drop and drop-item endpoints' 403 responses now use the shared Forbidden error response instead of the success schema, and the transaction value fields document decimal (not hex) wei.

Patch Changes

  • e83546e: update-spec runs Biome through Node module resolution instead of pnpm exec, so the spec is formatted in an npm checkout as well. The README example uses an operationId that exists (list_listings_collection_all).

0.15.1

Patch Changes

  • 3ca4e84: Sync OpenAPI spec. UpdateCollectionMetadataRequest now documents that an empty about.preview_media list removes the saved preview media and an empty media list on an about section removes that section's media, while leaving either out keeps it. set_collection_pricing_currency documents a 409 when a pricing currency switch is already running. The image_type path parameter of upload_collection_image is now typed "profile_picture" | "banner_image", the two values the API accepts.

0.15.0

Minor Changes

  • 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), and POST /api/v2/collections/{slug}/refresh. GET /api/v2/collections/{slug}/metadata now returns the saved page (CollectionPageMetadataResponse: hero, about, overview modules) with a preview URL, and GET /api/v2/drops/{slug}/items lists a draft drop's items (DropItemsPaginatedResponse). The b3 chain is no longer in the spec's chain enum.

Patch Changes

  • 07d0bdc: Sync OpenAPI spec. Adds save_drop_item_media_batch (POST /api/v2/drops/{slug}/items/media/save-batch) and its SaveDropItemMediaBatchRequest schema, which saves a drop's items from one upload batch by filename, up to 15,000. UploadDropItemMediaRequest gains an optional upload_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.

0.14.2

Patch Changes

  • 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.unit documents that it is in whole units of the native currency (not wei) with an example, and creator_payout_address documents its save/publish semantics with an example. No paths, schemas, or field types changed.
  • e7882a8: Sync OpenAPI spec. TokenHolderDistributionResponse, returned under GET /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), and top_holders_concentration, the percentage of eligible supply that cohort holds. Eligible supply excludes mint, LP, CEX and burn holdings. top_one_percent_concentration is now documented as deprecated in favor of top_holders_concentration, since it is approximated from the same 250 rows for tokens with more than 25,000 holders.

0.14.1

Patch Changes

  • 749dc16: Sync OpenAPI spec. DropDeployResponse gains from, the address that must send the deploy transaction. Drop mint and cross-chain mint document a retryable 503, which, like every 429, now declares the Retry-After response 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.

0.14.0

Minor Changes

  • 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.

0.13.0

Minor Changes

  • 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_progress and upload_drop_collection_manifest, with the DropTransactionResponse, DropMetadataUploadResponse and DropMetadataUploadProgressResponse schemas, and adds their routes to the write:drops scope.
    • SelfMintDropItemResponse now carries the transaction fields plus token_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"] or anyOf: [ref, null] for them. Code that reads these fields may need a null check. This is why the bump is minor.
    • label is 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 V1ErrorWrapper body, NftSearchResponse gains the optional best_listing field, and field descriptions are updated.

0.12.1

Patch Changes

  • 711dbc7: Sync OpenAPI spec: add SvmTransactionConfigResponse and the optional transaction_config field on SvmTransactionDetailsResponse; add field descriptions for collection image_url / banner_image_url; string-typed schema and parameter examples are now published as JSON strings (e.g. priority_fee_lamports).

0.12.0

Minor Changes

  • cd6e615: Sync OpenAPI spec: add arc chain identifier; agent relationships gain ConfirmAgentRelationshipRequestBody and optional counterparty_account_id addressing, AgentRelationshipResponse drops initiator_address/counterparty_address/initiated_by. revokeAgentRelationship serializes whichever counterparty identifier is provided (counterpartyAccountId or counterpartyAddress).

Patch Changes

  • fbbbea4: Sync OpenAPI spec: get_account_following description now states that followed wallets are included for address or username profiles (previously documented wallet targets as an empty page).

0.11.1

Patch Changes

  • a2e2cfa: Re-sync the spec after the sort enum casing fix upstream.

    os2-core#56756 changed the published sort_by enum on /tokens/top, /tokens/trending and /account/{address}/tokens from MARKET_CAP to market_cap, so the values match the examples those parameters already carried. The previous sync captured the spec before that landed, so TokenRankingSortBy was 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: TokenRankingSortBy was 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/top and GET /api/v2/tokens/trending now document sort_by and sort_direction, so GetTokensArgs gains sortBy and sortDirection. 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.

    sortBy is typed as TokenRankingSortBy, 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_hidden on GET /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.

0.11.0

Minor Changes

  • 3a2ff37: Add CHAIN_IDENTIFIERS, a readonly array of every chain slug the OpenSea API accepts, and isChainIdentifier(value), a type guard that narrows a string to ChainIdentifier.

    ChainIdentifier is 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.mjs now emits the array from the same ChainIdentifier enum in opensea-api.json that 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.

Patch Changes

  • 77206d0: Every generated schema export now carries a doc comment saying it is the snake_case wire shape and that @opensea/sdk hands 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.

0.10.0

Minor Changes

  • 3bca418: Sync OpenAPI spec: blockchain addresses publish as strings. The tokens query parameter on GET /api/v2/account/{address}/token-activity is now string[], carrying the per-chain formats in its description, and four type exports are removed: BitcoinAddress, BlockchainAddress, EvmAddress and SolanaAddress.

    Those schemas described a JSON object with a @type discriminator and a value field, for a query parameter that takes a bare address string. EvmAddress and SolanaAddress were 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 for components["schemas"]["EvmAddress"]. Use string.

    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.

0.9.3

Patch Changes

  • d141f45: Sync OpenAPI spec: add POST /api/v2/auth/tokens/exchange (exchange_scoped_token) with the TokenExchangeRequest, TokenExchangeResponse and AuthErrorResponse schemas. The endpoint exchanges an opaque scoped token for a short-lived access token that satisfies WalletAuth, and is the credential path for headless callers holding no signing key. It reads no API key, so the operation declares empty security.

0.9.2

Patch Changes

  • 59b7337: Export opensea-api.json as a package subpath. The spec was already listed in files and shipped in the tarball, but an exports map makes every path it does not name private, so require("@opensea/api-types/opensea-api.json") failed with ERR_PACKAGE_PATH_NOT_EXPORTED. package.json is exported too, so consumers can read the version.
  • 9baf162: Sync OpenAPI spec: add GET /api/v2/traits/{slug}/floors (get_collection_trait_floors) with TraitFloorsResponse/TraitFloorResponse schemas, add required volume_symbol to collection stats Interval and Total, add SwapQuoteResponse.refresh_after_ms and drop config launch_date_pending.

0.9.1

Patch Changes

  • 8fea445: Correct the create-offer-actions item schema to expose chain, contract, and token_id.

0.9.0

Minor Changes

  • 379d7c6: Sync OpenAPI spec: Solana order identity (SvmOrderIdentity, protocol/svm_order on order payloads), gas_limit on transaction details, animation_url on self-mint drop item requests/responses, allowlist_wallet_count on drop stages, unique_buyer_count/unique_seller_count on token activity stats, and a narrowed stage_type enum 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.id instead.

0.8.11

Patch Changes

  • ed91bb6: Sync OpenAPI spec: add the 503 trait-filter timeout response to get_best_listings_collection, document agent-relationship list truncation, and map the read:wallets/write:wallets scopes to their MCP tools.

0.8.10

Patch Changes

  • 5fdac00: Sync OpenAPI spec: drop PUT and DELETE /api/v2/accounts/wallets/{wallet}/agent with the WalletAgentStatusResponse schema, drop the deprecated agent_owner_profile and public_agent_wallets properties from AgentProfileRelationshipsResponse, and take the new AccountResponse.is_agent description.

    The endpoints are gone from production (os2-core#52946), which is why they leave the spec here. is_agent on 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.

    WalletAgentStatusResponse is no longer exported. Nothing in this repo imports it as of the removal in #631.

    type-check for this package now covers test/ and scripts/ through a tsconfig.check.json, matching sdk. It previously compiled src/ alone, so a test importing a type the spec no longer defines passed both type-check and vitest, which erases types.

0.8.9

Patch Changes

  • 6ff8285: Sync OpenAPI spec: add EXECUTION to the SwapCostResponse.type enum and drop the write-only skipLowercase property from EvmAddress.
  • 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 add read:wallets to AuthScope.

0.8.8

Patch Changes

  • d88963f: Sync OpenAPI spec: add optional chains query param to get_portfolio_stats, drop stale rate-limit prose from create_instant_api_key.

0.8.7

Patch Changes

  • 7d2dbef: Sync OpenAPI spec: add stablechain to ChainIdentifier, add Chain.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 public GET /api/v2/accounts/{address_or_username}/agent-relationships endpoint, and the WalletVisibilityResponse, AgentProfileRelationshipsResponse, and AgentProfileSummaryResponse schemas

  • 0031eed: Sync OpenAPI spec: add SVM transaction detail schemas

    • Adds SvmInstructionAccountResponse, SvmInstructionResponse, and SvmTransactionDetailsResponse schemas.
    • Adds an optional svm field to SwapTransactionResponse for structured Solana transaction contents on SVM chains.

0.8.6

Patch Changes

  • 954d547: Add typed account agent status fields and helpers to mark or clear registered agent wallets from the SDK and CLI.

0.8.5

Patch Changes

  • 5962e13: Add generated request and response types for the token activity stats REST endpoint.

0.8.4

Patch Changes

  • cba26dd: Add typed SDK and CLI support for building cross-chain drop mint transactions and polling the returned receipt request.

0.8.3

Patch Changes

  • 7f5c1e7: Sync OpenAPI spec: add NFT profile picture endpoints (POST/DELETE /api/v2/profile/nft-pfp) with SetNftPfpRequest and ClearNftPfpResponse schemas, and register /api/v2/profile/nft-pfp under the write:profile scope.

0.8.2

Patch Changes

  • feb1446: Sync OpenAPI spec: add /api/v2/saved-tools (GET/POST/DELETE) beta endpoints and read:tools/write:tools auth scopes, new saved-tool schemas, and additive token fields (is_verified, holders_count, created_at, genesis_date, description_source, subreddit_identifier). Adds OPENSEA_SCOPES.READ_TOOLS/WRITE_TOOLS to the SDK.

0.8.1

Patch Changes

  • 66396b6: Sync OpenAPI spec to include new auth scopes (read:social, write:social) from the canonical registry.
  • fa2a24e: Add the canonical read:social and write:social wallet-auth scopes.
  • 333104e: Sync OpenAPI spec from api.opensea.io. Upstream normalized several example values in schema descriptions from floats to integers (e.g. 19250.0 to 19250). No endpoints, schemas, or generated types changed; the regenerated src/generated.ts is byte-identical.
  • d7a44df: Sync OpenAPI spec from api.opensea.io. Adds isVerified, followerCount, and followingCount to AccountResponse and updates generated types accordingly.

0.8.0

Minor Changes

  • 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.

Patch Changes

  • 2459068: Refresh generated API types and wallet-auth scope metadata from the production OpenAPI specification.

0.7.0

Minor Changes

  • 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)

0.6.0

Minor Changes

  • 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 adds ListingPriceInput and removes the @Hidden favorites path from the published spec.
  • ef89be8: Sync OpenAPI spec: adds the AuthScope schema (now exported as a named type) with per-scope x-enum-descriptions / x-enum-display-names metadata. Adds the package's first runtime export, AUTH_SCOPES (with AuthScopeInfo type) — scope names, display names, and descriptions generated from the spec at codegen time.

Patch Changes

  • e59df7f: Sync OpenAPI spec: add tool activity endpoint, robinhood chain, source/collection search filters, calldata_suffix on fulfillment, SIWX wallet-link endpoint (POST /api/v2/accounts/wallets/siwx with LinkWalletSiwxRequest/WalletLinkResponse), re-published GET /api/v2/account/{address}/favorites, and the new write:wallets auth scope (also added to the SDK's OPENSEA_SCOPES)

0.5.0

Minor Changes

  • Sync OpenAPI spec. Adds the POST /api/v2/tools/usage endpoint and new schema types (Eip3009Fields, X402SettlementFields, ToolUsageRequest, ToolUsageResponse), and adds active_stage/next_stage fields to DropResponse and DropDetailedResponse. All changes are additive and non-breaking.

0.4.4

Patch Changes

  • 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 the RegisteredToolResponse, ToolSearchPaginatedResponse, ToolListPaginatedResponse, and supporting tool response types. All additive; no consumer breakage.

0.4.3

Patch Changes

  • 96928f4: Auto-generate named schema exports so every components.schemas.* from the OpenAPI spec is reachable as a named import — no manual curation step.

    What changed

    • New src/schemas-generated.ts (auto-built from opensea-api.json) exports a named type for every schema in the spec. The previous hand-curated list in src/index.ts covered 147 of 199 schemas; the remaining 52 are now surfaced.
    • src/index.ts re-exports ./schemas-generated and keeps the hand-written sections (response envelopes, operation helpers).
    • pnpm run generate now invokes scripts/generate-schema-exports.mjs after openapi-typescript so the schema-export list always tracks the spec.
    • New CI guard: scripts/check-consumer-imports.mjs greps every from "@opensea/api-types" import across the workspace and verifies each named import appears in the built dist/index.d.ts. Wired into CI as the API Types consumer imports job — 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.

  • 90702a7: Sync OpenAPI spec — add Token holders/liquidity-pools endpoints, NftDetailed.agent_binding, Token.twitter_follower_count.

    New endpoints

    • 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 aggregate TokenHolderDistributionResponse with total holders, top-1% concentration, and a STRONG | HEALTHY | CONCERNING | BAD health label).

    New / changed schemas

    • NftDetailed: optional agent_binding: AgentBindingResponse (ERC-8217 agent binding — exposes agent_id, binding_contract, the bound AgentNftResponse, optional registered_by).
    • Token (token base): optional twitter_follower_count: int64.
    • NFT list endpoint: new optional has_agent_binding: boolean query 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.

0.4.2

Patch Changes

  • fb03c09: Add named exports for BuildOfferResponse, CancelRequest, CancelResponse, and PartialParameters — these were in the generated schemas but not surfaced. Pure additive.

0.4.1

Patch Changes

  • 7969189: Sync OpenAPI spec — pure additive: Order.asset and NftDetailed.subscription field 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 loading protocol_data. identifier is null for collection/criteria offers. Powers the profile endpoints (/account/{address}/listings, /offers, /offers_received) where protocol_data is 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:

    • limit default 10 → 20, max 100 → 200.

    Named exports added: OrderAsset, SubscriptionInfoResponse.

    Tooling: update-spec now runs biome format on the output so future syncs don't churn on formatter differences.

0.4.0

Minor Changes

  • 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/skill follow-ups will land in subsequent PRs to surface these endpoints as methods / commands / scripts.

0.3.0

Minor Changes

  • 7a51fd0: Sync OpenAPI spec — bundles os2-core#40171 (deprecation removals) and os2-core#40190 (new maker filter), plus four new endpoints.

    Removed (os2-core#40171):

    • GET /api/v2/orders/{chain}/{protocol}/offers — use GET /api/v2/offers/collection/{slug}/all (or …/nfts/{identifier} for per-NFT)
    • GET /api/v2/orders/{chain}/{protocol}/listings — use GET /api/v2/listings/collection/{slug}/all (or …/nfts/{identifier}/best for per-NFT)
    • order wrapper field from POST /orders/{chain}/{protocol}/offers and …/listings responses — these now return bare Offer / Listing
    • Criteria.trait (singular) response field — use Criteria.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 plus V1ProtocolData and SimpleAccount are removed from src/index.ts.

    Added (os2-core#40190):

    • Optional maker query param on GET /api/v2/offers/collection/{slug}/all and GET /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/sdk and @opensea/cli depend on the removed schemas/operations and will break against this version. SDK/CLI follow-up PRs to delete getNFTOffers/getNFTListings/getOrder/getOrders/postOrder, fix postListing/postOffer response handling, drop the deprecated stats fields, and surface the four new endpoints will land in subsequent minor bumps.

0.2.3

Patch Changes

  • 961f2c5: fix(api): consume cross-chain fulfillment types from @opensea/api-types

    The cross-chain fulfillment types added in the previous release were hand-rolled in packages/sdk/src/api/types.ts and packages/cli/src/types/api.ts rather 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 for CrossChainFulfillmentRequest, CrossChainFulfillmentResponse, CrossChainPaymentToken, FulfillerObject, and ListingObject schemas (regenerated from the production OpenAPI spec).

    @opensea/sdk (type rename — minimal-impact since the prior release shipped <1 day ago):

    • CrossChainListing → ListingObject
    • CrossChainFulfillmentDataRequest → CrossChainFulfillmentRequest
    • CrossChainFulfillmentDataResponse → CrossChainFulfillmentResponse
    • CrossChainTransaction → SwapTransactionResponse

    The runtime call signature on BaseOpenSeaSDK.getCrossChainFulfillmentData() is unchanged.

    @opensea/cli (type rename — same minimal impact):

    • CrossChainFulfillmentTransaction → SwapTransactionResponse
    • CrossChainFulfillmentDataResponse → 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 in packages/api-types/opensea-api.json. AGENTS docs updated to make the api-types-first flow explicit for new endpoints.

0.2.2

Patch Changes

  • 33bf144: Sync OpenAPI spec: add traits query 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 optional status field to TokenBalanceResponse (OK | WARNING | SPAM | LOW_LIQUIDITY | LOW_VALUE) surfaced when callers pass disable_spam_filtering=true on the account tokens endpoint, whose limit max also rises from 25 to 100. Non-breaking, additive.

0.2.1

Patch Changes

  • 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 new TokenGroup*, InstantApiKeyResponse, and RateLimitsResponse types. Non-breaking: some fields on IntervalStat and Total are now marked deprecated.

0.2.0

Minor Changes

  • 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 drops command, collections trending/top subcommands, accounts resolve subcommand