Migrating from V6 to V7 (FAQ)
The biggest changes between the old API (V6) and V7 are in how you search for and retrieve products, and in the removal of the "sets". Below are the most frequently asked questions for anyone moving from V6 to V7.
Why was the search call split into lookup + get?
In V6 a single call did everything: POST api/Product/Search searched for
products and returned the full product data in the same response (limited to a
maximum of 50 full products per call).
In V7 this has become two separate steps:
1. Lookup — search for products and get back a list of PS ids (psids).
2. Get — then retrieve the full product data per psid.
This makes searching faster and lighter: you only fetch the full data for the products you actually need.
How do I search for products now? (lookup)
Use one of the lookup routes. Each route searches on a different key and
returns the psids your account is allowed to see (access is baked in — see below).
Append /minimal to the route to get back only the psids (as integers);
that is exactly what you need for the next step.
POST /v7/json/lookup/assortment
POST /v7/json/lookup/assortment/minimal
{
"assortmentId": "…",
"lastUpdatedAfter": "2026-07-01T00:00:00",
"targetMarket": 1,
"pageNumber": 1,
"pageSize": 250
}
Available search keys: gtin, psid, articlenumber,
gln, assortment, brandid and all.
The response splits results into changed, deleted,
notFound, notChanged and superseded.
How do I retrieve the product data? (get)
Request the product sheet per psid:
GET /v7/json/productsheet/{psid}
GET /v7/json/productsheet/{language}/{psid}
Use xml instead of json for an XML response. The language
(nl, en, de, fr) is optional.
Note: the OutputType (how many fields you get back) is no longer part of the URL;
it is determined by your account/token.
What happened to the sets (public, brand, producer, catalog)?
The separate sets no longer exist in V7. In V6 you enabled booleans such as
ShowPublicProductSet or ShowMyCatalogProductSet in the
Search body. In V7 access is baked in: based on your token
(roles, relation and subscriptions) the API automatically determines which products you
may see. So you always get back only the products you are entitled to.
If you want to mimic a specific "set", you do so via the matching lookup route:
| V6 set | V7 |
|---|---|
| Catalog set | lookup/assortment — catalog = assortment |
| Brand set | lookup/brandid (on brandId) |
| Public set (everything) | lookup/all |
| Producer set | No separate call needed — your own products are automatically part of your access |
Note: this part is still evolving and not every V6 set has an exact one-to-one counterpart. Missing a specific scenario? Please get in touch with us.
A typical V7 flow
// 1. Look up the psids (e.g. for an assortment)
POST /v7/json/lookup/assortment/minimal
// → { "changed": [59, 12345, …], … }
// 2. Retrieve the product sheet per psid
GET /v7/json/productsheet/59
GET /v7/json/productsheet/en/59