Skip to content

Products

GET /products

Returns list of all products

Required scopes: products

VERSIONING

Be aware: V6 inherits and adds onto V7. This enpoint show big inconsistencies between version. Check the serializers when in doubt.

GET Params

param type/format required sample value description
limit integer false 40 default and max value: 40
page integer false 10 page number
in_shop boolean false true Default: false. Products that are published in the e-shop
search string false blue Search products. HEADSUP: Search returns duplicates which also affects the totaltoo.
sort string false price For sorting results based on attribute value. Only in V6.
filter string false reorder Options:reorder, safety. Only in V6 . It will filter the product list by item with stock below reorder level or safety stock.

Request

curl -X GET \
  'https://app.inventorum.com/api/products/?limit=10&page=1' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'X-Api-Version: 12'

Response

{
    "total": 72267,
    "data": [
        {
            "name": "00001 Drink",
            "id": 12544049,
            "quantity": "150.00",
            "reorder_level": "0.00",
            "safety_stock": "0.00",
            "price": "4.2016806723",
            "tax_type": 4672,
            "custom_price": false,
            "ebay_product_id": null,
            "ebay_url": null,
            "in_shop": false,
            "shop_url": null,
            "thumbnail": {
                "ipad": "http://app.inventorum.com/uploads/1627/product/....ipad.png",
                "thumb": "http://app.inventorum.com/uploads/1627/product/....thumb.png",
                "image": "http://app.inventorum.com/uploads/1627/product/....ipad.png",
                "ipad_retina": "http://app.inventorum.com/uploads/1627/product/....ipad_retina.png",
                "ebay": "http://app.inventorum.com/uploads/1627/product/....ebay.png",
                "thumb_retina": "http://app.inventorum.com/uploads/1627/product/...thumb_retina.png",
                "original": "http://app.inventorum.com/uploads/1627/product/....original.png",
                "new": true,
                "id": -217514
            },
            "variation_count": 4,
            "is_giftcard": false,
            "gross_price": "5.00",
            "ean": "",
            "inv_id": "612689785305669070",
            "reorder_level_reached": true,
            "safety_stock_reached": true,
            "min_gross_price": "5.00",
            "max_gross_price": "5.00"
        },
        ...
    ]
}

POST /products

Creates a product.

Required scopes: products

For clarity, this endpoint will be described divided into two sections - product without variants and product with variants.

param type/format required sample value description
name string true "Shoes" Product name
tax_type integer true 7122 ID of an existing tax rate.
quantity float false 59 Initial stock.
reorder_level float false 10 Stock level where the app will signal that you should reorder the goods. Default: 0.
safety_stock float false 5 Stock level where the app will signal that you're running out of stock. Default: 0
price float false 25.99 Net price, base for all calculations. gross_price = price + (price * tax_rate)
purchase_price float false 15.50 Wholesale price.
custom_price boolean false false With this option set to true, in POS app you can override the regular price. Default: false
product_code string false "112123" Product identifier of your choice.
ean String false "78687868" Product identifier of your choice.
attributes false {"color": ["pink"],"size": ["S"]} Can contain 3 keys: "color", "weight", "size". Each key is optional.
categories[{id}] false "categories": [{"id": 111}] List of existing categories you would like to assign the product to.
images[] images[{"id": 100, "new": true}] List of existing images that you would like to associate the product with.
package_size_value float false 1.5 Size of a product package.
package_size_unit string false "ml" Available options: 'ml', 'l', 'g', 'kg', 'm', 'm2', 'm3', 'pc'

Required headers:

  • Content-Type: application/json;charset=UTF-8
  • Accept: application/json, text/plain, */*

VERSIONING

This endpoint supports 2 versions: 7 and 8. V8 offers following additional fileds:

  • images
  • variations
  • meta

1) Product without variants

Request

curl -X POST \
  https://app.inventorum.com/api/products/ \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'X-Api-Version: 12' \
  -d '{
    "quantity":200,
    "reorder_level":75,
    "safety_stock":50,
    "purchase_price":10.50,
    "name":"Pink t-shirt",
    "brand":"Nike",
    "tax_type":59342,
    "categories":[{"id":90302}],
    "price":100,
    "attributes":{
    "weight":["1"],
    "size":["S"],
    "color":["pink"]
    },
    "product_code":"22222222222222",
    "ean":"121312121212",
    "images":[{
    "id":751315,
    "new":true
    }],
    "package_size_value":"1",
    "package_size_unit":"pc"
}'

Response

{
    "attributes": {
        "color": [
            "pink"
        ],
        "weight": [
            "1"
        ],
        "size": [
            "S"
        ]
    },
    "name": "Pink t-shirt",
    "id": 13388386,
    "quantity": "200.00",
    "reorder_level": "75.00",
    "safety_stock": "50.00",
    "price": "100",
    "tax_type": 59342,
    "custom_price": false,
    "ebay_product_id": null,
    "ebay_url": null,
    "in_shop": false,
    "shop_url": null,
    "thumbnail": {
        "ipad": "http://app.inventorum.com/uploads/1627/product/....ipad.png",
        "thumb": "http://app.inventorum.com/uploads/1627/product/....thumb.png",
        "image": "http://app.inventorum.com/uploads/1627/product/....ipad.png",
        "ipad_retina": "http://app.inventorum.com/uploads/1627/product/....ipad_retina.png",
        "ebay": "http://app.inventorum.com/uploads/1627/product/....ebay.png",
        "thumb_retina": "http://app.inventorum.com/uploads/1627/product/....thumb_retina.png",
        "original": "http://app.inventorum.com/uploads/1627/product/....original.png",
        "new": true,
        "id": -751315
    },
    "variation_count": 0,
    "variations": [],
    "average_purchase_price": "10.5",
    "description": "",
    "product_code": "22222222222222",
    "ean": "121312121212",
    "categories": [
        {
            "parent": null,
            "is_leaf": true,
            "hint": "Alben",
            "tree_id": 58005,
            "id": 90302,
            "channel": null,
            "translations": [
                {
                    "name": "Alben",
                    "language": "de",
                    "id": null
                }
            ],
            "image": null,
            "name": "Alben",
            "products_count": 233,
            "products": [
                13388386
            ]
        }
    ],
    "images": [
        {
            "id": 751315,
            "urls": {
                "ipad": "https://app.inventorum.com/uploads/1627/product/...ipad.png",
                "thumb": "https://app.inventorum.com/uploads/1627/product/...thumb.png",
                "image": "https://app.inventorum.com/uploads/1627/product/...ipad.png",
                "ipad_retina": "https://app.inventorum.com/uploads/1627/product/...ipad_retina.png",
                "ebay": "https://app.inventorum.com/uploads/1627/product/...ebay.png",
                "thumb_retina": "https://app.inventorum.com/uploads/1627/product/...thumb_retina.png",
                "original": "https://app.inventorum.com/uploads/1627/product/...original.png"
            },
            "type": 0,
            "new": true
        }
    ],
    "custom_sale": false,
    "shipping_services": [],
    "is_favourite": false,
    "brand": "Nike",
    "supplier": "",
    "meta": {},
    "is_giftcard": false,
    "gross_price": "195.00",
    "purchase_price": "10.5",
    "states": [],
    "attributes_str": "S, pink, 1",
    "inv_id": "612746191473171482",
    "package_size_value": "1",
    "package_size_unit": "pc",
    "base_price": "195.00",
    "base_size_value": "1",
    "base_size_unit": "pc"
}

Error

Status 400 Bad Request
{
    "error": {
        "fields": {
            "tax_type": [
                "This field is required."
            ],
            "name": [
                "This field is required."
            ]
        },
        "description": "Serialization error",
        "key": "common.serializer_error"
    }
}

2) Product with variants

VERSIONING

Only supports API version V8.

Note

  • quantity for the parent product is equal the sum of quantities of variants
  • safety_stock and reorder_level fields in parent product are populated with values from first variant
  • inv_id is generated only per parent product
  • tax_type needs to be provided for all variants and parent product. It has to be the same value.

Request

curl -X POST \
  https://app.inventorum.com/api/products/ \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Version: 12' \
  -d '{
    "name": "T-shirt",
    "tax_type": 60396,
    "price": 145.00,
    "brand": "nike",
    "variations": [
        {
            "attributes": {
                "size": "22",
                "color": "Red",
                "material": "Denim"
            },
            "price": 140.00,
            "quantity": 30,
            "safety_stock": 45,
            "reorder_level": 40,
            "purchase_price": 15.99,
            "tax_type": 60396,
            "ean": "11111",
            "product_code": "99999",
            "package_size_value": 1,
            "package_size_unit": "pc"
        },
        {
            "images":[{
    "id":780792,
    "new":true
    }],
            "attributes": {
                    "size": "50",
                    "color": "Blue",
                    "material": "Leather"
            },
            "quantity": 150,
            "safety_stock": 5,
            "reorder_level": 10,
            "purchase_price": 17.99,
            "price": 100,
            "tax_type": 60396,
            "ean": "2222222",
            "product_code": "8888888",
            "package_size_value": 1,
            "package_size_unit": "pc"
        }
    ]
}'

Note

The name of the product variant is the joined string of the product name and the attributes values, which is probably just a bug that we have for years now. That is maybe also in the delta endpoints

Response

{
    "attributes": {},
    "name": "T-shirt",
    "id": 13825787,
    "quantity": "180.00",
    "reorder_level": "40.00",
    "safety_stock": "45.00",
    "price": "145.0",
    "tax_type": 60396,
    "custom_price": false,
    "ebay_product_id": null,
    "ebay_url": null,
    "in_shop": false,
    "shop_url": null,
    "thumbnail": {
        "ipad": "http://app.inventorum.com/uploads/20469/product/...ipad.png",
        "thumb": "http://app.inventorum.com/uploads/20469/product/...thumb.png",
        "image": "http://app.inventorum.com/uploads/20469/product/...ipad.png",
        "ipad_retina": "http://app.inventorum.com/uploads/20469/product/...ipad_retina.png",
        "ebay": "http://app.inventorum.com/uploads/20469/product/...ebay.png",
        "thumb_retina": "http://app.inventorum.com/uploads/20469/product/...thumb_retina.png",
        "original": "http://app.inventorum.com/uploads/20469/product/...original.png",
        "new": true,
        "id": -780792
    },
    "variation_count": 2,
    "variations": [
        {
            "id": 13825788,
            "attributes": {
                "color": [
                    "Red"
                ],
                "material": [
                    "Denim"
                ],
                "size": [
                    "22"
                ]
            },
            "quantity": "30.00",
            "reorder_level": "40.00",
            "safety_stock": "45.00",
            "ean": "11111",
            "price": "140.0000000000",
            "product_code": "99999",
            "tax_type": 60396,
            "name": "T-shirt, 22, Red, Denim",
            "images": [],
            "meta": {},
            "gross_price": "166.60",
            "purchase_price": "15.99",
            "average_purchase_price": "15.99",
            "attributes_str": "22, Red, Denim",
            "inv_id": null,
            "package_size_value": "1.000",
            "package_size_unit": "pc",
            "base_price": "166.60",
            "base_size_value": "1",
            "base_size_unit": "pc",
            "is_giftcard": false
        },
        {
            "id": 13825789,
            "attributes": {
                "color": [
                    "Blue"
                ],
                "material": [
                    "Leather"
                ],
                "size": [
                    "50"
                ]
            },
            "quantity": "150.00",
            "reorder_level": "10.00",
            "safety_stock": "5.00",
            "ean": "2222222",
            "price": "100.0000000000",
            "product_code": "8888888",
            "tax_type": 60396,
            "name": "T-shirt, 50, Blue, Leather",
            "images": [
                {
                    "id": 780792,
                    "urls": {
                        "ipad": "https://app.inventorum.com/uploads/20469/product/...ipad.png",
                        "thumb": "https://app.inventorum.com/uploads/20469/product/...thumb.png",
                        "image": "https://app.inventorum.com/uploads/20469/product/...ipad.png",
                        "ipad_retina": "https://app.inventorum.com/uploads/20469/product/...ipad_retina.png",
                        "ebay": "https://app.inventorum.com/uploads/20469/product/...ebay.png",
                        "thumb_retina": "https://app.inventorum.com/uploads/20469/product/...thumb_retina.png",
                        "original": "https://app.inventorum.com/uploads/20469/product/...original.png"
                    },
                    "type": 0,
                    "new": true
                }
            ],
            "meta": {},
            "gross_price": "119.00",
            "purchase_price": "17.99",
            "average_purchase_price": "17.99",
            "attributes_str": "50, Blue, Leather",
            "inv_id": null,
            "package_size_value": "1.000",
            "package_size_unit": "pc",
            "base_price": "119.00",
            "base_size_value": "1",
            "base_size_unit": "pc",
            "is_giftcard": false
        }
    ],
    "average_purchase_price": "0",
    "description": "",
    "product_code": null,
    "ean": null,
    "categories": [],
    "images": [],
    "custom_sale": false,
    "shipping_services": [],
    "is_favourite": false,
    "brand": "nike",
    "supplier": "",
    "meta": {},
    "is_giftcard": false,
    "gross_price": "172.55",
    "purchase_price": "0",
    "states": [],
    "attributes_str": "",
    "inv_id": "612762878458692247",
    "package_size_value": null,
    "package_size_unit": null,
    "base_price": null,
    "base_size_value": null,
    "base_size_unit": null
}

Error

Status 400 Bad Request
{
    "error": {
        "fields": {
            "tax_type": [
                "This field is required."
            ],
            "name": [
                "This field is required."
            ]
        },
        "description": "Serialization error",
        "key": "common.serializer_error"
    }
}

GET /products/delta/modified

Returns list of all products modified since defined date

Required scopes: products

param type/format required sample value description
start_date YYYY-MM-DDTHH:mm:ss.sssZ false 2018-01-25T15:00:56.643Z Simplified extended ISO format (ISO 8601). The timezone is zero UTC offset, as denoted by the suffix "Z".
limit integer false 40 default and max value: 100
page integer false 10 page number
verbose boolean false true Default: false. If set to true it will return these additional fields: meta, images, publish_states.
order_by string false name,-id Sort results by given fields. Seprate fields by ,. To sort descending add - before field name: -name.

Request

curl -X GET \
  'https://app.inventorum.com/api/products/delta/modified/?start_date=2016-12-21T11:32:26.341Z&limit=100&page=1' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_token}}' \

Response

{
    "total": 200,
    "data": [
        {
            "name": "Example product",
            "id": 12980855,
            "quantity": "13.00",
            "reorder_level": "5.00",
            "safety_stock": "0.00",
            "price": "0.5042016807",
            "tax_type": 59105,
            "custom_price": false,
            "ebay_product_id": null,
            "ebay_url": null,
            "in_shop": false,
            "shop_url": null,
            "thumbnail": null,
            "variation_count": 0,
            "is_giftcard": false,
            "gross_price": "0.60",
            "ean": "400000000",
            "inv_id": "612743774036966711",
            "state": "created",
            "parent": null,
            "custom_sale": false,
            "categories": [
                {
                    "id": 159381,
                    "hint": "Schulhefte",
                    "name": "Schulhefte"
                }
            ],
            "attributes_str": "",
            "description": "Lorem ipsum",
            "product_code": "V47514",
            "attributes": {},
            "brand": "Venceremos BUND",
            "average_purchase_price": "0.27"
        }
    ]
}

GET /products/delta/deleted

Returns list of all products deleted since defined date

Required scopes: products

param type/format required sample value description
start_date YYYY-MM-DDTHH:mm:ss.sssZ ±YYYYYY-MM-DDTHH:mm:ss.sssZ false 2018-01-25T15:00:56.643Z Simplified extended ISO format (ISO 8601). The timezone is zero UTC offset, as denoted by the suffix "Z".
limit integer false 40 default and max value: 1000
page integer false 10 page number
order_by string false name,-id Sort results by given fields. Seprate fields by ,. To sort descending add - before field name: -name.

Request

curl -X GET \
  'https://app.inventorum.com/api/products/delta/deleted/?start_date=2016-12-21T11:32:26.341Z&limit=100&page=1' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_tioken}}' \

Response

{
    "total": 3,
    "data": [
        13344583,
        13344584,
        13344585
    ]
}

GET /products/{product_id}

Returns details of a specified product.

VERSIONING

Supported versions: 7, 8, 10.
The response object might differ greatly with every version. Make sure to double check the serializers in the source code.
V8 and V10 use different images and meta serializers than V7.
V7, V8, V10 use different variationsserilaizers.

Required scopes: products Required headers: X-Api-Version: 10

Request

curl -X GET \
  https://app.inventorum.com/api/products/12846584/ \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'X-Api-Version: 12'

Response fields

parent object field type source sample value description
attributes color, weight, size string user input "color": ["Red"] Product attributes. Also, they can determine variants, but the uniqueness is not validated, so be careful when adding them.
name string user input "T-shirt" Name of the product, displayed in the POS, Backoffice and channels.
brand string user input "Nike" Brand of the product.
supplier string user input "Some wholesaler" Supplier of the product.
quantity string user input / generated "500" Quantity for product without variants is taken from user input. In case of variants, the parent product quantity is a sum of variant quantities provided during product creation.
reorder_level string user input "250" In case of product with variants, field in parent product are populated with values from first variant.
safety_stock string user input "200" In case of product with variants, field in parent product are populated with values from first variant.
price string user input "15.99"
tax_type integer user input 7123 ID of an existing tax rate.
custom_price boolean user input false If this is set to true, the price in POS app can be overridden by the clerk. Default: false
ebay_product_id string generated ID on Ebay
ebay_url string generated Link to ebay page of the product.
in_shop boolean generated If true, the product is published on the online shop. Can be changed with publishing endpoint.
shop_url string generated Link to online shop product page.
thumbnail ipad, thumb, image, ipad_retina, ebay, thumb_retina, original string generated Links to images generated from uploaded original image for different resolutions.
thumbnail new boolean user input true Always true.
thumbnail id id user input -702003 ID of image existing in the system.
variation_count integer generated Number of variations.
is_giftcard boolean user input false If true, the product is a giftcard. Default: false.
custom_sale boolean user_input false If true, the product was created ad hoc in POS in checkout. Custom sales are not visible in regular /products endpoint, but are present in /products/delta/modified.
is_favourite boolean user_input false You can mark a product as a favourite, so that it can be displayed under a favourites filter in POS app.
gross_price string generated Value of price with tax.
product_code string user_input "22343432" Your own way of distinguishing products. Is not validated for uniqueness.
ean string user input "2732232" Your own way of distinguishing products. Is not validated for uniqueness.
inv_id string generated Generated from timestamp of product creation date.
reorder_level_reached boolean generated If quantity is equal or less than reorder level, the value is true.
safety_stock_reached boolean generated If quantity is equal or less than safety stock level, the value is true.
min_gross_price string generated If product has variants, this equals to the gross price of the cheapest variant.
max_gross_price string generated If product has variants, this equals to the gross price of the most expensive variant.
attributes_str string generated String created as a concatenation of attributes, separated by a coma.
package_size_value string user input "10" Size of a product package, e.g. how many items are in a package.
package_size_unit string user input Unit of a package.
base_price generated Price per item. Example: if a package has 3 pieces in a package, the base price would be equal price divided by 3.
base_size_value generated If package size is present, the value is 1.
base_size_unit generated If package_size_unit is a mass unit, the value would be kilogram, if it's a volume unit, the value would be litre and if it's the other kind, the base_size_unit will be equal package_size_unit
purchase_price float user input 15.87 Purchase price of the original stock.
average_purchase_price string generated Calculated as average of purchase prices for different stock adjustments.
categories See details in /categories endpoints
images See details in /images endpoint
meta: shop, ipad,... channel, description, gross_price, images, name, price generated / user input Structure of channels is generated per variant, but field values can be updated so that you can have different values per channel.
states channel generated States inform about publishing state in different channels. If channel is not activated in settings, it won't be present in this object. List of available channels: shop, ipad, ebay, ece, click_and_collect, atalanda.
states state generated State can be 'published' or 'unpublished'.

Response

{
    "attributes": {},
    "name": "00001 Club Mate_",
    "id": 12544049,
    "quantity": "150.00",
    "reorder_level": "0.00",
    "safety_stock": "0.00",
    "price": "4.2016806723",
    "tax_type": 4672,
    "custom_price": false,
    "ebay_product_id": null,
    "ebay_url": null,
    "in_shop": false,
    "shop_url": null,
    "thumbnail": {
        "ipad":
        "https://app.inventorum.com/uploads/1627/product/...ipad.png",
        ...
        "new": true,
        "id": -217514
    },
    "variation_count": 4,
    "variations": [
        {
            "id": 5977221,
            "attributes": {
                "color": [
                    "Red"
                ]
            },
            "quantity": "38.00",
            "reorder_level": "0.00",
            "safety_stock": "0.00",
            "ean": "",
            "price": "4.2016806723",
            "product_code": null,
            "tax_type": 4672,
            "name": "00001 Club Mate_, Red",
            "images": [
                {
                    "id": 217514,
                    "urls": {
                        "ipad": "https://app.inventorum.com/uploads/1627/product/...ipad.png",
                        ...
                    },
                    "type": 0,
                    "new": true
                }
                ...
            ],
            "meta": {
                "shop": {
                    "channel": 4,
                    "description": null,
                    "gross_price": null,
                    "id": 1380378,
                    "images": null,
                    "name": "00001 Club Mate_, Red",
                    "price": null
                },
                ...
            },
            "gross_price": "5.00",
            "purchase_price": "0",
            "average_purchase_price": "0",
            "attributes_str": "Red",
            "inv_id": null,
            "package_size_value": "0.500",
            "package_size_unit": "l",
            "base_price": "10.00",
            "base_size_value": "1",
            "base_size_unit": "l",
            "is_giftcard": false
        },
        {
            "id": 12544050,
            ...
        },

    ],
    "average_purchase_price": "0",
    "description": "<a href=\"http://www.gmx.de\"> Link </a>",
    "product_code": null,
    "ean": "",
    "categories": [
        {
            "parent": null,
            "is_leaf": true,
            "hint": "Drinks",
            "tree_id": 39710,
            "id": 43104,
            "channel": null,
            "translations": [
                {
                    "name": "Drinks",
                    "language": "de",
                    "id": null
                }
            ],
            "image": null,
            "name": "Drinks",
            "products_count": 4,
            "products": [
                2286411,
                2286412,
                2286413,
                12726873
            ]
        }
    ],
    "images": [
        {
            "id": 217514,
            "urls": {
                "ipad": "https://app.inventorum.com/uploads/1627/product/...ipad.png",
                ...
            },
            "type": 0,
            "new": true
        },
        ...
    ],
    "custom_sale": false,
    "shipping_services": [],
    "is_favourite": false,
    "brand": "",
    "supplier": "",
    "meta": {
        "shop": {
            "channel": 4,
            "description": null,
            "gross_price": null,
            "id": 4145396,
            "images": null,
            "name": null,
            "price": null
        },
        ...
    },
    "is_giftcard": false,
    "gross_price": "5.00",
    "purchase_price": "0",
    "states": [
        {
            "channel": "shop",
            "details": null,
            "state": "unpublished"
        }
    ],
    "attributes_str": "",
    "inv_id": "612689785305669070",
    "package_size_value": "0.500",
    "package_size_unit": "l",
    "base_price": "10.00",
    "base_size_value": "1",
    "base_size_unit": "l"
}

Error

Status: 404 Not found
{
    "error": {
        "fields": {},
        "description": null,
        "key": "product.not_found"
    }
}

PUT /products/{product_id}/ (without variants)

Update a product without variants.

VERSIONING

For best results use endpoint version 7.

Required scopes: products

Note: To update data, send in request body only the fields to update.

object field type sample value description
attributes size, color, ... string "color": ["Red"],"material": ["Denim"],"size": ["22"] Product attributes. Also, they can determine variants, but the uniqueness is not validated, so be careful when adding them. The attributes need to be the same for all variants and the parent product.
name string "T-shirt" Name of the product, displayed in the POS, Backoffice and channels.
brand string "Nike" Brand of the product.
supplier string "Some wholesaler" Supplier of the product.
quantity float 500 Quantity for product without variants is taken from user input. In case of variants, the parent product quantity is a sum of variant quantities provided during product creation.
reorder_level float 250 In case of product with variants, field in parent product are populated with values from first variant.
safety_stock float 200 In case of product with variants, field in parent product are populated with values from first variant.
price float 15.99
tax_type integer 7123 ID of an existing tax rate.
custom_price boolean false If this is set to true, the price in POS app can be overridden by the clerk. Default: false
is_giftcard boolean false If true, the product is a giftcard. Default: false.
custom_sale boolean false If true, the product was created ad hoc in POS in checkout. Custom sales are not visible in regular /products endpoint, but are present in /products/delta/modified.
is_favourite boolean false You can mark a product as a favourite, so that it can be displayed under a favourites filter in POS app.
product_code string "22343432" Your own way of distinguishing products. Is not validated for uniqueness.
ean string "2732232" Your own way of distinguishing products. Is not validated for uniqueness.
package_size_value string "10" Size of a product package, e.g. how many items are in a package.
package_size_unit string "pc" Unit of a package.
purchase_price float 15.87 Purchase price of the original stock.
categories id integer 1231 ID of existing category
images id, new {"id": 12321, "new": true} ID of existing image, new is always true.
meta: shop, atalanda, click_and_collect, ebay description string "Special description for specific channel" Structure of channels is generated per variant, but field values can be updated so that you can have different values per channel.
meta images {"id": 12321, "new": true} Special images per channel. If empty, they're taken from product.
meta name string "T-shirt for ebay" Special name per channel. If empty, it's taken from product.
meta price float 159 Special price per channel. If empty, it's taken from product.

Required headers:

  • Accept: application/json
  • Content-Type: application/json

Request

curl -X PUT \
  https://app.inventorum.com/api/products/4094157/ \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Version: 12' \
  -d '{
    "attributes": {
        "color": [
            "blue"
        ],
        "material": [
            "Denim"
        ],
        "size": [
            "SM"
        ]
    },
    "name": "T-shirt",
    "quantity": 200,
    "reorder_level": 100,
    "safety_stock": 50,
    "price": 155.89,
    "tax_type": 11500,
    "custom_price": false,
    "variations": [],
    "description": "This is the product description",
    "product_code": "TS-128y982137",
    "ean": "aaggagga",
    "categories": [{"id": 56130}],
    "images": [
        {"id": 763102, "new": true}
    ],
    "custom_sale": false,
    "brand": "NIKE",
    "supplier": "Wholesaler inc.",
    "is_giftcard": false,
    "purchase_price": 105,
    "package_size_value": 1,
    "package_size_unit": "pc",
        "meta": {
        "atalanda": {
            "description": "atalanda desc",
            "id": 4586506,
            "name": "atalanda name",
            "price": 203
        },
        "shop": {
            "description": "shop desc",
            "name": "shop name",
            "price": 204
        },
        "click_and_collect": {
            "description": "click desc",
            "name": "click name",
            "price": 205
        },
        "ebay": {
            "description": "ebay desc",
            "images": [{"id": 763101, "new": true}],
            "name": "ebay name",
            "price": 200
        }
    }
}'

Response

{
    "attributes": {
        "color": [
            "blue"
        ],
        "material": [
            "Denim"
        ],
        "size": [
            "SM"
        ]
    },
    "name": "T-shirt",
    "id": 4094157,
    "quantity": "200.00",
    "reorder_level": "100.00",
    "safety_stock": "50.00",
    "price": "155.89",
    "tax_type": 11500,
    "custom_price": false,
    "ebay_product_id": null,
    "ebay_url": null,
    "in_shop": false,
    "shop_url": null,
    "thumbnail": {
        "ipad": "http://app.inventorum.com/uploads/4158/product/a3/14/c3/49/cd/a2/18/52/92/1a/12/a5/3a/8b/61/a314c349cda21852921a12a53a8b6131.ipad.png",
        ...
        "new": true,
        "id": -763102
    },
    "variation_count": 0,
    "variations": [],
    "average_purchase_price": "0",
    "description": "This is the product description",
    "product_code": "TS-128y982137",
    "ean": "aaggagga",
    "categories": [
        {
            "parent": null,
            "is_leaf": true,
            "hint": "Accessoires",
            "tree_id": 45973,
            "id": 56130,
            "channel": null,
            "translations": [
                {
                    "name": "Accessoires",
                    "language": "de",
                    "id": null
                }
            ],
            "image": null,
            "name": "Accessoires",
            "products_count": 23,
            "products": [
                4094157,
                ...
            ]
        }
    ],
    "images": [
        {
            "id": 763102,
            "urls": {
                "ipad": "https://app.inventorum.com/uploads/4158/product/a3/14/c3/49/cd/a2/18/52/92/1a/12/a5/3a/8b/61/a314c349cda21852921a12a53a8b6131.ipad.png",
                ...
            },
            "type": 0,
            "new": true
        }
    ],
    "custom_sale": false,
    "shipping_services": [],
    "is_favourite": false,
    "brand": "NIKE",
    "supplier": "Wholesaler inc.",
    "meta": {
        "shop": {
            "channel": 4,
            "description": "shop desc",
            "gross_price": "242.76",
            "id": 4587308,
            "images": null,
            "name": "shop name",
            "price": "204.0000000000"
        },
        ...

    },
    "is_giftcard": false,
    "gross_price": "185.51",
    "purchase_price": "0",
    "states": [],
    "attributes_str": "SM, blue, Denim",
    "inv_id": "612672236550287870",
    "package_size_value": "1",
    "package_size_unit": "pc",
    "base_price": "185.51",
    "base_size_value": "1",
    "base_size_unit": "pc"
}

Error

Status 400 Bad Request
{
    "error": {
        "fields": {
            "tax_type": [
                "Invalid tax"
            ]
        },
        "description": "Serialization error",
        "key": "common.serializer_error"
    }
}

PUT /products/{product_id}/ (with variants)

Update a product with variants

VERSIONING

For best results use endpoint version 7.

Required scopes: products

Note: To update data, send in request body only the fields to update.

object field type sample value description
attributes size, color, material, fabric, cut, finish, fit, flavor, fragrance, length, model, package, pattern string "color": ["Red"],"material": ["Denim"],"size": ["22"] Product attributes. Also, they can determine variants, but the uniqueness is not validated, so be careful when adding them. The attributes need to be the same for all variants and the parent product.
name string "T-shirt" Name of the product, displayed in the POS, Backoffice and channels.
brand string "Nike" Brand of the product.
supplier string "Some wholesaler" Supplier of the product.
quantity float 500 Quantity for product without variants is taken from user input. In case of variants, the parent product quantity is a sum of variant quantities provided during product creation.
reorder_level float 250 In case of product with variants, field in parent product are populated with values from first variant.
safety_stock float 200 In case of product with variants, field in parent product are populated with values from first variant.
price float 15.99
tax_type integer 7123 ID of an existing tax rate.
custom_price boolean false If this is set to true, the price in POS app can be overridden by the clerk. Default: false
is_giftcard boolean false If true, the product is a giftcard. Default: false.
custom_sale boolean false If true, the product was created ad hoc in POS in checkout. Custom sales are not visible in regular /products endpoint, but are present in /products/delta/modified.
is_favourite boolean false You can mark a product as a favourite, so that it can be displayed under a favourites filter in POS app.
product_code string "22343432" Your own way of distinguishing products. Is not validated for uniqueness.
ean string "2732232" Your own way of distinguishing products. Is not validated for uniqueness.
package_size_value string "10" Size of a product package, e.g. how many items are in a package.
package_size_unit string "pc" Unit of a package.
purchase_price float 15.87 Purchase price of the original stock.
categories id integer 1231 ID of existing category
images id, new {"id": 12321, "new": true} ID of existing image, new is always true.
meta: shop, atalanda, click_and_collect, ebay description string "Special description for specific channel" Structure of channels is generated per variant, but field values can be updated so that you can have different values per channel.
meta images {"id": 12321, "new": true} Special images per channel. If empty, they're taken from product.
meta name string Special name per channel. If empty, it's taken from product.
meta price float 159 Special price per channel. If empty, it's taken from product.

Required headers: 'Accept: application/json', 'Content-Type: application/json'

Request

curl -X PUT \
  https://app.inventorum.com/api/products/13417182/ \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Version: 12' \
  -d '{
  "attributes":{

  },
  "name":"Pink t-shirt",
  "price":235,
  "tax_type":11500,
  "custom_price":false,
  "variations":[
    {
      "attributes":{
        "color":[
          "pink"
        ],
        "weight":[
          "1"
        ],
        "size":[
          "S"
        ]
      },
      "quantity":300,
      "reorder_level":70,
      "safety_stock":55,
      "ean":"121312121212",
      "price":155,
      "product_code":"22222222222222",
      "images":[
        {
          "id":223634,
          "new":true
        }
      ],
      "meta":{
        "atalanda":{
          "description":"atalanda var1",
          "tax_type":11500,
          "images":null,
          "price":110
        },
        "shop":{
          "description":"shop var1",
          "tax_type":11500,
          "images":null,
          "price":100
        },
        "click_and_collect":{
          "description":"click var1",
          "tax_type":11500,
          "images":null,
          "price":150
        },
        "ebay":{
          "description":"ebay var1",
          "tax_type":11500,
          "images":null,
          "price":200
        }
      },
      "purchase_price":10.5,
      "package_size_value":1,
      "package_size_unit":"pc",
      "is_giftcard":false,
      "tax_type":11500
    },
    {
      "attributes":{
        "color":[
          "blue"
        ],
        "weight":[
          "20"
        ],
        "size":[
          "L"
        ]
      },
      "quantity":1500,
      "reorder_level":175,
      "safety_stock":150,
      "ean":"121312121212",
      "price":100,
      "product_code":"22222222222222",
      "images":[

      ],
      "meta":{
        "atalanda":{
          "description":"atalanda var2",
          "tax_type":11500,
          "images":null,
          "price":200
        },
        "shop":{
          "description":"shop var2",
          "tax_type":11500,
          "images":null,
          "price":15.99
        },
        "click_and_collect":{
          "description":"click var2",
          "tax_type":11500,
          "images":null,
          "price":15.99
        },
        "ebay":{
          "description":"ebay var2",
          "tax_type":11500,
          "images":null,
          "price":200
        }
      },
      "purchase_price":10.5,
      "package_size_value":3,
      "package_size_unit":"pc",
      "is_giftcard":false,
      "tax_type":11500
    }
  ],
  "description":"Here you put details about your product",
  "product_code":"22222222222222",
  "ean":"121312121212",
  "categories":[
    {
      "id":56130
    }
  ],
  "images":[
    {
      "id":223634,
      "new":true
    }
  ],
  "custom_sale":false,
  "is_favourite":false,
  "brand":"Nike",
  "supplier":"",
  "meta":{
    "atalanda":{
      "name":"atalanda name",
      "description":"atalanda desc",
      "tax_type":11500,
      "images":null,
      "price":null
    },
    "shop":{
      "name":"shop name",
      "description":"shop desc",
      "tax_type":11500,
      "images":null,
      "price":null
    },
    "click_and_collect":{
      "name":"click name",
      "description":"click desc",
      "tax_type":11500,
      "images":null,
      "price":null
    },
    "ebay":{
      "name":"ebay name",
      "description":"ebay desc",
      "tax_type":11500,
      "images":null,
      "price":null
    }
  },
  "is_giftcard":false,
  "purchase_price":"10.5",
  "package_size_value":"1.000",
  "package_size_unit":"pc"
}'

Response

{
    "attributes": {},
    "name": "Pink t-shirt",
    "id": 13417182,
    "quantity": "1800.00",
    "reorder_level": "70.00",
    "safety_stock": "55.00",
    "price": "235",
    "tax_type": 11500,
    "custom_price": false,
    "ebay_product_id": null,
    "ebay_url": null,
    "in_shop": false,
    "shop_url": null,
    "thumbnail": {
        "ipad": "http://app.inventorum.com/uploads/4158/product/45/ee/28/94/ba/1d/d9/b6/ff/55/f8/e1/44/55/35/45ee2894ba1dd9b6ff55f8e1445535b0.ipad.png",
        ...
        "new": true,
        "id": -223634
    },
    "variation_count": 2,
    "variations": [
        {
            "id": 13423258,
            "attributes": {
                "color": [
                    "pink"
                ],
                "weight": [
                    "1"
                ],
                "size": [
                    "S"
                ]
            },
            "quantity": "300.00",
            "reorder_level": "70.00",
            "safety_stock": "55.00",
            "ean": "121312121212",
            "price": "155.0000000000",
            "product_code": "22222222222222",
            "tax_type": 11500,
            "name": "Pink t-shirt, S, pink, 1",
            "images": [
                {
                    "id": 223634,
                    "urls": {
                        "ipad": "https://app.inventorum.com/uploads/4158/product/45/ee/28/94/ba/1d/d9/b6/ff/55/f8/e1/44/55/35/45ee2894ba1dd9b6ff55f8e1445535b0.ipad.png",
                        ...
                    },
                    "type": 0,
                    "new": true
                }
            ],
            "meta": {
                "shop": {
                    "channel": 4,
                    "description": "shop var1",
                    "gross_price": "119.00",
                    "id": 4590504,
                    "images": null,
                    "name": "shop name, S, pink, 1",
                    "price": "100.0000000000"
                }
                ...
            },
            "gross_price": "184.45",
            "purchase_price": "10.5",
            "average_purchase_price": "10.5",
            "attributes_str": "S, pink, 1",
            "inv_id": null,
            "package_size_value": "1.000",
            "package_size_unit": "pc",
            "base_price": "184.45",
            "base_size_value": "1",
            "base_size_unit": "pc",
            "is_giftcard": false
        },
        {
            "id": 13423259,
            "attributes": {
                "color": [
                    "blue"
                ],
                "weight": [
                    "20"
                ],
                "size": [
                    "L"
                ]
            },
            "quantity": "1500.00",
            "reorder_level": "175.00",
            "safety_stock": "150.00",
            "ean": "121312121212",
            "price": "100.0000000000",
            "product_code": "22222222222222",
            "tax_type": 11500,
            "name": "Pink t-shirt, L, blue, 20",
            "images": [],
            "meta": {
                "shop": {
                    "channel": 4,
                    "description": "shop var2",
                    "gross_price": "19.03",
                    "id": 4590512,
                    "images": null,
                    "name": "shop name, L, blue, 20",
                    "price": "15.9900000000"
                },
                ...
            },
            "gross_price": "119.00",
            "purchase_price": "10.5",
            "average_purchase_price": "10.5",
            "attributes_str": "L, blue, 20",
            "inv_id": null,
            "package_size_value": "3.000",
            "package_size_unit": "pc",
            "base_price": "39.67",
            "base_size_value": "1",
            "base_size_unit": "pc",
            "is_giftcard": false
        }
    ],
    "average_purchase_price": "10.5",
    "description": "Here you put details about your product",
    "product_code": "22222222222222",
    "ean": "121312121212",
    "categories": [
        {
            "parent": null,
            "is_leaf": true,
            "hint": "Accessoires",
            "tree_id": 45973,
            "id": 56130,
            "channel": null,
            "translations": [
                {
                    "name": "Accessoires",
                    "language": "de",
                    "id": null
                }
            ],
            "image": null,
            "name": "Accessoires",
            "products_count": 23,
            "products": [
                4094157,
                ...
            ]
        }
    ],
    "images": [
        {
            "id": 223634,
            "urls": {
                "ipad": "https://app.inventorum.com/uploads/4158/product/45/ee/28/94/ba/1d/d9/b6/ff/55/f8/e1/44/55/35/45ee2894ba1dd9b6ff55f8e1445535b0.ipad.png",
                ...
            },
            "type": 0,
            "new": true
        }
    ],
    "custom_sale": false,
    "shipping_services": [],
    "is_favourite": false,
    "brand": "Nike",
    "supplier": "",
    "meta": {
        "shop": {
            "channel": 4,
            "description": "shop desc",
            "gross_price": null,
            "id": 4588985,
            "images": null,
            "name": "shop name",
            "price": null
        }
        ...
    },
    "is_giftcard": false,
    "gross_price": "279.65",
    "purchase_price": "10.5",
    "states": [],
    "attributes_str": "",
    "inv_id": "612746559719345313",
    "package_size_value": "1.000",
    "package_size_unit": "pc",
    "base_price": "279.65",
    "base_size_value": "1",
    "base_size_unit": "pc"
}

Error

Status 400 Bad Request
{
    "error": {
        "fields": {
            "tax_type": [
                "Invalid tax"
            ]
        },
        "description": "Serialization error",
        "key": "common.serializer_error"
    }
}

Adding and removing variations

There are two situations you can encounter when you want to add or delete variations to a product:

  1. The product doesn't have variations: In this case, you need to do a PUT request updating the product that you want to add the variations (let's call it ORIGINAL) and pass the same product as one of the variations in the variations list. Then you will get a new product as result, which will be a clone of ORIGINAL and will have ORIGINAL as one of the variations. You can also add the extra variations in the same step, just pass the extra variations without id field.

  2. The product has variations: In this case, you just need to pass all the existing variations, excluding those you want to delete, in the variation list. If you want to add new variations, put them in the list without id field. note You need at least one variation with id in the list.

Example

Let say we create a simple product without variations by doing a POST to /products/ like: (Notice that we are passing just the minimal required fields, I recommends you pass all the needed, this is just for clarity):

{
  "name" : "Simplest Product",
  "price" : 4.20,
  "tax_type" : 11500
}
and receive response like:

{
  "name": "Simplest Product",
  "id": 11111111
  ...
}

Now if we want to add variations to this product, we'll need to do a PUT to products/11111111/ with something like:

{
    "name" : "Simplest Product",
    "variations": [
        {
            "id": 11111111, #  We need this to make the old product become a variation itself
            "attributes": {
                "size": "22",
                "color": "Blue",
                "material": "Denim"
            }
        },
        {
            "attributes": {
                "size": "22",
                    "color": "Red",
                    "material": "Denim"
                },
            "price": 4.20,
            "tax_type": 11500
        }

    ]
}
and will receive a response like:
{
  "name": "Simplest Product",
  "id": 11111114,
  "variations": [
    {
      "id": 11111111,
      "name": "Simple Product, 22, Blue, Denim",
      ...
    },
    {
      "id": 11111113,
      "name": "Simple Product, 22, Red, Denim",
      ...
    }
  ]
}
You need to notice that the id of the parent product we got is different of the one we PUT to, and we should use this one next time we want to add, update or delete more variations. So if we wanna add a new variation and also delete one of the old variations you can do PUT to products/11111114/

{
    "name" : "Simplest Product",
    "variations": [
        {
            "id": 11111111,
            "attributes": {
                "size": "22",
                "color": "Blue",
                "material": "Denim"
            }
        },
        {
            "attributes": {
                "size": "22",
                    "color": "Green",
                    "material": "Denim"
                },
            "price": 4.20,
            "tax_type": 11500
        }

    ]
}
We'll get something like:

{
  "name": "Simplest Product",
  "id": 11111114,
  "variations": [
    {
      "id": 11111111,
      "name": "Simple Product, 22, Blue, Denim",
      ...
    },
    {
      "id": 11111115,
      "name": "Simple Product, 22, Green, Denim",
      ...
    }
  ]
}
Notice that we passed one variation with id, but another without it. So the one with id will remain, and the one that was generated with the id:11111113 will be gone, and a new one will be created. You can't call this endpoint without passing at least on variation with id.

Converting one product with variation into a product without variations

In order to transform a product with variations you just need to remove all the variations but one, and then the last one will become a product without variations.

Example

Following the last example we want now to make 11111114 a product without variations, in order to do that we should make a PUT to products/1111114/ with:

{
    "name" : "Simplest Product",
    "variations": [
        {
            "id": 11111111,
            ...
        }
    ]
}
Then we'll get something like

{
  "id": 11111111
  ...
}
So the product is now a normal product without variations again.

DELETE /products/{product_id}/

Deletes a specified product.

Required scopes: products

Required headers: 'Accept: application/json, text/plain, */*'

Request

curl -X DELETE \
  https://app.inventorum.com/api/products/13214024/ \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Authorization: Bearer {{oauth_token}}' \

Response

Status 200 OK

Error

Status 404 Not Found
{
    "error": {
        "fields": {},
        "description": null,
        "key": "common.unknown"
    }
}

PUT /products/{product_id}/adjust_inventory/

Adjusts stock for a product without variants or for a product variant.

VERSIONING

This endpoint supports 2 API versions:

Required scopes: inventories

param type/format required sample value description
quantity String true "200.5" Can be positive (increase) or negative (decrease)
note String true "Lost packets" For empty reason, pass ""
price String true "10.50" Purchase price of the added stock
date String, 10 characters, DD.MM.YYYY true "20.01.2018" Date of stock adjustment

Required headers:

  • 'Content-Type: application/json'
  • 'Accept: application/json, text/plain'

Request

curl -X PUT \
  https://app.inventorum.com/api/products/12544049/adjust_inventory/ \
  -H 'Accept: application/json, text/plain' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'Content-Type: application/json' \
  -H 'X-Api-Version: 12' \
  -d '{"stock":{"quantity":"102","note":"some reason","price":"1","date":"15.01.2018"}}'

Response

Status 200 OK
{
    "attributes": {},
    "name": "00CZJ K900",
    "id": 2716814,
    "quantity": "201.00",
    "reorder_level": "2.00",
    "safety_stock": "1.00",
    "price": "33.2916666667",
    "tax_type": 6442,
    "custom_price": false,
    "ebay_product_id": null,
    "ebay_url": null,
    "in_shop": true,
    "shop_url": "https://inventorum-workshop.inventorum.com/products/details?pid=2716814",
    "thumbnail": {
        "ipad": "http://app.inventorum.com/uploads/1627/product/ipad.png",
        ...
        "new": true,
        "id": -702078
    },
    "variation_count": 0,
    "variations": [],
    "average_purchase_price": "9.095238095238095238095238095",
    "description": "TULCAN T-SHIRT",
    "product_code": "00J2MC 4J.",
    "ean": "8053621788200",
    "categories": [
        {
            "parent": null,
            "is_leaf": true,
            "hint": "DIESEL",
            "tree_id": 41616,
            "id": 47569,
            "channel": null,
            "translations": [
                {
                    "name": "DIESEL",
                    "language": "de",
                    "id": null
                }
            ],
            "image": null,
            "name": "DIESEL",
            "products_count": 27,
            "products": [
                2716805
            ]
        }
    ],
    "images": [
        {
            "ipad": "https://app.inventorum.com/uploads/1627/product/...ipad.png",
            ...
            "new": true,
            "id": -702078
        }
    ],
    "custom_sale": false,
    "shipping_services": [],
    "is_favourite": false,
    "brand": "",
    "supplier": "",
    "meta": {
        "shop": {
            "channel": 4,
            "description": "",
            "gross_price": null,
            "id": 586866,
            "images": null,
            "name": "",
            "price": null
        },
        ...
    },
    "is_giftcard": false,
    "gross_price": "39.95",
    "purchase_price": "1",
    "states": [
        {
            "channel": "shop",
            "details": null,
            "state": "published"
        }
    ],
    "attributes_str": "",
    "inv_id": "612666708292466421",
    "package_size_value": null,
    "package_size_unit": null,
    "base_price": null,
    "base_size_value": null,
    "base_size_unit": null
}

Error

Status 404 Not found

POST /products/{product_id}/shop/

Publishes a selected product to the online shop.

Required scopes: shop.products.publishing

Required headers: 'Accept: application/json, text/plain, */*'

Request

curl -X POST \
  https://app.inventorum.com/api/products/1976956/shop/ \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'X-Api-Version: 12'

Response

Status 200 OK
{
    "price": "21.0084033613",
    "gross_price": "25.00",
    "purchase_price": "10.0000000000",
    "average_price": null,
    "average_purchase_price": "10.0000000000",
    "is_favourite": false,
    "stock": 1,
    "reorder": 0,
    "safety": 0,
    "images": [],
    "tax_rate": 19,
    "address": "",
    "shipping_services": [],
    "categories": [],
    "shop_url": null,
    "ebay_url": null,
    "in_shop": true,
    "id": 1976956,
    "name": "Dickies Free Bird",
    "description": "White XL",
    "supplier": "",
    "brand": "",
    "product_code": "06 210375",
    "gtin": "40040003B",
    "ebay_product_id": null,
    "custom_price": false,
    "is_giftcard": false,
    "attributes": [],
    "tags": []
}

Error

Status 404 Not found

DELETE /products/{product_id}/shop/

Unpublishes a selected product from the online shop.

Required scopes: shop.products.publishing

Required headers: 'Accept: application/json, text/plain, */*'

Request

curl -X DELETE \
  https://app.inventorum.com/api/products/1976956/shop/ \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Authorization: Bearer {{oauth_token}}' \
  -H 'X-Api-Version: 12'

Response

Status 200 OK
{
    "price": "21.0084033613",
    "gross_price": "25.00",
    "purchase_price": "10.0000000000",
    "average_price": null,
    "average_purchase_price": "10.0000000000",
    "is_favourite": false,
    "stock": 1,
    "reorder": 0,
    "safety": 0,
    "images": [],
    "tax_rate": 19,
    "address": "",
    "shipping_services": [],
    "categories": [],
    "shop_url": null,
    "ebay_url": null,
    "in_shop": false,
    "id": 1976956,
    "name": "Dickies Free Bird",
    "description": "White XL",
    "supplier": "",
    "brand": "",
    "product_code": "06 210375",
    "gtin": "40040003B",
    "ebay_product_id": null,
    "custom_price": false,
    "is_giftcard": false,
    "attributes": [],
    "tags": []
}

Error

Status 404 Not found