Skip to main content

List Products

GET 

/api/woo-commerce/:integration_instance/products

List WooCommerce products (one row per sellable unit — parent products and variations unified) for an integration instance.

Authorization

Any valid API token can call this endpoint — no specific scope required. Manage tokens.

Authentication: Requires Bearer token.

Quick Filters:

  • filter[search] (string, optional) — matches sku, unified_title, or id
  • filter[status] (string, optional) — exact status: publish, draft, pending, private ('all' is a no-op)
  • filter[mapping_status] (string, optional) — 'mapped' or 'unmapped' (linked to a SKU.io product or not)
  • filter[archived] (string, optional) — 'true' (archived only) or 'false' (active only)

Advanced Filters (filter_groups): Base64-encoded JSON tree with and/or conjunctions and nested groups.

  • Text columns: status, product_type, sku, stock_status — operators: is, is_not, contains, does_not_contain, starts_with, ends_with, is_one_of, is_not_one_of, is_empty, is_not_empty
  • Numeric columns: price — operators: is, is_not, greater_than, less_than, greater_than_or_equal, less_than_or_equal, between, is_one_of, is_empty, is_not_empty
  • Boolean columns: mapped — operator: is with value true/false Unregistered filter columns return HTTP 400.

Sorting: sort=field or sort=-field (descending). Allowed sorts: id, woo_commerce_product_id, sku, unified_title, woo_commerce_parent_product_id, woo_commerce_variation_id, woo_commerce_unique_id, parent_sku, variation_name, price, regular_price, sale_price, manage_stock, stock_quantity, weight, product_type, slug, status, created_at, updated_at. Default: -id.

Pagination: page (default 1), per_page (default 10). Standard paginator response with data, current_page, last_page, per_page, total, from, to.

Request

Responses

OK

Response Headers
    Content-Type