---
title: "Creates one or more items"
method: PUT
path: "/Items"
tags: ["Accounting"]
---

# Creates one or more items

`PUT /Items`

## Query parameters

- `summarizeErrors` boolean
- `unitdp` integer

## Headers

- `Idempotency-Key` string

## Request body

- Items
  - `Items` Item[]
    - `Code` string, required — User defined item code (max length = 30)
    - `InventoryAssetAccountCode` string — The inventory asset account for the item. The account must be of type INVENTORY. The COGSAccountCode in PurchaseDetails is also required to create a tracked item
    - `Name` string — The name of the item (max length = 50)
    - `IsSold` boolean — Boolean value, defaults to true. When IsSold is true the item will be available on sales transactions in the Xero UI. If IsSold is updated to false then Description and SalesDetails values will be nulled.
    - `IsPurchased` boolean — Boolean value, defaults to true. When IsPurchased is true the item is available for purchase transactions in the Xero UI. If IsPurchased is updated to false then PurchaseDescription and PurchaseDetails values will be nulled.
    - `Description` string — The sales description of the item (max length = 4000)
    - `PurchaseDescription` string — The purchase description of the item (max length = 4000)
    - `PurchaseDetails` Purchase
      - `UnitPrice` number, double — Unit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.
      - `AccountCode` string — Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items
      - `COGSAccountCode` string — Cost of goods sold account. Only applicable to the purchase details of tracked items.
      - `TaxType` string — The tax type from TaxRates
    - `SalesDetails` Purchase
      - `UnitPrice` number, double — Unit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.
      - `AccountCode` string — Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items
      - `COGSAccountCode` string — Cost of goods sold account. Only applicable to the purchase details of tracked items.
      - `TaxType` string — The tax type from TaxRates
    - `IsTrackedAsInventory` boolean — True for items that are tracked as inventory. An item will be tracked as inventory if the InventoryAssetAccountCode and COGSAccountCode are set.
    - `TotalCostPool` number, double — The value of the item on hand. Calculated using average cost accounting.
    - `QuantityOnHand` number, double — The quantity of the item on hand
    - `UpdatedDateUTC` string — Last modified date in UTC format
    - `ItemID` string, uuid — The Xero identifier for an Item
    - `StatusAttributeString` string — Status of object
    - `ValidationErrors` ValidationError[] — Displays array of validation error messages from the API
      - `Message` string — Validation error message

## Response `200`

Success - return response of type Items array with newly created Item

- Items
  - `Items` Item[]
    - `Code` string, required — User defined item code (max length = 30)
    - `InventoryAssetAccountCode` string — The inventory asset account for the item. The account must be of type INVENTORY. The COGSAccountCode in PurchaseDetails is also required to create a tracked item
    - `Name` string — The name of the item (max length = 50)
    - `IsSold` boolean — Boolean value, defaults to true. When IsSold is true the item will be available on sales transactions in the Xero UI. If IsSold is updated to false then Description and SalesDetails values will be nulled.
    - `IsPurchased` boolean — Boolean value, defaults to true. When IsPurchased is true the item is available for purchase transactions in the Xero UI. If IsPurchased is updated to false then PurchaseDescription and PurchaseDetails values will be nulled.
    - `Description` string — The sales description of the item (max length = 4000)
    - `PurchaseDescription` string — The purchase description of the item (max length = 4000)
    - `PurchaseDetails` Purchase
      - `UnitPrice` number, double — Unit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.
      - `AccountCode` string — Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items
      - `COGSAccountCode` string — Cost of goods sold account. Only applicable to the purchase details of tracked items.
      - `TaxType` string — The tax type from TaxRates
    - `SalesDetails` Purchase
      - `UnitPrice` number, double — Unit Price of the item. By default UnitPrice is rounded to two decimal places. You can use 4 decimal places by adding the unitdp=4 querystring parameter to your request.
      - `AccountCode` string — Default account code to be used for purchased/sale. Not applicable to the purchase details of tracked items
      - `COGSAccountCode` string — Cost of goods sold account. Only applicable to the purchase details of tracked items.
      - `TaxType` string — The tax type from TaxRates
    - `IsTrackedAsInventory` boolean — True for items that are tracked as inventory. An item will be tracked as inventory if the InventoryAssetAccountCode and COGSAccountCode are set.
    - `TotalCostPool` number, double — The value of the item on hand. Calculated using average cost accounting.
    - `QuantityOnHand` number, double — The quantity of the item on hand
    - `UpdatedDateUTC` string — Last modified date in UTC format
    - `ItemID` string, uuid — The Xero identifier for an Item
    - `StatusAttributeString` string — Status of object
    - `ValidationErrors` ValidationError[] — Displays array of validation error messages from the API
      - `Message` string — Validation error message

## Other responses

- `400` — A failed request due to validation error

---

[API](https://skmtc.net/xeroapi/apis/xero-accounting-api.md) · [All operations](https://skmtc.net/xeroapi/apis/xero-accounting-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xeroapi/xero-accounting-api/versions/dc231cafd8de/schema)
