Product Listings
List Channel Inventory
Returns paginated channel inventory, aggregated to one row per listing across all of that listing's channel locations. Each row compares the quantity calculated by SKU.io (total_sku_quantity) against the quantity last reported by the sales channel (total_channel_quantity) and exposes the variance between them. Archived listings are excluded.
Export Channel Inventory
Streams a CSV file download of channel inventory records (one row per listing location, not aggregated per listing). Archived listings are excluded.
Get Channel Inventory Summary
Returns channel inventory counts grouped by integration, the list of connected channel accounts (integration instances) that have at least one active listing, and a breakdown of inventory records by sync status.
Export Listings
Streams a CSV file download of all non-archived listings across every connected sales channel. This endpoint does not accept filters — it always exports the full active listing set, ordered by most recently created first.
Download Inventory Settings Import Template
Downloads an XLSX import template for bulk-editing listing inventory settings via spreadsheet import.
List Listing Inventory Caches
Returns the per-location channel inventory records for a single listing, ordered by channel location ID. Each record compares the quantity calculated by SKU.io (sku_quantity) against the quantity last reported by the sales channel (sales_channel_quantity) and includes the variance.
Preview Bulk Listing Inventory Settings Update
Dry run for Bulk Update Listing Inventory Settings. Computes exactly which listings would change and what each field's old and new values would be, without applying anything. Use it to validate a bulk update before committing it.
Bulk Update Listing Inventory Settings
Applies inventory settings to many listings at once. Runs synchronously — the response reports the number of listings updated.
Trigger Channel Inventory Recalculation
Flags channel inventory records for quantity recalculation. This is asynchronous: the request only marks the records; the quantities are recalculated by a scheduled background process on its next cycle, not immediately within this request.
Get Product Listing
Returns a single product listing with its sales channel, integration, pricing tier, inventory cache, and document relations loaded. The integration-specific resource class is used based on the sales channel.
Update Product Listing
Updates a product listing. If master_of_price or product_pricing_tier_id change, the price is pushed to the sales channel.
List Drafts
Paginated listing drafts for the drafts list. Slim payload — the heavy `fields[]` array is only served by show/update/validate.
Create Draft
Create a listing draft.
List Mappable Product Fields
Product columns usable as a `product_field` mapping source in draft field_overrides and template field defaults. Served from the resolver whitelist (ListingValueResolver) so pickers never offer a column the resolver won't read.
Get Draft
Show a draft with the full per-field payload.
Update Draft (overrides, images, structure)
Update a draft — saves `field_overrides`, `image_urls`, and structural changes (`sales_channel_category_id`, `sales_channel_product_template_id`, `sales_channel_listing_profile_id`), then re-resolves and re-validates. The draft transitions to `ready` when no validation errors remain.
Validate Draft
Re-resolve the draft's values against current product data + mappings and re-run validation. Mapped overrides (`{source_type, source_value}`) are re-evaluated against the product on every call. State transitions to `ready` when validation passes, back to `draft` when errors appear. A draft without a category records a `missing_category` validation error.
Preview Draft Against Product
Resolve this draft's mappings (its template + field overrides) against a DIFFERENT product, returning the value each channel field would receive for that product — with no persistence. Useful for a 'preview against another product' control: mapped fields (`product_field` / `product_attribute` / `expression`) re-evaluate against the given product, while typed literal values stay as-is.
Get Inventory for Product Listing
Returns the available inventory for a product listing across all warehouses / sales channel inventory locations.
Link to Subscription Offering
Links a product listing to a subscription offering. Used for subscription-based sales channels.
Unlink from Subscription Offering
Unlinks a product listing from a subscription offering.
Show Product Listing
Returns a single product listing with its sales channel, integration, pricing tier, inventory cache, and document relations loaded. The integration-specific resource class is used based on the sales channel.
Update Product Listing
Updates a product listing. If master_of_price or product_pricing_tier_id change, the price is pushed to the sales channel. If inventoryLocations is provided, inventory is synced to the channel.
Get Publish-Readiness Snapshot
Per-product, multi-channel publish readiness snapshot. Returns one entry per publish-capable, connected sales channel, grouped by bucket (live / ready / warn / idle / publishing / scheduled / draft) so the publish dialog can render confidence groups without orchestrating N parallel calls.
Get Catalog Coverage Matrix
Catalog-wide publish coverage matrix. Returns a paginated list of products with per-channel publish state (bucket) for each publish-capable connected channel. Returns catalog-wide publish coverage per product across channels.
List Channels for Products
List the sales channels the given products are currently listed on, with how many of the selected products are listed vs not listed on each channel, and whether the channel supports bulk archive / recover / delete.
Get Channel Action Eligibility
Return the per-state breakdown of the selected products on a single sales channel plus, for each action, how many products are eligible and whether the channel supports it.
Run Bulk Channel Action
Run a bulk channel action (archive, recover or delete) against the eligible listings of the selected products on a sales channel. The action runs in the background and the response returns a `tracked_job_log_id` you can poll for progress and a per-product success/failure summary.