{
"id": 1234567,
"external_id": "abc",
"sku": "qwe",
"bar_code": "2131231123",
"supplier_code": "1234",
"additional_code": "INT-9876",
"type": "physical" / "variants",
"name": {
"__": "default name",
"sl": "Slovensko ime",
"de": "Deutsch-Namen",
...
},
"model": "abc",
"list_desc": {
"__": ...
},
"short_desc": {
"__": ...
},
"long_desc": {
"__": ...
},
"nodes": {
"brands": [1, 2, 3],
"categories": [4, 5, 6],
"pages": [6, 7, 8]
},
// Tax basis of the price fields in this response:
// - prices (p1/p2/p3) and the root "wholesale" follow the item's
// "tax_inclusive" flag — tax-included when true, net when false.
// - final_price is tax-INCLUSIVE.
// - all supplier prices (cost_price, list_price, wholesale_price and the
// supplier_items[] prices) are always tax-EXCLUSIVE (net).
"prices": {
"p1": 123.456,
"p2": 123.344,
"p3": 140.422
},
"discounts": {
"d1": 12.5,
"d2": 10.5,
"d3": 0
},
"external_supplier": true,
"final_price": 12.04,
// The selected supplier's prices, surfaced at the root immediately after
// final_price. (final_price is the item's effective selling price —
// supplier-derived when supplied, otherwise from the item's local price
// (p1/p2/p3, per the active price-field settings).) Emitted when the item
// has a "current" (selected) supplier item.
"current_supplier_id": 1,
"current_supplier_name": "Supplier 1",
"current_supplier_code": "suplier1_code", // selected supplier's user code; omitted when unset
"cost_price": 12, // selected supplier's cost price (NNC)
"list_price": 15, // selected supplier's list price (PPC)
"wholesale_price": 13, // selected supplier's wholesale price (VPC); omitted when unset
"wholesale": 12, // the item's own cost price (NNC); item-level, unrelated to the
// selected-supplier prices above — not the same as cost_price
"carry_over": false,
"suppliers": [{
"supplier_name": "Supplier 1",
"supplier_code": "suplier1_code",
"supplier_id": 1,
"supplier_items": [{
"nnc": 12, // cost price (legacy abbreviation kept)
"ppc": 15, // list price (legacy abbreviation kept)
"selling_price": 14, // MPC: price the retailer pays; omitted when not set
"wholesale_price": 13, // VPC: wholesale price; omitted when not set
"price_increase": 0.5, // per-unit markup over cost: selling_price = nnc + price_increase; may be negative; omitted when not set
"supplier_item_id": "1234",
"stock": 0,
"id": 1915638,
"item_id": 1234567,
"item_external_id": null
}]
},
{
"supplier_name": "Supplier 2",
"supplier_code": "supplier2_code",
"supplier_id": 2,
"supplier_items": [{
"nnc": 12.7,
"ppc": 16.2,
"selling_price": 14.9,
"wholesale_price": 13.4,
"price_increase": 0.5,
"supplier_item_id": "12345",
"stock": 25,
"id": 402250,
"item_id": 1234567,
"item_external_id": null
}]
},
{
...
}
],
// Aggregated description from all linked SupplierItems, joined with newlines.
"suppliers_combined_description": { "__": "Manufacturer notes …" },
"shipping_dimensions": {
"weight": 213,
"width": 511,
"height": 123,
"depth": 150
},
"stock_amount": 123,
"avail_in_days": 6,
"unit_of_sale": {
"__": "Pair",
"de": "Paar"
},
"sale_qty_minimum": 2
"sale_qty_maximum": 10,
"sale_qty_step": 2,
"sale_over_stock": true,
"tax_class_id": 56,
"tax_rate": 22,
// Whether the item's stored prices already include tax (boolean).
// Only emitted when the request carries store context.
"tax_inclusive": true,
// "preorder_cancelled" is emitted by the API but cannot be set on write
// (it is a system-managed state); all other values are also accepted on input.
"buyable": "no" / "yes" / "as_part_only" / "supplied" / "draft" / "archived" / "preorder" / "preorder_cancelled",
"default_buyable": "yes" / "as_part_only",
"date_created": "2019-08-15T23:06:36Z",
"date_updated": "2012-05-03T12:50:10.414Z",
"warranty_months": 12,
"variants_configuration": {
"chooser_type": "names" / "specs",
"chooser_specs": [{
"spec_id": 123,
"label_basket": {
"__": ...
},
"label_chooser": {
"__": ...
}
},
...
],
"sort_type": "BY_SPEC",
"spec_sort_options": {
"spec_id": 42, /* OR */
"spec_external_id": "abc"
"ascending": false
}
},
"images": {
"gallery": [1, 2, 3],
// Same gallery as IDs above but with full image metadata for each
// image. Emitted alongside "gallery" — consumers can pick either.
"gallery_full": [
{
"id": 1,
"width": 1200,
"height": 800,
"mime_type": "image/jpeg",
"description": { "__": "Front view" }, // optional, localized
"title": { "__": "..." } // optional, localized
},
...
],
"list": 5,
"variant_chooser": 6
},
"customization": {
"apply_after_discounts": true / false,
"pricing_steps": [
["key1", "key2"],
["key3"]
],
"options": [{
"key": "someKey",
"label": {
"__": ...
},
"label_basket": {
"__": ...
},
"required": true / false,
"icon_image_id": 123,
"type": "text",
"view_mode": "big" / "small",
"min_len": 10,
"max_len": 100,
"price_delta": {
"absolute": 123.45,
OR "percentage": 30.0,
OR "price_from_item": {
"mode": "ABSOLUTE" / "PER_UNIT",
"linked_item_id": 456,
"linked_item_quantity": 1.0,
"linked_item_ignore_discount": false,
"multiplier_spec_ids": [1, 2] // optional
},
"override_tax_class_id": 3 // optional, combinable with any of the above
}
},
{
"key": "someOtherKey",
"label": {
"__": ...
},
"label_basket": {
"__": ...
},
"required": true / false,
"icon_image_id": 123,
"type": "choices",
"view_mode": "listbox" / "radios" / "icons",
"min_allowed": 1,
"max_allowed": 15,
"choices": [{
"key": "...",
"label": {
"__": ...
},
"colors": [...],
"icon_image_id": 100,
"price_delta": {
"absolute": 123.45,
OR "percentage": 30.0,
OR "price_from_item": { ... },
"override_tax_class_id": 3 // optional
}
},
{
...
}
],
"pricing_steps": [
["key1", "key2"],
["key3"]
]
}
]
},
"sys_tags": ["a", "b", "c"],
"seo_data": {
"description": {
"__": "..."
},
"keywords": {
"__": "..."
},
"custom_meta_tags": [{
"name": "abc",
"content": {
"__": ...
}
},
{
"property": "def",
"content": {
"__": ...
}
}
]
},
"external_buy_settings": {
"type": "link" / "form",
"target_url": {
"__": ...
},
"label": {
"__": ...
},
"quantity_field_name": {
"__": ...
},
"buy_button_image_id": {
"__": 123,
...
},
"hidden_values": [{
"name": {
"__": ...
},
"value": {
"__": ...
}
},
...
]
},
"extra_search_kws": {
"__": "abc",
...
},
"generic_data": {
"images": {
"key": {
"__": 5
},
"key2": {
"__": 6
}
},
"strings": {
"key": {
"__": "foo"
}
}
},
"specs": {
// Default ("compact") shape — ids only. To delete a spec value on
// write, set the entry to null (e.g. "spec5": null).
// To get an enriched response shape, pass ?label_specs (or
// ?label_specs=true) on GET — see the alternate "values" block
// below.
"values": {
"spec1": {
"choice_id": 12
},
"spec2": {
"number": 123.456
},
"spec3": {
"string": {
"__": "abc"
}
},
"spec4": {
"boolean": true
},
"spec5": null // delete (write only)
},
// Alternate shape when reading with ?label_specs=true.
// Each value entry embeds the spec metadata under "spec" and the
// selected choice(s) under "choice" (replacing "choice_id").
// numeric/text/boolean entries keep their value field unchanged
// and just gain the "spec" sub-object. The "layout" array is
// unchanged. Write paths still use the compact shape above.
/*
"values": {
"spec1": {
"spec": {
"id": 1, "external_id": "color", "type": "choice",
"name": { "__": "Color" }, "hidden": false
},
"choice": {
"id": 12, "value": { "__": "Blue" },
"external_id": "blue"
}
},
"spec1b": {
"spec": { "id": 7, "type": "multi_choice", ... },
"choice": [
{ "id": 51, "value": { "__": "Cotton" } },
{ "id": 52, "value": { "__": "Polyester" } }
]
},
"spec2": {
"spec": { "id": 2, "type": "numeric", "name": { "__": "Weight" }, "unit": "kg", ... },
"number": 123.456
},
"spec3": {
"spec": { "id": 3, "type": "text", ... },
"string": { "__": "abc" }
},
"spec4": {
"spec": { "id": 4, "type": "boolean", ... },
"boolean": true
}
},
*/
"layout": [{
"spec_id": 1
},
{
"spec_id": 2
},
{
"group_name": {
"__": ...
},
"parts": [{
"spec_id": 3
},
{
"spec_id": 4
},
// recursive ...
]
},
{
"spec_id": 5
}
]
},
"related_items": [
1497, 1523, 1678
],
// For container items (type: "variants"): the variants this item contains.
variant_members: [
{
id: 2785,
bar_code: '5420007148720',
sku: '4384',
external_id: '15623',
order_weight: 4
},
{
id: 1839,
bar_code: '5420007142551',
sku: '3091',
external_id: '14464',
order_weight: 2
},
{
...
}
],
// For variant items (type: "physical" that belongs to a container):
// the container item(s) this variant belongs to. Mutually exclusive
// with variant_members in practice — a given response has one or the other.
"variant_containers": [
{
"id": 1199,
"bar_code": "5420007140000",
"sku": "PARENT-1",
"external_id": "1199",
"order_weight": 0
},
...
],
"warehouses": [
{
"warehouse_id": 1,
"warehouse_stock": 100
},
{
...
}
]
}