---
title: "Bulk commit entries in a stock transaction list"
method: POST
path: "/stocktransactionlist/{id}/commit"
tags: ["StockTransactionLists"]
---

# Bulk commit entries in a stock transaction list

`POST /stocktransactionlist/{id}/commit`

## Request

- Base URL: `https://api.c1st.com/api`
- URL: `https://api.c1st.com/api/stocktransactionlist/{id}/commit`
- Auth: HTTP bearer

## Path parameters

- `id` integer, required

## Request body

- union
  - StockTransactionCommitRequestCreateList
    - `mode` 'create_list', required
    - `paginationStart` number, required
    - `paginationLength` number, required
  - StockTransactionCommitRequestAddToList
    - `mode` 'add_to_list', required
    - `failureList` number, required
    - `paginationStart` number, required
    - `paginationLength` number, required

## Response `200`

OK

- StockTransactionCommitResponse
  - `failed` object
    - `content` object[], nullable
      - `transaction` StockTransaction: Apply relative stock change to a product. If you want to apply a absolute change to a product stock. Set the value using PUT /product/{id} on stockno.
        - `id` integer, nullable: A unique transaction ID
        - `productid` integer, nullable: a reference to product ID.
        - `addtostock` integer, nullable: Number of items to add to the stock for the product. The value can be negative if some items are removed from the stock.
        - `costpriceofaddeditems` number, double, nullable: The pr. unit cost price of the added items. The costprice of the product will be set to average of the current costprice and the costprice of the added items
        - `foreign_costpriceofaddeditems` number, double, nullable: The cost price of the added items in the exchange rate currency used on the stock transaction list.
        - `totalcostpriceofaddeditems` number, double, nullable: The total cost price of the added items. If `costpriceofaddeditems` is left blank you can specify a total costprice in this field. Use this to avoid rounding errors.
        - `foreign_totalcostpriceofaddeditems` number, double, nullable: The total cost price of the added items in the exchange rate currency used on the stock transaction list.
        - `expectedtotalcostprice` number, double, nullable: Used to check that `costprice` and `amount` is correct by verifying that `amount * costprice = expectedtotalcostprice`
        - `reason` string, nullable: The logged reason for stock change
        - `stocktransactionlistid` integer, nullable: Stock transactions can be grouped into lists and all applied as a single transaction. See stock transaction list.
        - `stocktransactionlist` StockTransactionList: A list of stock transactions. Set commit = 1 to commit all transactions in a list.
          - `id` integer, nullable: A unique ID
          - `note` string, nullable: a free text note
          - `created` string, nullable: created date
          - `committeddate` string, nullable: If the inventory list is booked
          - `commit` integer: PUT with value 1 to commit all stock transactions in the list. If type == "move", a stock move is done, if type == "reception" a stock reception is done
          - `movetostoreid` integer, nullable: The store id of the partner to move the stock to. Can only be set if type = move
          - `movetostoretransactionlist` object, nullable
            - `id` integer, nullable: A unique ID
            - `committeddate` string, nullable: If the inventory list is booked
          - `fromstocktransactionlistid` integer, nullable
          - `fromListNo` integer, nullable: Assigned list number generated by a stock movement from partner store
          - `fromstore` Store: Store object
            - `id` integer
            - `title` string, required
            - `cityname` string, nullable
            - `zipcode` string, nullable
            - `streetname` string, nullable
            - `streetno` string, nullable
            - `phone` string, nullable
            - `email` string, nullable
            - `website` string, nullable
            - `created` string
            - `countrydata` CountryData
              - …
          - `orderlistno` integer, nullable: The orderlist no of the attached orderlist
          - `inventorycountreportid` integer, nullable: The id of report that was created on inventory count
          - `reportno` integer, nullable: The report number of the attached report
          - `listno` integer, nullable: Sequentially generated list number
          - `invoicenumber` string, nullable: The stock transaction lists invoice number
          - `invoicedate` string, nullable: The stock transaction lists invoice date
          - `shippingcost` number, nullable: Shipping cost of the stock transaction list
          - `orderlistid` integer, nullable: The id of the orderlistid which the stocktransaction list was created from
          - `partnersyncdate` string, nullable: The date the stock transaction list was synced to an external service (e.g. E-conomic)
          - `exchangerateid` number, nullable: The id of the foreign exchange rate used for the stock transaction list (if any)
          - `exchangerate` ExchangeRate
            - `id` integer, nullable: ID of the exchange rate
            - `currency` string: Currency code
            - `title` string: Title of the exchange rate
            - `store_id` integer: ID of the store that created the exchange rate
            - `rate` number: Exchange rate value
            - `created_at` string, date-time, nullable: Date and time when the exchange rate was created
            - `updated_at` string, date-time, nullable: Date and time when the exchange rate was last updated
          - `store` Store: Store object
            - `id` integer
            - `title` string, required
            - `cityname` string, nullable
            - `zipcode` string, nullable
            - `streetname` string, nullable
            - `streetno` string, nullable
            - `phone` string, nullable
            - `email` string, nullable
            - `website` string, nullable
            - `created` string
            - `countrydata` CountryData
              - …
          - `type` 'reception' | 'count' | 'move'
          - `totalcostprice` number, nullable: Sum of costprice across the list's stock transactions. Null for uncommitted lists or any list that is not of type `reception`.
          - `userid` integer, nullable: Id of the user who created/committed the stocktransaction
          - `user` object, nullable: The user referred to by userid
            - `name` string
            - `id` number
        - `stocknoafter` integer, nullable: The product stock number right after the transaction was applied
        - `absoluteoverwrite` 0 | 1: Indicates the stock transactions is an absolute adjustment of stock number and costprice. You can do an absolute adjustment by changing costprice or stockno when updating a product using the product endpoint.
        - `commit` integer: Set to 1 if you want the stock transaction to be applied. Once commited a transaction cannot be changed. If the value is 0, the stock transaction is saved and can be committed by later setting commit = 1. Note, by default all stock transactions are committed. Use 0 to create draft transactions that will later be commiited.
        - `committeddate` string, nullable: Date when the stock transaction was commited. Null if not committed
        - `commitorder` integer, nullable: An incremental value which can be used to lookup the commitorder for a specific product.
        - `createddate` string: Created date.
        - `product` Product: The representation of a product.
          - `id` integer, nullable: A unique product ID
          - `title` string: Product name
          - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
          - `barcode` string, nullable: A unique barcode
          - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
          - `serieno` string, nullable
          - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
          - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
          - `costprice` number, double, nullable: Cost price of the product excl. VAT
          - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
          - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
          - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
          - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
          - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
          - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
          - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
          - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
            - `id` integer, nullable: A unique id for a supplier
            - `name` string: The name of a supplier
            - `email` string, nullable: The mail of a supplier
            - `customerno` string, nullable: Customer number for the supplier
            - `address` string, nullable: Address of the supplier
            - `city` string, nullable: Which city the supplier is from
            - `zipcode` string, nullable: Zipcode of the supplier
            - `note` string, nullable
            - `handle` string, nullable: Slug for the supplier based on the name
            - `accountnumber` number, nullable: Accountnumber for the supplier, used to cross reference this supplier to a supplier in e-conomic
            - `auto_create_orderlist` boolean, nullable: If true, an orderlist will be created automatically for this supplier
            - `auto_create_orderlist_frequency` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: The frequency of the orderlist creation
            - `auto_create_orderlist_day_of_week` integer[], nullable: The day of the week the orderlist should be created
            - `auto_create_orderlist_months` integer[], nullable: The months the orderlist should be created
            - `auto_create_orderlist_day_of_month` integer[], nullable: The day of the month the orderlist should be created
            - `auto_create_orderlist_minimum_costprice` number, nullable: The minimum costprice required to trigger the automatic creation of the order list
            - `external_supplier` string, nullable: The external supplier used for integrations, if given (e.g. "ponbike", etc)
            - `external_supplier_active` boolean, nullable: Whether the external supplier integration (e.g. "ponbike"/Gazelle) is currently authorized and active. Null when the supplier has no external_supplier.
            - `partner_store_id` integer, nullable: OBSOLETE - The store id from the available partner store
            - `verified_supplier_id` integer, nullable: Id of the verified supplier this supplier is linked to
            - `verified_supplier` VerifiedSupplierSummary
              - …
          - `color` string, nullable
          - `styleno` string, nullable
          - `size` string, nullable
          - `brand` string, nullable
          - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
          - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
          - `vat_type` VatType
            - `id` integer
            - `name` string
            - `rate` number
            - `revenue_account_no` string, nullable: Revenue account number for the revenue incl amount
            - `is_ticket_override` boolean: When true, this VAT type can be used to seed override VAT on new repair tickets.
            - `vat_account_no` string, nullable: VAT account number for the revenue vat part
          - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
          - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `customfield1` string, nullable: Field for custom product data
          - `customfield2` string, nullable
          - `customfield3` string, nullable
          - `customfield4` string, nullable
          - `created` string, nullable
          - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
          - `totalstock` integer, nullable: The sum of serial products in stock
          - `totalavailablestock` integer, nullable: The sum of serial products available
          - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
          - `onshoppinglist` integer, nullable: Number of items already on shopping list.
          - `ordered` integer, nullable: Number of items currently in order
          - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
          - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
          - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
          - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
          - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
          - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
          - `storeid` integer, nullable: The owner storeid
          - `image` ProductImage: A Product's image
            - `blurhash` string, nullable
            - `preview_url` string
            - `full_url` string
          - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
          - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
          - `deleted_at` string, nullable: Deleted date, if product is soft deleted
        - `miscdata` string, nullable: Use to save any misc data with the transaction. Misc data will be cleared when transaction is commited
        - `pospaymentmaterialid` number, nullable: pospaymentmaterial id if transaction was triggered by a sale
        - `pospaymentmaterial` object, nullable: payment material object refered to by pospaymentmaterialid
          - `paymentid` integer
          - `id` integer
          - `returntagid` integer, nullable
        - `fulfillmentmaterialid` number, nullable: fulfillmentmaterial id if transaction was triggered by a salesorder order fulfillment
        - `fulfillmentmaterial` object, nullable: fulfillment material object refered to by fulfillmentmaterialid
          - `id` integer
          - `sales_order_fulfillment_id` integer
        - `orderid` number, nullable: set if the stock transaction was created from a shopping list item
        - `order` ShoppingListItem: The representation of a shopping list item. The shopping list is a set of products the store must rememeber to order from a supplier.
          - `id` integer, nullable: A unique ID
          - `productid` integer, nullable: a reference to the product. This field can only be set with POST
          - `supplierid` integer, nullable: The supplierid attached to the order
          - `amount` integer, required: The number of items to buy
          - `costprice` number, double, nullable: Cost price will default to product cost price if not specified
          - `expectedtotalcostprice` number, double, nullable: Used to check that `costprice` and `amount` is correct by verifying that `amount * costprice = expectedtotalcostprice`
          - `added` string, nullable: when added to the list
          - `materialid` integer, nullable: a reference to the task material. This field can only be set with POST
          - `taskid` integer, nullable: a reference to the task of the material
          - `taskno` string, nullable: task no for reference task
          - `orderlistno` integer, nullable: The orderlist no of the attached orderlist
          - `orderlistid` integer, nullable: The order id if the shopping list item has been ordered. Can only be set while creating a shopping list order. This field is write once
          - `delivereddate` string, nullable: when item has delivered to stock. Specificied by setting orderid when updating product.
          - `product` Product: The representation of a product.
            - `id` integer, nullable: A unique product ID
            - `title` string: Product name
            - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
            - `barcode` string, nullable: A unique barcode
            - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
            - `serieno` string, nullable
            - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
            - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
            - `costprice` number, double, nullable: Cost price of the product excl. VAT
            - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
            - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
            - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
            - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
            - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
            - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
            - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
            - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
              - …
            - `color` string, nullable
            - `styleno` string, nullable
            - `size` string, nullable
            - `brand` string, nullable
            - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
            - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
            - `vat_type` VatType
              - …
            - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
            - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
              - …
            - `customfield1` string, nullable: Field for custom product data
            - `customfield2` string, nullable
            - `customfield3` string, nullable
            - `customfield4` string, nullable
            - `created` string, nullable
            - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
            - `totalstock` integer, nullable: The sum of serial products in stock
            - `totalavailablestock` integer, nullable: The sum of serial products available
            - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
            - `onshoppinglist` integer, nullable: Number of items already on shopping list.
            - `ordered` integer, nullable: Number of items currently in order
            - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
            - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
            - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
            - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
            - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
            - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
            - `storeid` integer, nullable: The owner storeid
            - `image` ProductImage: A Product's image
              - …
            - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
            - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
            - `deleted_at` string, nullable: Deleted date, if product is soft deleted
          - `partner_product` Product: The representation of a product.
            - `id` integer, nullable: A unique product ID
            - `title` string: Product name
            - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
            - `barcode` string, nullable: A unique barcode
            - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
            - `serieno` string, nullable
            - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
            - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
            - `costprice` number, double, nullable: Cost price of the product excl. VAT
            - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
            - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
            - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
            - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
            - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
            - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
            - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
            - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
              - …
            - `color` string, nullable
            - `styleno` string, nullable
            - `size` string, nullable
            - `brand` string, nullable
            - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
            - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
            - `vat_type` VatType
              - …
            - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
            - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
              - …
            - `customfield1` string, nullable: Field for custom product data
            - `customfield2` string, nullable
            - `customfield3` string, nullable
            - `customfield4` string, nullable
            - `created` string, nullable
            - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
            - `totalstock` integer, nullable: The sum of serial products in stock
            - `totalavailablestock` integer, nullable: The sum of serial products available
            - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
            - `onshoppinglist` integer, nullable: Number of items already on shopping list.
            - `ordered` integer, nullable: Number of items currently in order
            - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
            - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
            - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
            - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
            - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
            - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
            - `storeid` integer, nullable: The owner storeid
            - `image` ProductImage: A Product's image
              - …
            - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
            - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
            - `deleted_at` string, nullable: Deleted date, if product is soft deleted
          - `received` integer, nullable: Amount of items that are received
          - `inorder` integer, nullable: Amount of items that are not received
          - `pending` integer, nullable: Amount of items that are in a stocktransaction reception but not completed yet.
          - `pendingmove` integer, nullable: Amount of items that are in a stocktransaction move but not completed yet.
          - `sent_from_partner` integer, nullable: Amount of items that are sent from the partner store.
          - `partner_order_on_shopping_list` integer, nullable: Total amount of partner order items that have been added to the shopping list.
          - `partner_order_list_id` integer, nullable: The order id coming from a partner order.
          - `receivedstatus` 'completed' | 'partial' | 'none'
          - `material` TicketMaterial
            - `id` integer, nullable: A unique TicketMaterial ID
            - `taskid` integer, required
            - `title` string, required
            - `amount` number, required
            - `customerarticleid` integer, nullable
            - `customerarticle` CustomerArticle
              - …
            - `price` number, double, nullable, required: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
            - `costprice` number, double, nullable: Cost price of the product.
            - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat". See `total_ex_vat` for the total price excluding VAT.
            - `calculatedvat` number, double, nullable: The calculated VAT for the product's price field. See `total_vat` for the total VAT amount.
            - `productid` integer, nullable
            - `product` Product: The representation of a product.
              - …
            - `productno` string, nullable
            - `discount_tm_id` integer, nullable
            - `usedGiftcardid` integer, nullable: If set, the material represents the use of giftcard for paying for the tasks
            - `usedGiftcard` Giftcard: A giftcard
              - …
            - `promotionid` integer, nullable: The promotion id of the that triggered the discount
            - `deletedpromotion` integer, nullable: If a promotion is deleted from a taskmaterial, then this value is set to 1, meaning every promotion on the material will not be applied
            - `expecteddeliveries` string[]: List of dates, when the material is expected to be delivered from ongoing orders
            - `position` number: Number used to determin the order of the materials
            - `discounttagid` integer, nullable: Which discount tag it is attached to
            - `discountid` number, nullable: ID of the discount applied to the material. This will be null if the material has multiple discounts or if no discount is attached.
            - `discounttaglabel` string, nullable: Label of the discount tag
            - `bundleid` integer, nullable
            - `type` string, nullable: Can currently only be "newservicesubscription"
            - `servicesubscriptionid` integer, nullable: The id of the servicesubscription to be activated when payment completed
            - `servicesubscription` ServiceSubscription
              - …
            - `availablestock` integer, nullable: Number of non-reserved products in stock, ignoring the amount reserved by the material itself. Is null, if the material doesn't have a product, or stock keeping is disabled for the product.
            - `availablestockexceeded` boolean: Is true, if the amount exceeds the available stock count otherwise false. Will always be false, if the material doesn't have a product, or stock keeping is disabled for the product.
            - `amountpaid` number, nullable: Amount of the material that is paid (sum of quantities on completed payments). Only included when requested with `withamountpaid` on the list endpoint.
            - `addonparentmaterialid` integer, nullable: The id of the parent material. If set, this paymentmaterial is considered to be an addon
            - `total_vat` number, double, nullable: Total vat amount
            - `total_ex_vat` number, double, nullable: Total price excluding VAT
            - `total_incl_vat` number, double, nullable: Total price including VAT
          - `expecteddelivery` string, nullable
        - `costpriceavg` number, double, nullable: The average stock value of the product at the time of the transaction
        - `totalstockvalueavg` number, double, nullable: The total average stock value of the product at the time of the transaction
        - `totalstockvaluefifo` number, double, nullable
        - `totalcostpricefifo` number, double, nullable
        - `userid` integer, nullable: Id of user who made the stocktransaction
        - `stocktransactiontagid` integer, nullable: Id of the StockTransactionTag attached to the transaction
        - `stocktransactiontag` StockTransactionTag
          - `id` integer, nullable
          - `title` string
          - `handle` string, nullable
        - `fromstocktransactionid` integer, nullable: Id of the stocktransaction that was created from the partner store
      - `error` string
    - `count` number, nullable
  - `succeeded` object, nullable
    - `content` StockTransaction[]
      - `id` integer, nullable: A unique transaction ID
      - `productid` integer, nullable: a reference to product ID.
      - `addtostock` integer, nullable: Number of items to add to the stock for the product. The value can be negative if some items are removed from the stock.
      - `costpriceofaddeditems` number, double, nullable: The pr. unit cost price of the added items. The costprice of the product will be set to average of the current costprice and the costprice of the added items
      - `foreign_costpriceofaddeditems` number, double, nullable: The cost price of the added items in the exchange rate currency used on the stock transaction list.
      - `totalcostpriceofaddeditems` number, double, nullable: The total cost price of the added items. If `costpriceofaddeditems` is left blank you can specify a total costprice in this field. Use this to avoid rounding errors.
      - `foreign_totalcostpriceofaddeditems` number, double, nullable: The total cost price of the added items in the exchange rate currency used on the stock transaction list.
      - `expectedtotalcostprice` number, double, nullable: Used to check that `costprice` and `amount` is correct by verifying that `amount * costprice = expectedtotalcostprice`
      - `reason` string, nullable: The logged reason for stock change
      - `stocktransactionlistid` integer, nullable: Stock transactions can be grouped into lists and all applied as a single transaction. See stock transaction list.
      - `stocktransactionlist` StockTransactionList: A list of stock transactions. Set commit = 1 to commit all transactions in a list.
        - `id` integer, nullable: A unique ID
        - `note` string, nullable: a free text note
        - `created` string, nullable: created date
        - `committeddate` string, nullable: If the inventory list is booked
        - `commit` integer: PUT with value 1 to commit all stock transactions in the list. If type == "move", a stock move is done, if type == "reception" a stock reception is done
        - `movetostoreid` integer, nullable: The store id of the partner to move the stock to. Can only be set if type = move
        - `movetostoretransactionlist` object, nullable
          - `id` integer, nullable: A unique ID
          - `committeddate` string, nullable: If the inventory list is booked
        - `fromstocktransactionlistid` integer, nullable
        - `fromListNo` integer, nullable: Assigned list number generated by a stock movement from partner store
        - `fromstore` Store: Store object
          - `id` integer
          - `title` string, required
          - `cityname` string, nullable
          - `zipcode` string, nullable
          - `streetname` string, nullable
          - `streetno` string, nullable
          - `phone` string, nullable
          - `email` string, nullable
          - `website` string, nullable
          - `created` string
          - `countrydata` CountryData
            - `code` string: Country code in alpha2 format
            - `currency` string: Currency for this country
            - `smsprice_dkk` number: Price to send 1 sms to this country, in DKK
            - `smsprice_eur` number: Price to send 1 sms to this country, in EUR
            - `eu` boolean: true if country is member of EU
        - `orderlistno` integer, nullable: The orderlist no of the attached orderlist
        - `inventorycountreportid` integer, nullable: The id of report that was created on inventory count
        - `reportno` integer, nullable: The report number of the attached report
        - `listno` integer, nullable: Sequentially generated list number
        - `invoicenumber` string, nullable: The stock transaction lists invoice number
        - `invoicedate` string, nullable: The stock transaction lists invoice date
        - `shippingcost` number, nullable: Shipping cost of the stock transaction list
        - `orderlistid` integer, nullable: The id of the orderlistid which the stocktransaction list was created from
        - `partnersyncdate` string, nullable: The date the stock transaction list was synced to an external service (e.g. E-conomic)
        - `exchangerateid` number, nullable: The id of the foreign exchange rate used for the stock transaction list (if any)
        - `exchangerate` ExchangeRate
          - `id` integer, nullable: ID of the exchange rate
          - `currency` string: Currency code
          - `title` string: Title of the exchange rate
          - `store_id` integer: ID of the store that created the exchange rate
          - `rate` number: Exchange rate value
          - `created_at` string, date-time, nullable: Date and time when the exchange rate was created
          - `updated_at` string, date-time, nullable: Date and time when the exchange rate was last updated
        - `store` Store: Store object
          - `id` integer
          - `title` string, required
          - `cityname` string, nullable
          - `zipcode` string, nullable
          - `streetname` string, nullable
          - `streetno` string, nullable
          - `phone` string, nullable
          - `email` string, nullable
          - `website` string, nullable
          - `created` string
          - `countrydata` CountryData
            - `code` string: Country code in alpha2 format
            - `currency` string: Currency for this country
            - `smsprice_dkk` number: Price to send 1 sms to this country, in DKK
            - `smsprice_eur` number: Price to send 1 sms to this country, in EUR
            - `eu` boolean: true if country is member of EU
        - `type` 'reception' | 'count' | 'move'
        - `totalcostprice` number, nullable: Sum of costprice across the list's stock transactions. Null for uncommitted lists or any list that is not of type `reception`.
        - `userid` integer, nullable: Id of the user who created/committed the stocktransaction
        - `user` object, nullable: The user referred to by userid
          - `name` string
          - `id` number
      - `stocknoafter` integer, nullable: The product stock number right after the transaction was applied
      - `absoluteoverwrite` 0 | 1: Indicates the stock transactions is an absolute adjustment of stock number and costprice. You can do an absolute adjustment by changing costprice or stockno when updating a product using the product endpoint.
      - `commit` integer: Set to 1 if you want the stock transaction to be applied. Once commited a transaction cannot be changed. If the value is 0, the stock transaction is saved and can be committed by later setting commit = 1. Note, by default all stock transactions are committed. Use 0 to create draft transactions that will later be commiited.
      - `committeddate` string, nullable: Date when the stock transaction was commited. Null if not committed
      - `commitorder` integer, nullable: An incremental value which can be used to lookup the commitorder for a specific product.
      - `createddate` string: Created date.
      - `product` Product: The representation of a product.
        - `id` integer, nullable: A unique product ID
        - `title` string: Product name
        - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
        - `barcode` string, nullable: A unique barcode
        - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
        - `serieno` string, nullable
        - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
        - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
        - `costprice` number, double, nullable: Cost price of the product excl. VAT
        - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
        - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
        - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
        - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
        - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
        - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
        - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
        - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
          - `id` integer, nullable: A unique id for a supplier
          - `name` string: The name of a supplier
          - `email` string, nullable: The mail of a supplier
          - `customerno` string, nullable: Customer number for the supplier
          - `address` string, nullable: Address of the supplier
          - `city` string, nullable: Which city the supplier is from
          - `zipcode` string, nullable: Zipcode of the supplier
          - `note` string, nullable
          - `handle` string, nullable: Slug for the supplier based on the name
          - `accountnumber` number, nullable: Accountnumber for the supplier, used to cross reference this supplier to a supplier in e-conomic
          - `auto_create_orderlist` boolean, nullable: If true, an orderlist will be created automatically for this supplier
          - `auto_create_orderlist_frequency` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: The frequency of the orderlist creation
          - `auto_create_orderlist_day_of_week` integer[], nullable: The day of the week the orderlist should be created
          - `auto_create_orderlist_months` integer[], nullable: The months the orderlist should be created
          - `auto_create_orderlist_day_of_month` integer[], nullable: The day of the month the orderlist should be created
          - `auto_create_orderlist_minimum_costprice` number, nullable: The minimum costprice required to trigger the automatic creation of the order list
          - `external_supplier` string, nullable: The external supplier used for integrations, if given (e.g. "ponbike", etc)
          - `external_supplier_active` boolean, nullable: Whether the external supplier integration (e.g. "ponbike"/Gazelle) is currently authorized and active. Null when the supplier has no external_supplier.
          - `partner_store_id` integer, nullable: OBSOLETE - The store id from the available partner store
          - `verified_supplier_id` integer, nullable: Id of the verified supplier this supplier is linked to
          - `verified_supplier` VerifiedSupplierSummary
            - `id` integer, required
            - `name` string, required
            - `email` string, required
            - `image_url` string, nullable, required
        - `color` string, nullable
        - `styleno` string, nullable
        - `size` string, nullable
        - `brand` string, nullable
        - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
        - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
        - `vat_type` VatType
          - `id` integer
          - `name` string
          - `rate` number
          - `revenue_account_no` string, nullable: Revenue account number for the revenue incl amount
          - `is_ticket_override` boolean: When true, this VAT type can be used to seed override VAT on new repair tickets.
          - `vat_account_no` string, nullable: VAT account number for the revenue vat part
        - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
        - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
          - `title` string: The title of the tag
          - `id` integer, nullable: The ID of the tag
          - `accountno` integer, nullable: The accountno used for book keeping
          - `promotionfilter` PromotionTagFilter, nullable
            - `amount` integer, nullable: minimum amount of products in order to apply promotion
            - `date` object, nullable: date of when the promotion should be applied
              - …
          - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
          - `position` number, nullable: Number used to determine order of product tags.
          - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
          - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
        - `customfield1` string, nullable: Field for custom product data
        - `customfield2` string, nullable
        - `customfield3` string, nullable
        - `customfield4` string, nullable
        - `created` string, nullable
        - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
        - `totalstock` integer, nullable: The sum of serial products in stock
        - `totalavailablestock` integer, nullable: The sum of serial products available
        - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
        - `onshoppinglist` integer, nullable: Number of items already on shopping list.
        - `ordered` integer, nullable: Number of items currently in order
        - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
        - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
        - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
        - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
        - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
        - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
        - `storeid` integer, nullable: The owner storeid
        - `image` ProductImage: A Product's image
          - `blurhash` string, nullable
          - `preview_url` string
          - `full_url` string
        - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
        - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
        - `deleted_at` string, nullable: Deleted date, if product is soft deleted
      - `miscdata` string, nullable: Use to save any misc data with the transaction. Misc data will be cleared when transaction is commited
      - `pospaymentmaterialid` number, nullable: pospaymentmaterial id if transaction was triggered by a sale
      - `pospaymentmaterial` object, nullable: payment material object refered to by pospaymentmaterialid
        - `paymentid` integer
        - `id` integer
        - `returntagid` integer, nullable
      - `fulfillmentmaterialid` number, nullable: fulfillmentmaterial id if transaction was triggered by a salesorder order fulfillment
      - `fulfillmentmaterial` object, nullable: fulfillment material object refered to by fulfillmentmaterialid
        - `id` integer
        - `sales_order_fulfillment_id` integer
      - `orderid` number, nullable: set if the stock transaction was created from a shopping list item
      - `order` ShoppingListItem: The representation of a shopping list item. The shopping list is a set of products the store must rememeber to order from a supplier.
        - `id` integer, nullable: A unique ID
        - `productid` integer, nullable: a reference to the product. This field can only be set with POST
        - `supplierid` integer, nullable: The supplierid attached to the order
        - `amount` integer, required: The number of items to buy
        - `costprice` number, double, nullable: Cost price will default to product cost price if not specified
        - `expectedtotalcostprice` number, double, nullable: Used to check that `costprice` and `amount` is correct by verifying that `amount * costprice = expectedtotalcostprice`
        - `added` string, nullable: when added to the list
        - `materialid` integer, nullable: a reference to the task material. This field can only be set with POST
        - `taskid` integer, nullable: a reference to the task of the material
        - `taskno` string, nullable: task no for reference task
        - `orderlistno` integer, nullable: The orderlist no of the attached orderlist
        - `orderlistid` integer, nullable: The order id if the shopping list item has been ordered. Can only be set while creating a shopping list order. This field is write once
        - `delivereddate` string, nullable: when item has delivered to stock. Specificied by setting orderid when updating product.
        - `product` Product: The representation of a product.
          - `id` integer, nullable: A unique product ID
          - `title` string: Product name
          - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
          - `barcode` string, nullable: A unique barcode
          - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
          - `serieno` string, nullable
          - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
          - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
          - `costprice` number, double, nullable: Cost price of the product excl. VAT
          - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
          - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
          - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
          - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
          - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
          - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
          - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
          - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
            - `id` integer, nullable: A unique id for a supplier
            - `name` string: The name of a supplier
            - `email` string, nullable: The mail of a supplier
            - `customerno` string, nullable: Customer number for the supplier
            - `address` string, nullable: Address of the supplier
            - `city` string, nullable: Which city the supplier is from
            - `zipcode` string, nullable: Zipcode of the supplier
            - `note` string, nullable
            - `handle` string, nullable: Slug for the supplier based on the name
            - `accountnumber` number, nullable: Accountnumber for the supplier, used to cross reference this supplier to a supplier in e-conomic
            - `auto_create_orderlist` boolean, nullable: If true, an orderlist will be created automatically for this supplier
            - `auto_create_orderlist_frequency` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: The frequency of the orderlist creation
            - `auto_create_orderlist_day_of_week` integer[], nullable: The day of the week the orderlist should be created
            - `auto_create_orderlist_months` integer[], nullable: The months the orderlist should be created
            - `auto_create_orderlist_day_of_month` integer[], nullable: The day of the month the orderlist should be created
            - `auto_create_orderlist_minimum_costprice` number, nullable: The minimum costprice required to trigger the automatic creation of the order list
            - `external_supplier` string, nullable: The external supplier used for integrations, if given (e.g. "ponbike", etc)
            - `external_supplier_active` boolean, nullable: Whether the external supplier integration (e.g. "ponbike"/Gazelle) is currently authorized and active. Null when the supplier has no external_supplier.
            - `partner_store_id` integer, nullable: OBSOLETE - The store id from the available partner store
            - `verified_supplier_id` integer, nullable: Id of the verified supplier this supplier is linked to
            - `verified_supplier` VerifiedSupplierSummary
              - …
          - `color` string, nullable
          - `styleno` string, nullable
          - `size` string, nullable
          - `brand` string, nullable
          - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
          - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
          - `vat_type` VatType
            - `id` integer
            - `name` string
            - `rate` number
            - `revenue_account_no` string, nullable: Revenue account number for the revenue incl amount
            - `is_ticket_override` boolean: When true, this VAT type can be used to seed override VAT on new repair tickets.
            - `vat_account_no` string, nullable: VAT account number for the revenue vat part
          - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
          - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `customfield1` string, nullable: Field for custom product data
          - `customfield2` string, nullable
          - `customfield3` string, nullable
          - `customfield4` string, nullable
          - `created` string, nullable
          - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
          - `totalstock` integer, nullable: The sum of serial products in stock
          - `totalavailablestock` integer, nullable: The sum of serial products available
          - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
          - `onshoppinglist` integer, nullable: Number of items already on shopping list.
          - `ordered` integer, nullable: Number of items currently in order
          - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
          - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
          - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
          - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
          - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
          - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
          - `storeid` integer, nullable: The owner storeid
          - `image` ProductImage: A Product's image
            - `blurhash` string, nullable
            - `preview_url` string
            - `full_url` string
          - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
          - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
          - `deleted_at` string, nullable: Deleted date, if product is soft deleted
        - `partner_product` Product: The representation of a product.
          - `id` integer, nullable: A unique product ID
          - `title` string: Product name
          - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
          - `barcode` string, nullable: A unique barcode
          - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
          - `serieno` string, nullable
          - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
          - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
          - `costprice` number, double, nullable: Cost price of the product excl. VAT
          - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
          - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
          - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
          - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
          - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
          - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
          - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
          - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
            - `id` integer, nullable: A unique id for a supplier
            - `name` string: The name of a supplier
            - `email` string, nullable: The mail of a supplier
            - `customerno` string, nullable: Customer number for the supplier
            - `address` string, nullable: Address of the supplier
            - `city` string, nullable: Which city the supplier is from
            - `zipcode` string, nullable: Zipcode of the supplier
            - `note` string, nullable
            - `handle` string, nullable: Slug for the supplier based on the name
            - `accountnumber` number, nullable: Accountnumber for the supplier, used to cross reference this supplier to a supplier in e-conomic
            - `auto_create_orderlist` boolean, nullable: If true, an orderlist will be created automatically for this supplier
            - `auto_create_orderlist_frequency` 'daily' | 'weekly' | 'monthly' | 'yearly' | 'null', nullable: The frequency of the orderlist creation
            - `auto_create_orderlist_day_of_week` integer[], nullable: The day of the week the orderlist should be created
            - `auto_create_orderlist_months` integer[], nullable: The months the orderlist should be created
            - `auto_create_orderlist_day_of_month` integer[], nullable: The day of the month the orderlist should be created
            - `auto_create_orderlist_minimum_costprice` number, nullable: The minimum costprice required to trigger the automatic creation of the order list
            - `external_supplier` string, nullable: The external supplier used for integrations, if given (e.g. "ponbike", etc)
            - `external_supplier_active` boolean, nullable: Whether the external supplier integration (e.g. "ponbike"/Gazelle) is currently authorized and active. Null when the supplier has no external_supplier.
            - `partner_store_id` integer, nullable: OBSOLETE - The store id from the available partner store
            - `verified_supplier_id` integer, nullable: Id of the verified supplier this supplier is linked to
            - `verified_supplier` VerifiedSupplierSummary
              - …
          - `color` string, nullable
          - `styleno` string, nullable
          - `size` string, nullable
          - `brand` string, nullable
          - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
          - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
          - `vat_type` VatType
            - `id` integer
            - `name` string
            - `rate` number
            - `revenue_account_no` string, nullable: Revenue account number for the revenue incl amount
            - `is_ticket_override` boolean: When true, this VAT type can be used to seed override VAT on new repair tickets.
            - `vat_account_no` string, nullable: VAT account number for the revenue vat part
          - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
          - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
            - `title` string: The title of the tag
            - `id` integer, nullable: The ID of the tag
            - `accountno` integer, nullable: The accountno used for book keeping
            - `promotionfilter` PromotionTagFilter, nullable
              - …
            - `handle` string, nullable: Unique handle for the produttag. Will be set automatically if not set. The handle is write once, and can not be changed after the tag is created.
            - `position` number, nullable: Number used to determine order of product tags.
            - `positionafterid` number, nullable: If this is set, the position of this product tag will be between positionafterid and the tag below if it exists.
            - `positionbeforeid` number, nullable: If this is set, the position of this product tag will be between positionbeforeid and the tag above if it exists.
          - `customfield1` string, nullable: Field for custom product data
          - `customfield2` string, nullable
          - `customfield3` string, nullable
          - `customfield4` string, nullable
          - `created` string, nullable
          - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
          - `totalstock` integer, nullable: The sum of serial products in stock
          - `totalavailablestock` integer, nullable: The sum of serial products available
          - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
          - `onshoppinglist` integer, nullable: Number of items already on shopping list.
          - `ordered` integer, nullable: Number of items currently in order
          - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
          - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
          - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
          - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
          - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
          - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
          - `storeid` integer, nullable: The owner storeid
          - `image` ProductImage: A Product's image
            - `blurhash` string, nullable
            - `preview_url` string
            - `full_url` string
          - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
          - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
          - `deleted_at` string, nullable: Deleted date, if product is soft deleted
        - `received` integer, nullable: Amount of items that are received
        - `inorder` integer, nullable: Amount of items that are not received
        - `pending` integer, nullable: Amount of items that are in a stocktransaction reception but not completed yet.
        - `pendingmove` integer, nullable: Amount of items that are in a stocktransaction move but not completed yet.
        - `sent_from_partner` integer, nullable: Amount of items that are sent from the partner store.
        - `partner_order_on_shopping_list` integer, nullable: Total amount of partner order items that have been added to the shopping list.
        - `partner_order_list_id` integer, nullable: The order id coming from a partner order.
        - `receivedstatus` 'completed' | 'partial' | 'none'
        - `material` TicketMaterial
          - `id` integer, nullable: A unique TicketMaterial ID
          - `taskid` integer, required
          - `title` string, required
          - `amount` number, required
          - `customerarticleid` integer, nullable
          - `customerarticle` CustomerArticle
            - `id` integer, nullable: A unique CustomerArticle ID
            - `dateadded` string, nullable: The date the customertarticle was created
            - `customerid` integer: The ID of the customer the customerarticle belongs to
            - `customer` Customer: The representation of a customer.
              - …
            - `title` string
            - `serieno` string, nullable
            - `color` string, nullable
            - `size` string, nullable
            - `customfield1` string, nullable
            - `customfield2` string, nullable
            - `customfield3` string, nullable
            - `customfield4` string, nullable
            - `storeid` integer: ID of the owning store
            - `servicesubscription` ServiceSubscription
              - …
            - `hasservicenotices` boolean: Whether or not the customer article has any service notices, check servicenotices_count instead
            - `servicenotices_count` integer: Amount of service notices
            - `permission` 'none' | 'readonly' | 'full'
            - `deleted` integer, nullable: If 1 this means that the customerarticle is deleted, 0 is not deleted.
            - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
            - `last_sold_at` string, nullable: Timestamp of when the customerarticle was last sold on a payment (this does not include return payments)
          - `price` number, double, nullable, required: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
          - `costprice` number, double, nullable: Cost price of the product.
          - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat". See `total_ex_vat` for the total price excluding VAT.
          - `calculatedvat` number, double, nullable: The calculated VAT for the product's price field. See `total_vat` for the total VAT amount.
          - `productid` integer, nullable
          - `product` Product: The representation of a product.
            - `id` integer, nullable: A unique product ID
            - `title` string: Product name
            - `productno` string: The product no. This must be unique. If serieno is set we allow multiple products to have the same product no. For new products this value must be at most 25 chars
            - `barcode` string, nullable: A unique barcode
            - `alternativebarcode` string, nullable: This will be used when searching for a barcode, if it could not find the product, it will search for alternative barcodes for the product. You can include multiple barcodes by separating it with spaces. It will not be used in print, for example price label/sign, instead "barcode" is used.
            - `serieno` string, nullable
            - `price` number, double, nullable: Price of the product. By default price includes VAT but can be changed in the store config "prices_include_vat".
            - `pricewithoutvat` number, double, nullable: Consistently give the calculcated price without VAT. Regardless of the value of store config "prices_include_vat"
            - `costprice` number, double, nullable: Cost price of the product excl. VAT
            - `recommendedretailprice` number, double, nullable: Recommended retail price of the product
            - `stockno` integer, nullable: Number of items in stock. Set to null to disable stock keeping. Change this value if you want to overwrite the stock number. This will trigger a stock transaction rest hook If you want update stock number relative, add a stock transaction and use addtostock.
            - `previousstockno` integer, nullable: Deprecated. Use stock transactions. Previous stockno value. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 0
            - `stocknochangetype` 'absolute' | 'relative', nullable: Deprecated. Use stock transactions. Type of stockno change. Only set in RestHook events; in product.updated if stockno has changed; and always in product.created with a value of 'absolute'. When relative it indicates adding or removing (e.g. selling) items from inventory. When absolute it indicates taking inventory, e.g. setting an initial value or correcting an errornous value. See also stocknochangeisrelative in SetProduct.
            - `stockmin` integer, nullable: The minimum number of items that must be in stock before the product is in the state of needs ordering
            - `stockmax` integer, nullable: Used to suggest the number of items to be ordered when the product is added to the ordering list.
            - `suppliername` string, nullable: This field is obsolete and therefore can't add a supplier using this field. If you want to add a supplier use the "suppliers" field instead
            - `suppliers` Supplier[], nullable: List of suppliers attached to the product. If you leave supplier id empty, any suppliername that does not exits will be created.
              - …
            - `color` string, nullable
            - `styleno` string, nullable
            - `size` string, nullable
            - `brand` string, nullable
            - `vat` number, double, nullable: DEPRECATED FOR WRITE. Create `VatType` with the desired rate and assign the `vat_type_id` instead. The VAT of the product in percent. Should in most cases be NULL. NULL will default the VAT value to the one specified in store config (25 % for DK customers). When `vat_type_id` is set, this field reflects the rate of the assigned VAT type.
            - `vat_type_id` integer, nullable: The id of the assigned VAT type. When set, the product uses the rate of the referenced VAT type.
            - `vat_type` VatType
              - …
            - `lastordered` string, nullable: The date for when the product was last ordered. Can only be set while create a shoppinglistorder
            - `tags` ProductTag[], nullable: List of product tags. Hint, if you leave tag id empty, any tag that does not exist will be created.
              - …
            - `customfield1` string, nullable: Field for custom product data
            - `customfield2` string, nullable
            - `customfield3` string, nullable
            - `customfield4` string, nullable
            - `created` string, nullable
            - `reservedstock` integer, nullable: Number of items of this product reserved on open tickets
            - `totalstock` integer, nullable: The sum of serial products in stock
            - `totalavailablestock` integer, nullable: The sum of serial products available
            - `tobeordered` integer, nullable: Number of items that needs to be ordered. Based on stockmin, stockmax and whats already on shopping list.
            - `onshoppinglist` integer, nullable: Number of items already on shopping list.
            - `ordered` integer, nullable: Number of items currently in order
            - `needsordering` integer, nullable: True if the product is in low stock and needs to be ordered. Based on stockmin, stockmax and whats already in order.
            - `discountprice` number, nullable: The discounted price of the product. The discountprice can only be changed if the field is the defined in body with PUT requests. If a promotion exists for a product, and a discountprice is set to a product, the discount chosen would be the best discount for the product, which makes the product the cheapest. If you want to include discountprice for a specific product with discountprice use "includeDiscountPrice" in query and set the value to 1.
            - `calculcatedvat` number, double, nullable: The calculated VAT for the product's price field.
            - `webshopurl` string, nullable: Permalink to a products webshop page, this is used when fetching Opengraph images.
            - `vatmode` 'normal' | 'second_hand': < `normal` vat calculation is based on `price` `second_hand` vat calulation is based on `price - costprice`
            - `updated_at` string, nullable: Timestamp for when the last time the customer is updated.
            - `storeid` integer, nullable: The owner storeid
            - `image` ProductImage: A Product's image
              - …
            - `availabletoorder` integer, nullable: True by default. Enables the shopping-cart icon for the product that makes the product available to be ordered.
            - `syncproductdatawebshop` boolean, nullable: Whether or not to sync changes to webshop.
            - `deleted_at` string, nullable: Deleted date, if product is soft deleted
          - `productno` string, nullable
          - `discount_tm_id` integer, nullable
          - `usedGiftcardid` integer, nullable: If set, the material represents the use of giftcard for paying for the tasks
          - `usedGiftcard` Giftcard: A giftcard
            - `id` integer: A unique ID
            - `giftcardno` string: a unique string to identify giftcards.
            - `amount` number, double: The inital amount on the giftcard. Can only be set when the gift is created
            - `amountspent` number, double: The amount spent of the giftcard. Balance of the giftcard can be calculcated by `amount - amountspent`.
            - `paymentid` integer, nullable: If the giftcard was issued by a payment.
            - `type` 'giftcard' | 'voucher' | 'deposit'
            - `store` Store: Store object
              - …
            - `customer` Customer: The representation of a customer.
              - …
            - `customerid` integer, nullable: The unique customer ID of the currently registered customer of the giftcard, or null if none
            - `vat` number, nullable: The VAT percentage of the payment that issued the giftcard
            - `productid` integer, nullable: To be removed
            - `productno` string, nullable: To be removed
            - `external_id` number, nullable: The external id to Shopify etc.
            - `createddate` string: When the giftcard was created.
            - `expirationdate` string: When the giftcard expires. Defaults to the createddate + the value of the storeconfig "giftcard_expiration_years".
            - `draft` integer: Whether the giftcard is a draft (1) or finalized (0). Draft giftcards are created during discount-to-voucher conversion and finalized on payment completion.
            - `expired` boolean: If the giftcard has expired based on expirationdate.
            - `active` boolean, nullable: The giftcard is active if its not expired and amountspent is less than amount.
            - `deleted_at` string, nullable: When the giftcard was deleted.
            - `deleted` boolean: If the giftcard has been deleted based on deleted_at.
          - `promotionid` integer, nullable: The promotion id of the that triggered the discount
          - `deletedpromotion` integer, nullable: If a promotion is deleted from a taskmaterial, then this value is set to 1, meaning every promotion on the material will not be applied
          - `expecteddeliveries` string[]: List of dates, when the material is expected to be delivered from ongoing orders
          - `position` number: Number used to determin the order of the materials
          - `discounttagid` integer, nullable: Which discount tag it is attached to
          - `discountid` number, nullable: ID of the discount applied to the material. This will be null if the material has multiple discounts or if no discount is attached.
          - `discounttaglabel` string, nullable: Label of the discount tag
          - `bundleid` integer, nullable
          - `type` string, nullable: Can currently only be "newservicesubscription"
          - `servicesubscriptionid` integer, nullable: The id of the servicesubscription to be activated when payment completed
          - `servicesubscription` ServiceSubscription
            - `id` integer, nullable: A unique service id
            - `customerarticleid` integer: Which customer article that has been assigned to this subcription
            - `serviceplanid` integer, nullable: The id of the serviceplan it is attached to.
            - `serviceplan` ServicePlan
              - …
            - `draft` integer, nullable: Whether or not the subscription is in draft mode or not.
            - `updated_at` string, date-time, nullable: When the service was last updated
            - `created_at` string, date-time, nullable: When the service was created
            - `deleted_at` string, date-time, nullable: When the service was deleted
            - `startdate` string, nullable: When the service has started
            - `enddate` string, nullable: When the service is supposed to end. Set if the serviceplan has terms
            - `price` number, nullable: The price of the serviceplan when the service was activated
            - `permission` Permission
              - …
            - `active` boolean, nullable: Whether or not the subscription is active, by looking at start- and enddate compared to today
          - `availablestock` integer, nullable: Number of non-reserved products in stock, ignoring the amount reserved by the material itself. Is null, if the material doesn't have a product, or stock keeping is disabled for the product.
          - `availablestockexceeded` boolean: Is true, if the amount exceeds the available stock count otherwise false. Will always be false, if the material doesn't have a product, or stock keeping is disabled for the product.
          - `amountpaid` number, nullable: Amount of the material that is paid (sum of quantities on completed payments). Only included when requested with `withamountpaid` on the list endpoint.
          - `addonparentmaterialid` integer, nullable: The id of the parent material. If set, this paymentmaterial is considered to be an addon
          - `total_vat` number, double, nullable: Total vat amount
          - `total_ex_vat` number, double, nullable: Total price excluding VAT
          - `total_incl_vat` number, double, nullable: Total price including VAT
        - `expecteddelivery` string, nullable
      - `costpriceavg` number, double, nullable: The average stock value of the product at the time of the transaction
      - `totalstockvalueavg` number, double, nullable: The total average stock value of the product at the time of the transaction
      - `totalstockvaluefifo` number, double, nullable
      - `totalcostpricefifo` number, double, nullable
      - `userid` integer, nullable: Id of user who made the stocktransaction
      - `stocktransactiontagid` integer, nullable: Id of the StockTransactionTag attached to the transaction
      - `stocktransactiontag` StockTransactionTag
        - `id` integer, nullable
        - `title` string
        - `handle` string, nullable
      - `fromstocktransactionid` integer, nullable: Id of the stocktransaction that was created from the partner store
    - `count` number, nullable
  - `failedListId` number, nullable

---

[API](https://skmtc.dev/c1st/apis/customers-1st-api.md) - [All operations](https://skmtc.dev/c1st/apis/customers-1st-api/llms.txt) - [OpenAPI document](https://skmtc.dev/c1st/apis/customers-1st-api/revisions/4250bb326f2a?raw)
