Skip to main content

Catalogue Enrichment Report

GET 

/api/v2/listings/catalogue-enrichment

Every product that publishes through a listing template, ordered by default supplier (nulls last) then SKU, with the data points it is still missing.

Required scope: products:read

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

Columns are keyed on the thing you would fill, not on each channel's name for the requirement. That is what makes one table cover the whole catalogue: per template the required-field sets are all different, but three TikTok fields (Region of origin, Country of origin, Country or region of origin) all read one Country of Origin attribute, so they collapse to a single column and demanded_by records all three. On siber this turns 70 required-field slots into 14 data points.

data_points[].missing and summary always describe the WHOLE catalogue, so the totals do not move as the caller filters rows. Unpaged, with a 2000-row backstop reported via truncated / row_cap rather than applied silently.

Which products a template serves follows the publish path: a per-channel category override wins over the product type's mapping, a variant with no type of its own inherits the family parent's, and a non-default template is reachable only by an explicit pin. Archived products are excluded.

data_points[].applies_to counts the products whose templates actually require that data point, and data[].applicable lists the data points asked of that one product; missing is a subset of both. The distinction matters because the columns are catalogue-wide while the demand for them is per template — a product routed to a template that never asks for a CPSIA tracking label is absent from both applicable and missing, and must be rendered as not-applicable rather than as a satisfied requirement.

Request

Responses

OK

Response Headers
    Content-Type