Quickstart
From nothing to a priced product list, in four steps.
1. Create a feed
In the DYJ dashboard, open Marketplace → Feeds and create one. A feed is a store connection: if you run several storefronts, or want different margins for a bridal line and an outlet, create several.
2. Add at least one rule
A rule says which products you want and what you charge for them. The two-step editor asks for the selection first — categories, a whole-euro cost band, whether a real photograph is required — and the margin schedule second.
Rules are ordered, and the first one that matches a product is the one that prices it. A broad rule sitting above a narrow one will quietly swallow it, so put your specific rules first.
3. Generate a secret key
Under My Account → Developer, generate a partner key. It is shown once. Store it wherever your server keeps secrets — never in your storefront’s JavaScript, and never in a repository.
4. Call the API
Your feed’s id is on its Integration tab. An empty body returns the whole first page.
curl -X POST https://api.dyj.one/v1/market/feeds/FEED_ID/items/search -H "Authorization: Bearer dyj_sk_..." -H "Content-Type: application/json" -d '{}'{
"items": [
{
"id": "2b0478f5-8ef3-41e0-9f1c-a0dcc9a2d993",
"title": "Colette solitaire",
"category": "ring",
"costMinor": 150000,
"retailMinor": 181500,
"currency": "EUR",
"matchedRuleId": 2,
"updatedAt": "2026-08-31T18:10:43.594543+00:00"
}
],
"nextCursor": null
}costMinor is what DYJ charges you to produce the piece. retailMinor is your selling price, computed by the rule named in matchedRuleId. Both are confidential to your account — no designer and no other business can see either.
Getting nothing back?
An empty items array with a 200 means your rules currently select nothing — not that anything failed. The usual causes are a cost band that no listed piece falls into, a category with no live products, or photoPolicy: required on a rule whose matches only have a 3D poster. Open the feed preview in your dashboard: it runs this exact query.