# Upserts Items in bulk This endpoint allows for bulk upserting of item configuration changes. Creating items does have a different set of fields that are required than updating. ### Creating an Item The fields that are required to create an item are as followed: itemSku, defaultVendorCode, defaultVendorCost, levelCode, description, initialStoreCode, and dimension1Desc. ### Updating an Item The only field that is required for an update is the itemSku field as that is what is used for matching to an existing item for updating. Any fields that are not supposed to be updated should be passed in as a null or omitted from the body of the request. ### Validation Errors Any kind of data validation will be passed back as a body response similar to the following. json { "Message": "Unable to import item configs at this time", "Errors": [ { "Message": "error processing item configurations", "Extensions": [ { "errorText": "Value:317 does not match an existing vendor/manufacturer code.", "field": "manufacturerCode" } ] } ] } This validation error reflects that the manufacturerCode value does not exist as a valid vendor code in the Yellow Dog Inventory Instance. When a validation error occurs then the entire request will fail. ### Additional Notes Processing the item changes can take up to 10 minutes to process due to the amount of background processing that needs to be done. Endpoint: PATCH /items Version: v3.0: 3.26.2.2 Security: Auth API User Token ## Request fields (application/json-patch+json): - `importData` (array,null) Values to be used for setting the imports - `importData.itemSku` (string,null) SKU of the ItemThis must be an item that already exists in the database or it must be provided when importing the item.This can be found by opening up Yellow Dog Inventory and looking at the sku column in the Inventory Items screen. - `importData.defaultVendorCode` (string,null) Sets the default vendor for an item.This Vendor Code must already exist in the Database.This is required for creating an item. - `importData.defaultVendorCost` (number) Sets the Default Vendors Cost for this item.This is required for creating an item. - `importData.levelCode` (string,null) Fully qualified notation of the level.'30 Food / 10 Meat / 15 Beef' is the valid value for a Level of the following structure- Department: 30 Food- Category: 10 Meat- Subcategory: 15 BeefThis must already exist as a Level in the Database.This is required for creating an item. - `importData.dimension1Desc` (string,null) Description of the 1st dimension of the item. This is usually the Size.This must already exist as a Dimension 1 in the Database.This is required for creating an item. - `importData.dimension2Desc` (string,null) Description of the 2nd dimension of the item. This is usually the Color.This must already exist as a Dimension in the Database. - `importData.dimension3Desc` (string,null) Description of the 3rd dimension of the itemThis must already exist as a Dimension in the Database. - `importData.dimension4Desc` (string,null) Description of the 4th dimension of the item.This must already exist as a Dimension in the Database. - `importData.dimension5Desc` (string,null) Description of the 5th dimension of the itemThis must already exist as a Dimension in the Database. - `importData.dimension6Desc` (string,null) Description of the 6th dimension of the itemThis must already exist as a Dimension in the Database. - `importData.dimension7Desc` (string,null) Description of the 7th dimension of the itemThis must already exist as a Dimension in the Database. - `importData.dimension8Desc` (string,null) Description of the 8th dimension of the itemThis must already exist as a Dimension in the Database. - `importData.dimension9Desc` (string,null) Description of the 9th dimension of the itemThis must already exist as a Dimension in the Database. - `importData.dimension10Desc` (string,null) Description of the 10th dimension of the itemThis must already exist as a Dimension in the Database. - `importData.description` (string,null) Description of the item. This is required when creating an item. - `importData.shortDescription` (string,null) Short Description of the Item - `importData.posDescription1` (string,null) POS 1 Description of the Item. This is often used as the description of the item in the point of sale, but that depends on the point of sale integration. - `importData.posDescription2` (string,null) POS 2 Description of the Item. This is sometimes used as a secondary description of the item in the point of sale, but that depends on the point of sale integration. - `importData.reference1` (string,null) Free text field for additional reference notes or identifiers. Reference has no specific business use within YDI. Use this field to record other necessary, customer-specific information. - `importData.reference2` (string,null) Free text field for additional reference notes or identifiers. Reference has no specific business use within YDI. Use this field to record other necessary, customer-specific information. - `importData.reference3` (string,null) Free text field for additional reference notes or identifiers. Reference has no specific business use within YDI. Use this field to record other necessary, customer-specific information. - `importData.reference4` (string,null) Free text field for additional reference notes or identifiers. Reference has no specific business use within YDI. Use this field to record other necessary, customer-specific information. - `importData.msrp` (number,null) Manufacturer's Suggested Retail Price of the item. - `importData.uom` (string,null) Unit of Measure for this item. - `importData.expirationDays` (number,null) Expiration Days of the item. This can be found in YDInv in the Item Editor > F&B Other tab. - `importData.notes` (string,null) Notes for the item are located in the Item Editor > Other Details tab in YDInv. - `importData.childCount` (number,null) Set how much the parent the Child Item of a Parent/Child relationship.Examples: - Parent Child where the Parent is an Each and the Child is a 2 Pack of the Parent the childCount is .5 (1/2). - Parent Child where the Parent is a Each and the Child is a Case Size of 24 the childCount is 0.041666666667 (1/24)Defaults to 1. - `importData.childUsage` (number,null) This is the expected usage amount of a child item. This should be the decimal representation of the percentage.This defaults to 1.0 (100%) - `importData.isActive` (boolean,null) Defaults to True. - `importData.isPrintLabels` (boolean,null) When false this item will not automatically generate labels while being recieved. - `importData.isNoCount` (boolean,null) When true, this item's on hand will always report as zero, and no costs or inventory adjustments will be stored. - `importData.isPurchaseOrderEnabled` (boolean,null) Defaults to True. When true, this item can be added to Purchase Orders. - `importData.isPosEnabled` (boolean,null) Defaults to False. When false, this item can not be sent to the point of sale. - `importData.isPhysicalInventoryEnabled` (boolean,null) Defaults to True. When true, this item can be added to Physical Inventories. - `importData.isManualAdjustEnabled` (boolean,null) Defaults to True. When true, this item can be adjusted in the Manual Adjustment editor. - `importData.isTransferEnabled` (boolean,null) Defaults to True. When true, this item can be added to Transfers. - `importData.isPrdTransferItem` (boolean,null) Production Transfer Items are recipe items that will subtract ingredients from the Production store and add on hand to the destination store when used in a Transfer. - `importData.isRecipeIngredientItem` (boolean,null) When true, this item can be used as an ingredient in recipes. - `importData.syncTrigger` (string,null) - `importData.converted` (string,null) This is a unique ID for the item. This value is not visible in YDInv and is generally only used by Yellow Dog Guides. - `importData.placement` (integer,null) - `importData.shippingWeight` (number,null) Shipping Weight of the item. - `importData.shippingHeight` (number,null) Shipping Height of the item. - `importData.shippingWidth` (number,null) Shipping Width of the item. - `importData.shippingLength` (number,null) Shipping Length of the item. - `importData.style` (string,null) Style code of the item. This is used to group like items together, such as a matrix of shirts that all have the same Style code/number. - `importData.isEvergreen` (boolean,null) Evergreen items are items that do not expire or do not "Age". This indicator is used to help manage the items that are always good for inventory or do not turn by season/year. - `importData.isChargeable` (boolean,null) Chargeable items are used with Stand Sheets, to control which items are counted by the Stand Operators when reconciling. - `importData.isRequestEnabled` (boolean,null) Defaults to True. When true, this item can be added to Requests. - `importData.isNonChargeable` (boolean,null) Non-Chargeable items are used with Stand Sheets, to control which items are counted by the Stand Operators when reconciling. - `importData.isSupplies` (boolean,null) Supply items are used with Stand Sheets, to control which items are counted by the Stand Operators when reconciling. - `importData.isRestockSize` (boolean,null) Specified which item size of a parent/child is used for restocking standing. - `importData.startingRetail` (number,null) This value can appear on labels and some reports. Used to compare current price against starting price (for Sales, Markdowns, clearance, etc). - `importData.allowDecimalQuantity` (boolean,null) If true, this item can be pulled into a purchase order with a fractional quantity.By default, the quantity will be rounded to a whole number when added to a PO by Par level.Defaults to true. - `importData.defaultRetailPrice` (number,null) Item Retail to be used when new stores are added to an items availability.This it propagated to the Stores as the item's retail. Additional changes to that stores retail can be made in the Item Editor's Stores Tab. - `importData.isPreferredPurchasingSize` (boolean,null) - `importData.upc1` (string,null) Inserts or updates the UPC for the item in the first position for this item.If a UPC already exists for the Item this will overwrite it.This can be found in the Item Editor of Yellow Dog Inventory.Additional codes that can be used by the POS for searching or scanning for items. Can be codes other than UPC, such as old label SKUs. These codes must be unique per Item. - `importData.parentItemSku` (string,null) Creates a relationship of parent/child items.This field should be populated with the parent item's SKU when you want the line item in the file to be a child of that item.Note that the parent and/or child can be created in the same import; the parent item or child item do not have to be created before the file that is setting up this relationship. - `importData.vendorPartNumber` (string,null) The default vendors part number for an item.In previous versions of YDInv this was referred to as a Vendor SKU. - `importData.webpropertyTitle` (string,null) Use of this field on the website is dependent on the Ecommerce integration. In YDInv, this is the Title in the Item Editor > Web Properties tab. - `importData.webpropertyDescription` (string,null) Use of this field on the website is dependent on the Ecommerce integration. In YDInv, this is the Short Description in the Item Editor > Web Properties tab. - `importData.webpropertyExtendedDescription` (string,null) Use of this field on the website is dependent on the Ecommerce integration. In YDInv, this is the Extended Description in the Item Editor > Web Properties tab. - `importData.webpropertyAvailableDate` (string,null) Use of this field on the website is dependent on the Ecommerce integration. In YDInv, this is the Available From Date in the Item Editor > Web Properties tab. - `importData.webpropertyExpiresDate` (string,null) In YDInv, this is the Available To Date in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertyItemSaleRetail` (number,null) In YDInv, this is the Sale Retail field in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertyItemSalePercentOff` (number,null) In YDInv, this is the Percent Off field in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertySale` (boolean,null) In YDInv, this is the On Sale checkbox in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertySaleBegins` (string,null) In YDInv, this is the Sale From Date in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertySaleEnds` (string,null) In YDInv, this is the Sale To Date in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertyFlagA` (boolean,null) In YDInv, this is the New Item Checkbox in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertyFlagB` (boolean,null) In YDInv, this is the Last Chance Checkbox in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertyFlagC` (boolean,null) In YDInv, this is the Taxable Checkbox in the Item Editor > Web Properties tab. Use of this field on the website is dependent on the Ecommerce integration. - `importData.webpropertyAvailable` (boolean,null) In YDInv, this is the Send to Website Checkbox in the Item Editor > Web Properties tab. This is normally used to make the item available to the website, but this functionality depends on the Ecommerce integration. - `importData.webpropertyPlacement` (integer,null) In YDInv, this is the Placement order of items in a matrix in the Matrix Editor > Web Properties tab. Most often this is used to determine the primary matrix item, which holds the interface settings for the matrix, and, when only one image can be pushed to a POS/Web Cart, this item's image would be the one used. All of this is dependent on the POS/ECommerce integration. - `importData.webpropertyTags` (string,null) In YDInv, this is the Tags field in the Item Editor > Web Properties tab. Use of this field on the website depends on the Ecommerce integration. - `importData.webpropertyProductType` (string,null) In YDInv, this is the Product Type field in the Item Editor > Web Properties tab. Use of this field on the website depends on the Ecommerce integration. - `importData.manufacturerCode` (string,null) The Code of the Manufacturer.This must already exist as a Vendor in YDInv. The manufacturer is typically the company that creates the product. It is not required for ordering. - `importData.initialStoreCode` (string,null) Code of the storeThis must be a store that already exists in the database and is not deleted. ## Response 500 fields (text/plain): - `message` (string,null) - `errors` (array,null) - `errors.extensions` (string,null) ## Response 200 fields ## Response 400 fields ## Response 403 fields ## Response 429 fields