Create a New Standard Item: /items
Purpose
This API creates a new item of type STANDARD and stores its details including codes, inventory settings, pricing method, and sale properties.
Use Case
Used by systems that need to automate or manage inventory by programmatically creating standard items for sale or warehouse purposes.
Path Parameters
No path parameters required for this endpoint.
Query Parameters
No query parameters required for this endpoint.
Request Body
{
"items": {
"id": "ITEM_ID",
"type": "STANDARD",
"name": "ITEM_NAME",
"codes": [
{
"name": "CODE_NAME",
"value": "CODE_VALUE"
}
],
"sale": {
"isEnabled": "BOOLEAN_STRING",
"pricing_method": "PRICING_METHOD",
"charge": {
"type": "CHARGE_TYPE"
},
"pricing": {
"type": "PRICING_TYPE"
},
"default_sale_price": DEFAULT_PRICE
},
"inventories": {
"isEnabled": "BOOLEAN_STRING",
"warehouse_isEnabled": "BOOLEAN_STRING",
"warehouses": [
{
"name": "WAREHOUSE_NAME",
"quantity_available": "QUANTITY",
"accounting_code": "ACCOUNTING_CODE"
}
],
"inventory_properties": {
"quantity_available_for_sale_determination": "CRITERIA_COMMA_SEPARATED",
"quantity_available_for_sale": "AVAILABILITY_TYPE"
}
}
}
}
Field | Type | Description |
---|---|---|
id | String | Optional unique identifier for the item. |
type | String | Type of item to create (STANDARD). |
name | String | Name of the item. |
codes | Array | List of identifying codes such as UPC. |
sale.isEnabled | String | Whether the item is available for sale. |
sale.pricing_method | String | Pricing method for sale (STANDARD). |
sale.charge.type | String | Charge type (ONE_OFF). |
sale.pricing.type | String | Sale pricing strategy (PER_UNIT_PRICING). |
sale.default_sale_price | Float | Default sale price of the item. |
inventories.isEnabled | String | Whether inventory tracking is enabled. |
inventories.warehouse_isEnabled | String | Whether warehouse support is enabled. |
inventories.warehouses[].name | String | Name of the warehouse. |
inventories.warehouses[].quantity_available | String | Quantity available in the warehouse. |
inventories.warehouses[].accounting_code | String | Accounting code for inventory. |
inventories.inventory_properties.quantity_available_for_sale_determination | String | Determination logic for quantity available. |
inventories.inventory_properties.quantity_available_for_sale | String | Quantity available category (UNLIMITED, etc.). |
Response
Returns the full details of the newly created item, including system-generated metadata, identifiers, and item-specific properties like codes and KPIs.Item includes essential information such as a unique identifier (id
), current status (ACTIVE
), display and internal names, and descriptive text outlining the item's purpose or characteristics. The type
is defined as STANDARD
, and the item is assigned a base_uom
(Unit of Measurement) of "UNIT". Metadata fields track its creation and update history, such as created_by
, created_on
, last_updated_by
, and last_updated_on
, with version control and a globally unique identifier (uuid
). Visual representation is supported through an image_uri
, while form configuration and extensibility are handled by linked custom_form
, custom_attributes
, and custom_objects
.Additional item configuration includes codes
like UPCs, defined currencies
indicating how the item can be transacted (e.g., used for sale or purchase in AUD), and inventory details such as associated warehouses, quantities on hand, and stock control settings. The sale
and purchase
sections elaborate on the financial setup, including pricing methods (PER_UNIT_PRICING
), tax configurations, accounting codes, default pricing, dimensional specifications (width, height, length, weight), and associated profiles (e.g., discount, shipping). Advanced options like back-order support, tax exemption, charge types, and optional pricing variants are also configurable.
{
"item": {
"status": "ITEM_STATUS",
"id": "ITEM_ID",
"name": "ITEM_NAME",
"display_name": "ITEM_DISPLAY_NAME",
"description": "ITEM_DESCRIPTION",
"type": "ITEM_TYPE",
"base_uom": "BASE_UOM",
"origin": "ORIGIN",
"invoice_note": "INVOICE_NOTE",
"created_by": "CREATED_BY",
"created_on": "CREATED_ON_TIMESTAMP",
"last_updated_by": "UPDATED_BY",
"last_updated_on": "UPDATED_ON_TIMESTAMP",
"uuid": "ITEM_UUID",
"version": "ITEM_VERSION",
"image_uri": "IMAGE_URI",
"custom_form": {
"name": "FORM_NAME",
"uuid": "FORM_UUID"
},
"custom_attributes": [
{
"name": "CUSTOM_FIELD_NAME",
"value": "CUSTOM_FIELD_VALUE"
}
],
"custom_objects": [],
"codes": [
{
"name": "CODE_NAME",
"value": "CODE_VALUE"
},
{
"name": "ITEM-NUMBER",
"value": "VALUE"
}
],
"uoms": [],
"currencies": [],
"kpis": {
"total_orders": 0,
"active_orders": 0,
"total_revenue": 0,
"total_collected": 0,
"total_outstanding": 0,
"total_overdue": 0
}
}
}
Configure Standard Sale Information for an Item: /items/{item_id}/sale
Purpose
This API sets or updates the standard sale configuration of a specific item. It allows defining pricing, tax settings, charge method, and sale duration for an item, ensuring that it is properly configured for transactions in different currencies.
Use Case
Use this endpoint when creating or updating an item’s sale configuration, especially for enabling its availability in a catalog with specific tax rules, pricing models, and charge properties. For instance, an administrator may use this to assign a fixed sale price with GST applied and define the item's validity period for promotional pricing.
Path Parameters
Parameter | Type | Description |
---|---|---|
item_id | string | Unique identifier of the item. |
Query Parameters
No query parameters required for this endpoint.
Request Body
{
"items": {
"uoms": [],
"currencies": [
{
"name": "CURRENCY_CODE",
"default_for_sale": "BOOLEAN_STRING",
"used_for_sale": "BOOLEAN_STRING"
}
],
"sale": {
"enabled": "BOOLEAN_STRING",
"invoice_note": "INVOICE_NOTE_TEXT",
"accounting_code": "ACCOUNTING_CODE_NAME",
"default_sale_currency": "CURRENCY_CODE",
"default_sale_price": "DEFAULT_SALE_PRICE",
"isTaxExemptWhenSold": "BOOLEAN_STRING",
"pricing_method": "PRICING_METHOD",
"tax_configuration": {
"sale_price_entered_is_inclusive_of_tax": "BOOLEAN_STRING",
"sale_price_is_based_on": "TAX_BASIS_TYPE",
"tax_code": {
"uuid": "TAX_CODE_UUID",
"code": "TAX_CODE_NAME",
"rate": "TAX_RATE_PERCENTAGE"
}
},
"charge": {
"type": "CHARGE_TYPE"
},
"pricing": {
"type": "PRICING_TYPE",
"pricing_module": [
{
"price": "UNIT_PRICE",
"currency": "CURRENCY_CODE"
}
]
},
"use_on_sale_price": "BOOLEAN_STRING",
"sale_price_variant": "PRICE_VARIANT_TYPE",
"sale_price": "SALE_PRICE_VALUE",
"start_date": "START_DATE_YYYY-MM-DD",
"end_date": "END_DATE_YYYY-MM-DD"
}
}
}
Field | Type | Description |
---|---|---|
uoms | array | List of units of measure (can be empty). |
currencies[].name | string | Currency code used for the sale. |
currencies[].default_for_sale | string (boolean) | Indicates if this is the default currency for sale. |
currencies[].used_for_sale | string (boolean) | Indicates if this currency is used for sale. |
sale.enabled | string (boolean) | Enables or disables the sale of the item. |
sale.invoice_note | string | Note to include on the invoice for this item. |
sale.accounting_code | string | Accounting code used for sales (e.g., revenue category). |
sale.default_sale_currency | string | Currency code used as default for sales. |
sale.default_sale_price | string | Default price of the item in the specified currency. |
sale.isTaxExemptWhenSold | string (boolean) | Indicates if item is tax-exempt. |
sale.pricing_method | string | Pricing method (e.g., STANDARD). |
sale.tax_configuration.sale_price_entered_is_inclusive_of_tax | string (boolean) | Whether tax is included in the sale price. |
sale.tax_configuration.sale_price_is_based_on | string | The tax rule type (e.g., SALES_TAX, PURCHASE_TAX, SPECIFIC_TAX_CODE). |
sale.tax_configuration.tax_code.uuid | string (UUID) | Unique ID of the tax code. |
sale.tax_configuration.tax_code.code | string | Tax code label (e.g., GST). |
sale.tax_configuration.tax_code.rate | string | Tax percentage rate. |
sale.charge.type | string | Charge type (e.g., ONE_OFF). |
sale.pricing.type | string | Type of pricing strategy (e.g., PER_UNIT_PRICING). |
sale.pricing.pricing_module[].price | string | Price value in the respective currency. |
sale.pricing.pricing_module[].currency | string | Currency code. |
sale.use_on_sale_price | string (boolean) | Whether the custom sale price should be used. |
sale.sale_price_variant | string | Variant type for the sale price (e.g., FIXED). |
sale.sale_price | string | Custom sale price to apply. |
sale.start_date | string (date) | Start date for the sale price. |
sale.end_date | string (date) | End date for the sale price. |
Response
The response confirms the item's updated sale configuration, including validated accounting information, pricing breakdown, tax configuration, and status flags. This structure ensures that pricing rules and fiscal compliance are correctly applied to the item across relevant modules like invoicing and order management.
{
"item": {
"sale": {
"enabled": "BOOLEAN_STRING",
"enable_back_order": "BOOLEAN_STRING",
"invoice_note": "INVOICE_NOTE_TEXT",
"accounting_code": {
"sales_revenue": "ACCOUNTING_CODE_NAME"
},
"default_sale_price": "DEFAULT_SALE_PRICE",
"shipping_profile": "",
"width": {
"uom": "",
"value": ""
},
"height": {
"uom": "",
"value": ""
},
"length": {
"uom": "",
"value": ""
},
"weight": {
"uom": "",
"value": ""
},
"tax_exempt_when_sold": "BOOLEAN_STRING",
"pricing_method": "PRICING_METHOD",
"tax_configuration": {
"sale_price_entered_inclusive_of_tax": "BOOLEAN_STRING"
},
"pricing_profile": {},
"charge": {
"type": "CHARGE_TYPE",
"properties": [
{
"name": "FULFILLMENT_PROPERTY_NAME",
"value": "FULFILLMENT_PROPERTY_VALUE"
}
]
},
"payment_properties": [
{
"name": "PAYMENT_PROPERTY_NAME",
"value": "PAYMENT_PROPERTY_VALUE"
}
],
"discount_profile": {},
"pricing": {
"type": "PRICING_TYPE",
"version": "PRICING_VERSION",
"latest_used_pricing_version": "",
"pricing_module": [
{
"price": "UNIT_PRICE",
"currency": "CURRENCY_CODE",
"last_purchase_price": "",
"average_purchase_price": ""
}
]
},
"use_on_sale_price": "BOOLEAN_STRING",
"sale_price_variant": "",
"sale_price": "",
"start_date": "",
"end_date": ""
}
}
}
Field | Type | Description |
---|---|---|
sale.enabled | string (boolean) | Indicates if the item is active for sale. |
sale.enable_back_order | string (boolean) | Indicates if back orders are allowed. |
sale.invoice_note | string | Note to include on the invoice. |
sale.accounting_code.sales_revenue | string | Revenue category assigned. |
sale.default_sale_price | string | Default sale price configured. |
sale.shipping_profile | string | Shipping profile (empty if not set). |
sale.width, height, length, weight | object | Dimensional attributes with uom and value. |
sale.tax_exempt_when_sold | string (boolean) | Indicates if tax exemption is applied. |
sale.pricing_method | string | Pricing strategy used. |
sale.tax_configuration.sale_price_entered_inclusive_of_tax | string (boolean) | Whether the sale price includes tax. |
sale.charge.type | string | Type of charge (e.g., ONE_OFF). |
sale.charge.properties[].name/value | string | Additional charge properties and values. |
sale.payment_properties[].name/value | string | Payment configuration properties. |
sale.discount_profile | object | Discount rules, if defined. |
sale.pricing.type | string | Type of pricing model (e.g., PER_UNIT_PRICING). |
sale.pricing.version | string | Version of the pricing configuration. |
sale.pricing.pricing_module[].price | string | Defined unit price. |
sale.pricing.pricing_module[].currency | string | Currency used in pricing. |
sale.use_on_sale_price | string (boolean) | If custom sale price is applied. |
sale.sale_price_variant | string | Variant method used for pricing. |
sale.sale_price | string | Sale-specific price (empty if not active). |
sale.start_date | string (date) | Start date of special pricing (empty if not set). |
sale.end_date | string (date) | End date of special pricing (empty if not set). |
Deactivate an Item by ID:/items/id/deactivate
Purpose
This API is used to deactivate an existing item in the system. Once deactivated, the item becomes unavailable for ordering, and it is visually marked on the user interface with a red dot to indicate its inactive status.
Use Case
Use this endpoint in scenarios where an item must be discontinued, made temporarily unavailable, or archived from the sales catalog. For example, if a product is out of stock indefinitely or no longer part of the business offering, it can be deactivated to prevent accidental ordering and reflect its status clearly in the UI.
Path Parameters
Parameter | Type | Description |
---|---|---|
id | string | Unique identifier of the item. |
Query Parameters
No query parameters required for this endpoint.
Request Body
This endpoint does not require a request body.
Response Description
Returns a 204 No Content response indicating that the item was successfully deactivated. No response body is returned. Once deactivated, the item will no longer be available for new orders, and its status will be visibly reflected in the UI with a red dot for clear identification.
Reactivate an Item by ID:/items/{id}/reactivate
Purpose
This API reactivates a previously deactivated item, making it eligible for use in sales transactions and removing the visual indicator of deactivation from the UI. It restores the item's active state in the catalog.
Use Case
Use this endpoint when an item that was previously disabled or removed from sale needs to be reinstated. For example, a product that was out of stock or discontinued can be brought back into circulation through reactivation. Once reactivated, it can again be used in order processing and will no longer display the red dot indicator in the user interface.
Path Parameters
Parameter | Type | Description |
---|---|---|
id | string | Unique identifier of the item. |
Query Parameters
No query parameters required for this endpoint.
Request Body
This endpoint does not require a request body.
Response Description
Returns a 204 No Content response upon successful reactivation. The item becomes active again, available for order placement, and the red dot deactivation indicator is removed from the user interface.
Create Item Note: items/{item_id}/notes
Purpose
This endpoint allows you to create a new note for a specific item, with the option to attach a file. It is used to record additional information, comments, or documentation against an item, while also supporting file attachments for richer context.
Use Case
- Add textual notes for better documentation of an item.
- Attach files such as receipts, certificates, manuals, or images to an item.
- Facilitate collaboration by maintaining notes with associated documents.
- Enhance audit trails by logging note content with supporting files.
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
item_id | string | Yes | Unique identifier of the item to which the note is being added. |
Query Parameters
This endpoint does not support query parameters.
Request Body
The request body must be sent as multipart/form-data because it includes both text and file fields.
Attribute | Type | Description |
---|---|---|
note | string | Content of the note. |
file | file | File to attach with the note. Accepts common document and image formats. |
Response
On success, the API returns an item object containing the newly created note object with its unique identifier (uuid). This confirms that the note has been successfully created and linked to the specified item. If a file was attached, it is also linked internally to the note, though the response only returns the note’s UUID for reference.
Response Body
{
"item": {
"notes": {
"uuid": "{{note_uuid}}"
}
}
}
Attribute | Type | Description |
---|---|---|
item | object | Container object holding the created note. |
item.notes | object | Object representing the created note. |
item.notes.uuid | string (UUID) | Unique identifier of the newly created note. |