Skip to content

v10.0.0

Latest

Choose a tag to compare

@dantio dantio released this 29 Jul 14:55
· 9 commits to master since this release
npm install ebay-api@10.0.0

v10 is a major release that removes the eBay APIs and operations eBay has decommissioned, refreshes every RESTful OpenAPI spec to its latest published version, and adds the Sell Stores API. The public interface — auth, config, request handling — is unchanged. You only need to act if your app called one of the removed operations.

📖 Migrating from v9 to v10 — every removal is listed there by API, with the replacement where one exists.

⚠ Breaking changes

Removed APIs

Removed Notes
Finding API (eBay.finding) eBay took the traditional Finding API down server-side in February 2025. Migrate item search to the Buy Browse API.
Sell Compliance API (eBay.sell.compliance) Decommissioned by eBay on 2026-03-30; the docs and published spec were withdrawn.

Removed operations

Every operation below was dropped from eBay's own published OpenAPI spec — calling one on v9 already failed against the live API.

  • Buy Order migrated v1 → v2: only the guest checkout flow remains. The member checkout session, proxy-guest checkout session, payment-info, initiate-payment and place-order operations are gone.
  • Buy Browse: addItem, removeItem, updateQuantity, getShoppingCart
  • Buy Feed: getProductFeed
  • Buy Marketing: getAlsoBoughtByProduct, getAlsoViewedByProduct
  • Commerce Catalog: getChangeRequest, getChangeRequests, getProductMetadata, getProductMetadataForCategories
  • Commerce Charity: getCharityOrgByLegacyId
  • Sell Account v1: getSalesTaxJurisdictions, plus the seven inventory-location methods — those were duplicates pointing at /sell/account/v1/location, a path eBay does not serve. Use the working implementations on eBay.sell.inventory.
  • Sell Marketing: setupQuickCampaign, launchCampaign
  • Sell Metadata: getProductAdoptionPolicies
  • Post-Order: 29 methods across the return, case, inquiry and cancellation APIs

The request types used only by removed methods were dropped with them.

Renamed

  • eBay.commerce.notification.test() → testSubscription(), matching eBay's operationId.

Behaviour changes

  • Per-request headers now win over the client-wide defaults. Previously the library's default Content-Type: application/json overwrote the multipart/form-data header the upload endpoints set, so createImageFromFile, uploadDocument, uploadPostOrderDocument, sell.feed.uploadFile and sell.fulfillment.uploadEvidenceFile were rejected by eBay. They work now. A per-request Content-Type also overrides one set globally via apiConfig.headers.
  • IEBayApiRequest gained a required patch member. If you inject a custom request implementation, add patch(url, data?, config?). The bundled AxiosRequest already has it.
  • eBay.sell.finances — filter accepts string | string[] on all seven filter-taking methods. getOrderEarningsSummary now takes an options object.

Features

  • Sell Stores API (eBay.sell.stores) — manage the categories of a seller's eBay store
  • Sell Account API v2 (eBay.sell.accountV2) — rate tables, payout settings, combined shipping rules, user preferences
  • All RESTful specs refreshed to eBay's latest published versions, adding a number of new methods — among them eBay.buy.feed.getItemPriorityFeed and 19 new Sell Metadata operations including getCategoryPolicies (#209)

Bug fixes

  • Default headers no longer overwrite per-request headers, unbreaking five upload endpoints
  • commerce.media.uploadVideo sends application/octet-stream and accepts headers for resumable uploads (#215)
  • sell.logistics.downloadLabelFile requests application/pdf and returns the raw buffer instead of parsing a PDF as JSON
  • A DELETE body now reaches the digital-signature payload, so content-digest is emitted for it
  • The Media API is complete against its spec, including the post-order document endpoints (#206)

Under the hood

  • oas.spec.ts now enforces the spec in both directions: every spec operation must be implemented, and every implemented method must exist in the spec — so a future spec refresh cannot leave dead methods behind
  • New npm run typecheck covering src, test and examples, wired into prerelease
  • The OpenAPI fetch script validates JSON before overwriting a spec, decodes UTF-8 correctly, exits non-zero on failure, and reports operations a refresh drops
  • npm audit clean

Full changelog: v9.6.0...v10.0.0