SKU Management API
Overview
The SKU Management API enables sellers to create and manage SKUs — the core sellable units on the marketplace. A SKU (Stock Keeping Unit) represents a priced and fulfillable unit derived from a catalog Product. It carries all commercial attributes: pricing, fulfillment configuration, and shipping details.
SKU vs Inventory
A SKU is location-independent. It captures what you are selling and at what price — not
where the stock is. Inventory is the physical stock at a specific fulfillment location and is
managed separately via PATCH /skus/{skuId}.
This means a SKU can be created without any inventory. Stock can be assigned to one or more locations at any point after creation.
Key Relationships
- A Product must exist in the catalog before a SKU can be created against it (
productId). - A SKU belongs to one Seller. Cross-seller transfers are not supported.
skuIdis unique at the seller level — two different sellers may hold the sameskuIdvalue, but within a single seller's account it must be unique. The platform generates alistingId(e.g.,LSTCKSH5HYVPX2WXFXHBE2NYD) as a globally unique internal identifier per SKU.- Inventory is tied to Locations. A location referenced in SKU inventory must be of type
PICKUP(notINVOICE) and have statusACTIVE. When updating stock, theidfield on each location entry is mandatory and must already be registered to the SKU. Referencing an unknown location returns aLOCATION_NOT_FOUNDerror.
SKU Lifecycle
CREATED ──► PENDING_APPROVAL ──► ACTIVE
│
▼
REJECTED (editable, re-submittable)
ACTIVE ◄──► INACTIVE (seller-controlled via PATCH /skus/{skuId})
ACTIVE ──► BLOCKED (platform admin only)
BLOCKED ──► ACTIVE (platform admin only)
When the approval workflow is enabled, a newly created SKU moves to PENDING_APPROVAL before
going live. If approval is not configured, SKUs become ACTIVE immediately on creation.
Sellers can toggle visibility between ACTIVE and INACTIVE using PATCH /skus/{skuId}.
Contact API Platform Team: