Skip to main content
There are two ways to read products for enrichment: a paginated export of the whole catalog (ideal for bulk and incremental syncs) and a targeted SKU lookup (ideal for re-enriching a known set). Both require the catalog:read scope and both return the same product shape.

Paginated export

integer
default:"0"
Zero-based page index.
integer
default:"100"
Items per page. Clamped to the range 1–500; values outside it are coerced into range.
string
Optional. Return only products updated after this moment. Accepts epoch milliseconds, an ISO-8601 instant (2026-06-01T00:00:00Z), or a local date-time (2026-06-01T00:00:00). Use it to run incremental syncs instead of re-reading the whole catalog.

Paginating through the whole catalog

Only active products are returned. Results are sorted by ascending id, so the ordering is stable across pages even while the catalog changes.

Fetch by SKU

When you already know which products to enrich, look them up directly. Send the SKUs in the request body:
This endpoint accepts at most 50 SKUs per call and rejects an empty list with 400 Bad Request. Batch larger sets into chunks of 50.
Unknown SKUs are simply absent from the response — there is no per-SKU “not found” entry, so compare the returned SKUs against what you requested.

The product shape

Both endpoints return products in the same EnrichmentProductDto shape:
attributes (and each variant’s attributes) only include values that are actually set — an attribute with an empty value is omitted rather than returned as an empty string.

Product variants

Products that belong to a variant family (e.g. the same tool in several voltages) expose their relationship through three fields. Which are populated depends on whether the product is the family’s master or one of its variants — the fields that don’t apply are null. Master product — carries the family. variantAttributes lists the attribute names that distinguish the variants, and variants holds the sibling products (the master itself is not repeated in the array). variantMaster is null.
Variant product — points back to its master by SKU via variantMaster. variantAttributes and variants are null.
A product with no variant family has all three fields null. See the full field reference on the Get products page. Next, turn these into proposals — Submitting proposals.