DYJ Marketplace API

Server-to-server access to the jewellery products your feeds select.

You do not pick products. In your DYJ dashboard you define rules — a set of categories, a cost band, and a margin schedule — and your feed is whatever currently satisfies them. A designer listing a new ring inside your band appears in your store without either of you doing anything. A delisted one disappears the same way.

There is no synchronisation step and no membership to keep in step, because there is no stored membership: every request recomputes it. That has two consequences worth designing for from the start.

Products can vanish between two calls. That is normal operation, not an error. Treat a product missing from search as out of stock rather than as a failure, and you will never need a reconciliation job.

Prices are recomputed too. price.totalPrice comes from the designer’s current cost and your current margin schedule. Cache it for minutes, not days.

Every amount is a decimal

Every amount in this API — in requests and responses alike — is a decimal number in the response’s currency, with at most two decimal places. 1500 is €1,500.00 and 1815.5 is €1,815.50. Nothing here speaks cents, deliberately — a single unit everywhere is what keeps an integration from ending up wrong by a factor of a hundred.

The two credentials

DYJ issues your account two keys, and they are not interchangeable. Sending the wrong one here fails closed with a 401.

KeyLivesUsed for
dyj_sk_…
secret
Your server, onlyThis API
dyj_live_… publicBrowser, in your pageThe 3D viewer embed

See API keys for rotation and for what to do if your storefront is fully static.

Where to start