---
schema_version: "1"
id: cd3e4a9affa199ee2724a8e003fbba92ef0467a2b8429e7a2861b31a1f7914f3
title: Inventory Events SPI
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/commerce-cloud/retail-cloud/reference/generated-api-specs/inventory-events-spi.md
canonical_url: https://developer.salesforce.com/docs/commerce/retail-cloud/references/inventory-events-spi
source_site: developer.salesforce.com
content_type: documentation
content_hash: 6330b9bcb2e771b3b3bb22819d4aedd7dbe150b0b7a6ea6c494e406e5cda3512
products:
  - Point of Sale for Developers
  - Salesforce APIs
---
Inventory Events SPI

# Inventory Events SPI

[Download specification](https://developer.salesforce.com/static/commercecloud/retail-cloud/inventory-events-spi/inventory-events-spi-oas-public.yaml)

Sample APIs that demonstrate how to implement API endpoints or webhooks in the merchant's system. These endpoints must be configured in the POS system so that the POS can use them to send inventory events data.

**Version:** 2.3.4

## Tags

### Inventory Events SPI

[Download specification](https://developer.salesforce.com/static/commercecloud/retail-cloud/inventory-events-spi/inventory-events-spi-oas-public.yaml)

Sample APIs that demonstrate how to implement API endpoints or webhooks in the merchant's system. These endpoints must be configured in the POS system so that the POS can use them to send inventory events data.

## Operations

### POST Send cycle count events data out

`POST /merchant/spi/sample/endpoint/sa/customer/inventory/cycleCount`

Operation ID: `sendInventoryEventsData`. Tags: Inventory Events SPI.

Sends cycle count data to an external system. **Supported events:**

1.  CYC\_COUNT\_CREATED\_EVENT
2.  CYC\_COUNT\_STARTED\_EVENT
3.  CYC\_COUNT\_COMPLETED\_EVENT
4.  CYC\_COUNT\_CANCELED\_EVENT.

#### Request body

Media type: `application/json`. Schema: `CycleCountPayload`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `InventoryWebhookResponse`.
    

### POST Send inventory adjustment events data out

`POST /merchant/spi/sample/endpoint/sa/customer/inventory/inventoryAdjustment`

Operation ID: `sendInventoryEventsData_1`. Tags: Inventory Events SPI.

Sends inventory adjustment data to an external system. **Supported events:**

1.  INVENTORY\_ADJUSTMENT.

#### Request body

Media type: `application/json`. Schema: `InventoryAdjustmentPayload`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `InventoryWebhookResponse`.
    

### POST Send inventory transfer events data out

`POST /merchant/spi/sample/endpoint/sa/customer/inventory/inventoryTransfer`

Operation ID: `sendInventoryEventsData_2`. Tags: Inventory Events SPI.

Sends inventory transfer data to an external system. The inventory transfer types include: ASN, CORP\_TRANSFER, STORE\_TO\_STORE, BLIND\_RECEIVE, RETURN\_TO\_VENDOR. All related events will use this API. **Supported events:**

1.  ASN\_RECEIVED\_EVENT
2.  ASN\_PARTIALLY\_RECEIVED\_EVENT
3.  ASN\_RECEIVE\_COMPLETED\_EVENT
4.  ASN\_REJECTED\_EVENT
5.  BLIND\_RECEIVE\_STARTED\_EVENT
6.  BLIND\_RECEIVE\_PAUSED\_EVENT
7.  BLIND\_RECEIVE\_IN\_PROGRESS\_EVENT
8.  BLIND\_RECEIVE\_COMPLETED\_EVENT
9.  CTS\_TRANSFER\_STARTED\_EVENT
10.  CTS\_TRANSFER\_COMPLETED\_EVENT
11.  CTS\_TRANSFER\_CANCELLED\_EVENT
12.  CTS\_TRANSFER\_ERRORED\_EVENT
13.  STS\_TRANSFER\_STARTED\_EVENT
14.  STS\_TRANSFER\_COMPLETED\_EVENT
15.  STS\_TRANSFER\_SHIPPED\_EVENT
16.  STS\_TRANSFER\_RECEIVED\_EVENT
17.  STS\_TRANSFER\_CANCELLED\_EVENT
18.  STS\_TRANSFER\_ERRORED\_EVENT
19.  RTV\_CREATED\_EVENT
20.  RTV\_COMPLETED\_EVENT
21.  RTV\_SHIPPED\_EVENT
22.  RTV\_RECEIVED\_EVENT
23.  RTV\_CANCELLED\_EVENT
24.  RTV\_FAILLED\_EVENT.

#### Request body

Media type: `application/json`. Schema: `InventoryTransferPayload`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `InventoryWebhookResponse`.
    

### POST Send purchase order events data out

`POST /merchant/spi/sample/endpoint/sa/customer/inventory/purchaseOrder`

Operation ID: `sendInventoryEventsData_3`. Tags: Inventory Events SPI.

Sends purchase order data to an external system. **Supported events:**

1.  PO\_TRANSFER\_STARTED\_EVENT
2.  PO\_TRANSFER\_COMPLETED\_EVENT
3.  PO\_TRANSFER\_ERRORED\_EVENT.

#### Request body

Media type: `application/json`. Schema: `PurchaseOrderPayload`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `InventoryWebhookResponse`.
    

### POST Send return inventory events data out

`POST /merchant/spi/sample/endpoint/sa/customer/inventory/return`

Operation ID: `sendInventoryEventsData_4`. Tags: Inventory Events SPI.

Sends return inventory details to an external system.

#### Request body

Media type: `application/json`. Schema: `TransactionalReturnPayload`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `TransactionalInventoryWebhookResponse`.
    

### POST Send sale inventory events data.

`POST /merchant/spi/sample/endpoint/sa/customer/inventory/sale`

Operation ID: `sendInventoryEventsData_5`. Tags: Inventory Events SPI.

Send sale inventory detail to external system.

#### Request body

Media type: `application/json`. Schema: `TransactionalSalePayload`.

#### Responses

*   **default** Default response.
    
    Media type: `application/json`. Schema: `TransactionalInventoryWebhookResponse`.
    

## Schemas

### CycleCountPayload

*   `eventType` (_string_, required) Inventory transfer event type.  
    Allowed values: `ASN_RECEIVED_EVENT`, `ASN_PARTIALLY_RECEIVED_EVENT`, `ASN_RECEIVE_COMPLETED_EVENT`, `ASN_REJECTED_EVENT`, `BLIND_RECEIVE_STARTED_EVENT`, `BLIND_RECEIVE_PAUSED_EVENT`, `BLIND_RECEIVE_IN_PROGRESS_EVENT`, `BLIND_RECEIVE_COMPLETED_EVENT`, `CTS_TRANSFER_STARTED_EVENT`, `CTS_TRANSFER_COMPLETED_EVENT`, `CTS_TRANSFER_CANCELLED_EVENT`, `CTS_TRANSFER_ERRORED_EVENT`, `STS_TRANSFER_STARTED_EVENT`, `STS_TRANSFER_COMPLETED_EVENT`, `STS_TRANSFER_SHIPPED_EVENT`, `STS_TRANSFER_RECEIVED_EVENT`, `STS_TRANSFER_CANCELLED_EVENT`, `STS_TRANSFER_ERRORED_EVENT`, `PO_TRANSFER_STARTED_EVENT`, `PO_TRANSFER_COMPLETED_EVENT`, `PO_TRANSFER_SHIPPED_EVENT`, `PO_TRANSFER_RECEIVED_EVENT`, `PO_TRANSFER_CANCELLED_EVENT`, `PO_TRANSFER_ERRORED_EVENT`, `RTV_CREATED_EVENT`, `RTV_COMPLETED_EVENT`, `RTV_SHIPPED_EVENT`, `RTV_RECEIVED_EVENT`, `RTV_CANCELLED_EVENT`, `RTV_FAILLED_EVENT`, `CYC_COUNT_CREATED_EVENT`, `CYC_COUNT_STARTED_EVENT`, `CYC_COUNT_COMPLETED_EVENT`, `CYC_COUNT_CANCELED_EVENT`, `INVENTORY_ADJUSTMENT`, `INVENTORY_BUCKET_ADJUSTMENT`. Example: `STS_TRANSFER_STARTED_EVENT`.
*   `lines` (_array of CycleCountPayloadLine_, required) Cycle count line items.

### InventoryWebhookResponse

*   `status` (_string_, required)
    
    Status
    
    Status of the inventory webhook processing.
    
      
    Allowed values: `SUCCESS`, `ERROR`. Example: `SUCCESS`.
*   `message` (_string_, required)
    
    Message
    
    Inventory webhook processing result.
    
      
    Example: `Successfully`.

### InventoryAdjustmentPayload

*   `eventType` (_string_, required) Inventory transfer event type.  
    Allowed values: `ASN_RECEIVED_EVENT`, `ASN_PARTIALLY_RECEIVED_EVENT`, `ASN_RECEIVE_COMPLETED_EVENT`, `ASN_REJECTED_EVENT`, `BLIND_RECEIVE_STARTED_EVENT`, `BLIND_RECEIVE_PAUSED_EVENT`, `BLIND_RECEIVE_IN_PROGRESS_EVENT`, `BLIND_RECEIVE_COMPLETED_EVENT`, `CTS_TRANSFER_STARTED_EVENT`, `CTS_TRANSFER_COMPLETED_EVENT`, `CTS_TRANSFER_CANCELLED_EVENT`, `CTS_TRANSFER_ERRORED_EVENT`, `STS_TRANSFER_STARTED_EVENT`, `STS_TRANSFER_COMPLETED_EVENT`, `STS_TRANSFER_SHIPPED_EVENT`, `STS_TRANSFER_RECEIVED_EVENT`, `STS_TRANSFER_CANCELLED_EVENT`, `STS_TRANSFER_ERRORED_EVENT`, `PO_TRANSFER_STARTED_EVENT`, `PO_TRANSFER_COMPLETED_EVENT`, `PO_TRANSFER_SHIPPED_EVENT`, `PO_TRANSFER_RECEIVED_EVENT`, `PO_TRANSFER_CANCELLED_EVENT`, `PO_TRANSFER_ERRORED_EVENT`, `RTV_CREATED_EVENT`, `RTV_COMPLETED_EVENT`, `RTV_SHIPPED_EVENT`, `RTV_RECEIVED_EVENT`, `RTV_CANCELLED_EVENT`, `RTV_FAILLED_EVENT`, `CYC_COUNT_CREATED_EVENT`, `CYC_COUNT_STARTED_EVENT`, `CYC_COUNT_COMPLETED_EVENT`, `CYC_COUNT_CANCELED_EVENT`, `INVENTORY_ADJUSTMENT`, `INVENTORY_BUCKET_ADJUSTMENT`. Example: `STS_TRANSFER_STARTED_EVENT`.
*   `lines` (_array of InventoryAdjustmentPayloadLine_, required) Inventory adjustment line items.

### InventoryTransferPayload

*   `eventType` (_string_, required) Inventory transfer event type.  
    Allowed values: `ASN_RECEIVED_EVENT`, `ASN_PARTIALLY_RECEIVED_EVENT`, `ASN_RECEIVE_COMPLETED_EVENT`, `ASN_REJECTED_EVENT`, `BLIND_RECEIVE_STARTED_EVENT`, `BLIND_RECEIVE_PAUSED_EVENT`, `BLIND_RECEIVE_IN_PROGRESS_EVENT`, `BLIND_RECEIVE_COMPLETED_EVENT`, `CTS_TRANSFER_STARTED_EVENT`, `CTS_TRANSFER_COMPLETED_EVENT`, `CTS_TRANSFER_CANCELLED_EVENT`, `CTS_TRANSFER_ERRORED_EVENT`, `STS_TRANSFER_STARTED_EVENT`, `STS_TRANSFER_COMPLETED_EVENT`, `STS_TRANSFER_SHIPPED_EVENT`, `STS_TRANSFER_RECEIVED_EVENT`, `STS_TRANSFER_CANCELLED_EVENT`, `STS_TRANSFER_ERRORED_EVENT`, `PO_TRANSFER_STARTED_EVENT`, `PO_TRANSFER_COMPLETED_EVENT`, `PO_TRANSFER_SHIPPED_EVENT`, `PO_TRANSFER_RECEIVED_EVENT`, `PO_TRANSFER_CANCELLED_EVENT`, `PO_TRANSFER_ERRORED_EVENT`, `RTV_CREATED_EVENT`, `RTV_COMPLETED_EVENT`, `RTV_SHIPPED_EVENT`, `RTV_RECEIVED_EVENT`, `RTV_CANCELLED_EVENT`, `RTV_FAILLED_EVENT`, `CYC_COUNT_CREATED_EVENT`, `CYC_COUNT_STARTED_EVENT`, `CYC_COUNT_COMPLETED_EVENT`, `CYC_COUNT_CANCELED_EVENT`, `INVENTORY_ADJUSTMENT`, `INVENTORY_BUCKET_ADJUSTMENT`. Example: `STS_TRANSFER_STARTED_EVENT`.
*   `lines` (_array of InventoryTransferPayloadLine_, required) Inventory transfer line items.

### PurchaseOrderPayload

*   `eventType` (_string_, required) Inventory transfer event type.  
    Allowed values: `ASN_RECEIVED_EVENT`, `ASN_PARTIALLY_RECEIVED_EVENT`, `ASN_RECEIVE_COMPLETED_EVENT`, `ASN_REJECTED_EVENT`, `BLIND_RECEIVE_STARTED_EVENT`, `BLIND_RECEIVE_PAUSED_EVENT`, `BLIND_RECEIVE_IN_PROGRESS_EVENT`, `BLIND_RECEIVE_COMPLETED_EVENT`, `CTS_TRANSFER_STARTED_EVENT`, `CTS_TRANSFER_COMPLETED_EVENT`, `CTS_TRANSFER_CANCELLED_EVENT`, `CTS_TRANSFER_ERRORED_EVENT`, `STS_TRANSFER_STARTED_EVENT`, `STS_TRANSFER_COMPLETED_EVENT`, `STS_TRANSFER_SHIPPED_EVENT`, `STS_TRANSFER_RECEIVED_EVENT`, `STS_TRANSFER_CANCELLED_EVENT`, `STS_TRANSFER_ERRORED_EVENT`, `PO_TRANSFER_STARTED_EVENT`, `PO_TRANSFER_COMPLETED_EVENT`, `PO_TRANSFER_SHIPPED_EVENT`, `PO_TRANSFER_RECEIVED_EVENT`, `PO_TRANSFER_CANCELLED_EVENT`, `PO_TRANSFER_ERRORED_EVENT`, `RTV_CREATED_EVENT`, `RTV_COMPLETED_EVENT`, `RTV_SHIPPED_EVENT`, `RTV_RECEIVED_EVENT`, `RTV_CANCELLED_EVENT`, `RTV_FAILLED_EVENT`, `CYC_COUNT_CREATED_EVENT`, `CYC_COUNT_STARTED_EVENT`, `CYC_COUNT_COMPLETED_EVENT`, `CYC_COUNT_CANCELED_EVENT`, `INVENTORY_ADJUSTMENT`, `INVENTORY_BUCKET_ADJUSTMENT`. Example: `STS_TRANSFER_STARTED_EVENT`.
*   `lines` (_array of PurchaseOrderPayloadLine_, required) Purchase order line items.

### TransactionalReturnPayload

*   `orderId` (_string_, required)
    
    orderId
    
    Order ID.
    
      
    Example: `PS00000006`.
*   `products` (_array of TransactionalInventoryProduct_, required)
    
    products
    
    List the products that require inventory adjustment.
    
*   `returnStoreLocation` (_string_, required)
    
    returnStoreLocation
    
    Return order's store ID.
    
      
    Example: `2`.

### TransactionalInventoryWebhookResponse

*   `status` (_string_, required)
    
    Status
    
    Status of the transaction inventory webhook processing.
    
      
    Allowed values: `SUCCESS`, `ERROR`. Example: `SUCCESS`.
*   `message` (_string_, required)
    
    Message
    
    Transaction inventory webhook processing result.
    
      
    Example: `Successfully`.

### TransactionalSalePayload

*   `orderId` (_string_, required)
    
    orderId
    
    Order ID.
    
      
    Example: `PS00000006`.
*   `products` (_array of TransactionalInventoryProduct_, required)
    
    products
    
    List the products that require inventory adjustment.
    
*   `fulfillmentLocation` (_string_, required)
    
    fulfillmentLocation
    
    Sale order's store ID.
    
      
    Example: `2`.
*   `fulfillmentType` (_string_, required)
    
    fulfillmentType
    
    Order fulfillment type.
    
      
    Allowed values: `IN_STORE`, `ONLINE`, `MIXED_CART`.

### CycleCountPayloadLine

Cycle count line items.

*   `storeID` (_string_, required) ID of the store where this cycle count is performed. Provide a valid store ID that's already configured in POS, either through CMS or Store Feed.  
    Example: `001`.
*   `cycleCountID` (_string_, required, read-only) Cycle count identifier. Unique POS ID assigned when the cycle count is created.  
    Example: `10001`.
*   `cycleCountType` (_string_, required, read-only) Below is list of supported cycle count types:  
    1.**Full**: Cycle count for the full inventory of products  
    2.**Partial**: Cycle count for a particular group of products that fall within  
    a selected category, brand, or any other product attribute that is configured  
    3.**Manual**: Cycle count for a specific set of products that are scanned in prior to starting the count.  
    Allowed values: `FULL`, `PARTIAL`, `ADJUSTMENT`, `FULL, PARTIAL, ADJUSTMENT`. Example: `STORE`.
*   `cycleCountStatus` (_string_, required, read-only)
    
    1.  **CREATED**: While creating a new batch provide this status  
        2\. **CANCELED**: To cancel the existing cycle count batch.  
        3\. **COMPLETED**: Once the batch is created in the POS system,  
        the status will become COMPLETED  
        4\. **PREPARING**: Preparing the cycle count batch  
        5\. **IN\_PROGRESS**: Cycle count in progress.
    
      
    Allowed values: `CREATED`, `CANCELED`, `COMPLETED`, `PREPARING`, `IN_PROGRESS`, `CREATED, PREPARING, IN_PROGRESS, COMPLETED, CANCELED`. Example: `CREATED`.
*   `createdFrom` (_string_, required) Origin of this cycle count - triggered by the corporate or from the store itself.  
    Allowed values: `CORPORATE`, `STORE`, `CORPORATE, STORE`. Example: `STORE`.
*   `cycleCountDate` (_integer (int64)_)
*   `name` (_string_, required) Logical name for this cycle count.  
    Example: `Spring 2020 cycle count`.
*   `description` (_string_) Detailed description for the cycle count.  
    Example: `Spring 2020 cycle count to be completed before 4/30`.
*   `partialCycleCountProductAttribute` (_string_, required) Product attribute for partial cycle count to perform cycle count by specific product attribute. For example, Brand.  
    Example: `MerchantCategory`.
*   `partialCycleCountProductAttributeValues` (_string_, required) List of product attribute values for partial cycle count. For example, Brand values of Mattel, Disney, etc.  
    Example: `Reserve`.
*   `productCategories` (_string_, deprecated) List of product categories for partial cycle count for specific product categories. Use @partialCycleCountProductAttribute.  
    Example: `Clothing`.
*   `productIDs` (_string_, deprecated) List of product IDs applicable for partial cycle count for specific products. Use @partialCycleCountProductAttributeValues.  
    Example: `productId1,productId2`.
*   `createdBy` (_string_, required) Store associate ID who created the cycle count.  
    Example: `0202`.
*   `updatedBy` (_string_, required) Store associate ID who modified the cycle count.  
    Example: `0202`.
*   `startedByStoreAssociateID` (_string_, required) ID of the Store associate who started this cycle count. This need not be the same as the user who created the cycle count.  
    Example: `0202`.
*   `updatedByStoreAssociateID` (_string_, required) ID of the Store associate who last updated this cycle count.  
    Example: `0202`.
*   `expectedQuantity` (_integer (int32)_, required) Total number of products expected.  
    Example: `5`.
*   `countedQuantity` (_integer (int32)_, required) Total number of products actually counted.  
    Example: `3`.
*   `expectedProductValue` (_number_, required) Total value of the products - expected.  
    Example: `100`.
*   `countedProductValue` (_number_, required) Total value of the products that were actually counted.  
    Example: `60`.
*   `variancePercentageQuantity` (_number_, required) Variance percentage between expected product count vs. actual product count.  
    Example: `-60`.
*   `variancePercentageProductValue` (_number_, required) Variance percentage between expected product value vs. actual product value.  
    Example: `-60`.
*   `varianceQuantity` (_integer (int32)_, required) Variance in quantity between expected product count vs. actual product count.  
    Example: `-2`.
*   `varianceProductValue` (_number_, required) Variance in value between expected product count vs. actual product count.  
    Example: `-40`.
*   `email` (_string_) Email address to which the cycle count report was sent.  
    Example: `predictspring@predictspring.com`.
*   `startTimeStamp` (_integer (int64)_, required) Cycle count start time represented in milliseconds since epoch.  
    Example: `1686608971000`.
*   `productID` (_string_, required) Product ID.  
    Example: `014001`.
*   `gtin` (_string_, required) Product GTIN.  
    Example: `778913800001`.
*   `productTitle` (_string_, required) Product name.  
    Example: `Plat Pinot`.
*   `productImageURL` (_string_) Product Image URL.
*   `color` (_string_) Product Color.  
    Example: `white`.
*   `size` (_string_) Product Size.  
    Example: `0.75`.
*   `unitProductValue` (_number_) Unit Price.  
    Example: `32.99`.
*   `excluded` (_boolean_) Flag indicating if this product was excluded from cycle count. This flag indicates that this product inventory should not be adjusted based on this cycle count. Excluded products are excluded from variance calculations as well.
*   `reasonCode` (_string_) Reason code for excluding the item from cycle count.
*   `createdTimeStamp` (_integer (int64)_, required) Cycle count creation time represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `modifiedTimeStamp` (_integer (int64)_, required) Cycle count last modified time represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `reasonText` (_string_) Reason text for excluding the item from cycle count.  
    Example: `Lost`.
*   `serialNumbers` (_string_) Scanned Serial numbers.
*   `itemExpectedQuantity` (_integer (int32)_, required) Expected quantity for this item.  
    Example: `70`.
*   `itemCountedQuantity` (_integer (int32)_, required) Actual quantity for this item.  
    Example: `0`.
*   `itemExpectedProductValue` (_number_, required) Expected product value for this item based on expected quantity.  
    Example: `2309.3`.
*   `itemCountedProductValue` (_number_, required) Actual product value for this item based on counted quantity.  
    Example: `0`.
*   `itemVariancePercentageQuantity` (_number_, required) Variance percentage between expected product count vs. actual product count.  
    Example: `-100`.
*   `itemVariancePercentageProductValue` (_number_, required) Variance percentage in value between expected product value vs. actual product value.  
    Example: `-100`.
*   `itemVarianceQuantity` (_integer (int32)_, required) Variance in quantity between expected product count vs. actual product count.  
    Example: `-70`.
*   `itemVarianceProductValue` (_number_, required) Variance in value between expected product value vs. actual product value.  
    Example: `-2309.3`.
*   `itemRecountCount` (_integer (int32)_, required) The number of times the item is recounted within the same cycle count.  
    Example: `1`.
*   `externalReferenceId` (_string_) External cycle count or batch ID.  
    Example: `spring-2023`.

### InventoryAdjustmentPayloadLine

Inventory adjustment line items.

*   `id` (_string_, required) Inventory adjustment identifier.
*   `storeID` (_string_, required) ID of the store where this inventory adjustment is performed. Provide a valid store ID that's already configured in POS, either through CMS or Store Feed.  
    Example: `001`.
*   `productID` (_string_, required) Product item identifier.
*   `productTitle` (_string_, required) Product title.
*   `productImageURL` (_string_, required) Product image URL.
*   `color` (_string_) Product color.
*   `size` (_string_) Product size.
*   `countedQuantity` (_integer (int32)_, required) Adjusted quantity.  
    Example: `5`.
*   `startedByStoreAssociateID` (_string_, required) ID of the Store associate who started this inventory adjustment. This need not be the same as the user who created the inventory adjustment.  
    Example: `2036`.
*   `updatedByStoreAssociateID` (_string_, required) ID of the Store associate who last updated this inventory adjustment.  
    Example: `2036`.
*   `createdTimeStamp` (_integer (int64)_, required) Inventory adjustment batch item creation time represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `modifiedTimeStamp` (_integer (int64)_, required) Inventory adjustment batch item last modified time represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `reason` (_string_, required) Adjustment reason code.  
    Example: `MISSING ITEMS`.
*   `reasonText` (_string_, required) Adjustment reason text.  
    Example: `Missing Items`.
*   `gtin` (_string_, required) Product GTIN.  
    Example: `778913800001`.
*   `serialNumbers` (_string_) Scanned Serial numbers.
*   `itemHierarchyId` (_string_, required) Item hierarchy ID for products which have the same product ID but have different reason codes.  
    Example: `1`.

### InventoryTransferPayloadLine

Inventory transfer line items.

*   `transferType` (_string_, required) Inventory transfer type.  
    Allowed values: `ASN`, `CORP_TRANSFER`, `STORE_TO_STORE`, `BLIND_RECEIVE`, `RETURN_TO_VENDOR`, `PO`, `ASN`, `CORP_TRANSFER`, `STORE_TO_STORE`, `BLIND_RECEIVE`, `RETURN_TO_VENDOR`. Example: `STORE_TO_STORE`.
*   `inventoryTransferID` (_string_, required) Inventory transfer identifier.  
    Example: `ITS00000001`.
*   `orderID` (_string_) Inventory transfer order identifier.  
    Example: `OrderPS00000001`.
*   `poNumber` (_string_) Inventory transfer Purchase Order Number.  
    Example: `123456`.
*   `uploadNumber` (_string_) Used to indicate the corporate transfer group.  
    Example: `1, 2`.
*   `billOfLadingID` (_string_) Bill of lading ID.  
    Example: `99865`.
*   `trackingNumber` (_string_, required) Tracking number.  
    Example: `track123`.
*   `fromID` (_string_, required) Inventory transfer origin identifier. For example, Warehouse/Distribution center/Store ID.  
    Example: `1`.
*   `toID` (_string_, required) Inventory transfer recipient identifier. For example, Warehouse/Distribution center/Store ID.  
    Example: `2`.
*   `productCount` (_integer (int32)_, required) Number of products in this inventory transfer.  
    Example: `3`.
*   `productImageLinks` (_string_) List of product images for the items in this inventory transfer.  
    Example: `https://us.maje.com/dw/image/v2/AAON_PRD/on/demandware.static/-/Sites-maje-catalog-master-H13/default/dwd569bdfb/images/h13/Maje_E18GUMPY-0067_H_1.jpg`.
*   `status` (_string_, required) Inventory transfer status.  
    Allowed values: `OPEN`, `NEW`, `IN_PROGRESS`, `PARTIAL`, `COMPLETE`, `SHIPPED`, `PARTIAL_SHIPPED`, `DELIVERED`, `RECEIVED`, `CANCELLED`, `PAUSED`, `PARTIAL_PAUSED`. Example: `IN_PROGRESS`.
*   `createdOn` (_integer (int64)_, required) Date and time when this inventory transfer is created. Represented as milliseconds since epoch.  
    Example: `1686607971000`.
*   `dueOn` (_integer (int64)_) Date and time when this inventory transfer is due. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `lastProcessedById` (_string_, required) ID for the person/entity who processed this inventory transfer.  
    Example: `2036`.
*   `lastProcessedByName` (_string_, required) Name for the person/entity who processed this inventory transfer.  
    Example: `Rob`.
*   `updatedOn` (_integer (int64)_, required) Date and time when this inventory transfer is last updated. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `vendorID` (_string_, required) Vendor ID.  
    Example: `1`.
*   `receivedOn` (_integer (int64)_, required) Date and time when this inventory transfer is received. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `cancelledOn` (_integer (int64)_, required) Date and time when this inventory transfer is cancelled. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `exportDate` (_integer (int64)_) Inventory transfer export time. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `itemStatus` (_string_, required) Inventory transfer item's status.  
    Allowed values: `OPEN`, `NEW`, `IN_PROGRESS`, `PARTIAL`, `COMPLETE`, `SHIPPED`, `PARTIAL_SHIPPED`, `DELIVERED`, `RECEIVED`, `CANCELLED`, `PAUSED`, `PARTIAL_PAUSED`. Example: `COMPLETE`.
*   `transferID` (_string_) Inventory transfer detail identifier.  
    Example: `409a92a5-834b-4500-b062-cedd89a38602`.
*   `palletID` (_string_, required) Pallet ID. Used to lookup specific transfer that has palletId.  
    Example: `A-4-PS00000001P1`.
*   `cartonID` (_string_, required) Carton ID. Used to lookup specific transfer that has cartonId.  
    Example: `A-4-PS00000001P1C1`.
*   `productID` (_string_, required) Product ID.  
    Example: `3661601594304`.
*   `vendorNumber` (_string_) Product vendor number.  
    Example: `607282`.
*   `externalDocNumber` (_string_) Product external doc number.  
    Example: `4900071859`.
*   `externalLineNumber` (_string_) Product external doc number.  
    Example: `00010`.
*   `productTitle` (_string_, required) Product title.  
    Example: `Wide-leg checked trousers`.
*   `productImageURL` (_string_, required) Product image URL.  
    Example: `https://us.maje.com/dw/image/v2/AAON_PRD/on/demandware.static/-/Sites-maje-catalog-master-H13/default/dw2b369dcf/images/h13/Maje_E18PERSE-1066_H_1.jpg`.
*   `quantityOrdered` (_integer (int32)_, required) Ordered quantity for each product in a transfer.  
    Example: `3`.
*   `quantityTransferred` (_integer (int32)_, required) Transferred quantity for each product in a transfer.  
    Example: `2`.
*   `quantityReceived` (_integer (int32)_, required) Received quantity for each product in a transfer.  
    Example: `1`.
*   `shipper` (_string_, required) Shipping supplier.  
    Example: `UPS`.
*   `shippedOn` (_integer (int64)_, required) Date and time when transfer is shipped. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `itemTrackingNumber` (_string_, required) Item tracking number.  
    Example: `TrackingIDPS00000001`.
*   `estimatedDeliveryOn` (_integer (int64)_, required) Date and time when transfer is expected to be delivered. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `deliveredOn` (_integer (int64)_) Date and time when transfer is delivered. Represented as milliseconds since epoch.  
    Example: `1686608971000`.
*   `receivedBy` (_string_, required) Received by ID.  
    Example: `2036`.
*   `reasonCode` (_string_, required) Item receive mismatch reason code.  
    Example: `1`.
*   `reasonText` (_string_, required) Item receive mismatch reason text.  
    Example: `Damaged`.
*   `color` (_string_) Product color.  
    Example: `Navy`.
*   `size` (_string_) Product size.  
    Example: `OS`.
*   `gtin` (_string_) Product gtin.  
    Example: `3661601593970`.
*   `isManualAdd` (_boolean_) Indicates if an item was manually added to the ASN, with true for manual additions and false for the item was existing.
*   `description` (_string_, required) Inventory transfer description.  
    Example: `Request for transfer from from store 1 to store 2`.
*   `serialNumbers` (_string_) Scanned Serial numbers.

### PurchaseOrderPayloadLine

Purchase order line items.

*   `transferType` (_string_, required) Inventory transfer type.  
    Allowed values: `ASN`, `CORP_TRANSFER`, `STORE_TO_STORE`, `BLIND_RECEIVE`, `RETURN_TO_VENDOR`, `PO`, `PO`. Example: `PO`.
*   `inventoryTransferID` (_string_, required) Purchase order identifier.  
    Example: `ITS00000001`.
*   `toID` (_string_, required) Purchase order recipient identifier. For example, Warehouse/Distribution center/Store ID.  
    Example: `1`.
*   `productCount` (_integer (int32)_, required) Total number of products in this inventory transfer.  
    Example: `10`.
*   `createdOn` (_integer (int64)_, required) Date and time when this order is created. Represented as milliseconds since epoch.  
    Example: `1686607971000`.
*   `productID` (_string_, required) Product ID.  
    Example: `3661601594304`.
*   `productTitle` (_string_, required) Product title.  
    Example: `Wide-leg checked trousers`.
*   `quantityOrdered` (_integer (int32)_, required) Ordered quantity for each product in a purchase order.  
    Example: `10`.
*   `costPrice` (_number_, required) Cost price of each item.  
    Example: `12.99`.
*   `casePackQuantity` (_integer (int32)_, required) Number of item per case pack.  
    Example: `8`.
*   `totalCost` (_number_, required) Total price of each item in an order, quantityOrdered \* costPrice.  
    Example: `129.9`.

### TransactionalInventoryProduct

products

List the products that require inventory adjustment.

*   `productId` (_string_, required) Product ID. Unique identifier of an item. All the variations of an item will have distinct product ID, hence it is equivalent to SKU.
*   `quantity` (_integer (int32)_, required) Item's Quantity.
*   `fulfillmentSubType` (_string_, required)
    
    1.  DEFAULT: Either item will be available from the current store for  
         cash & carry or for delivery to shipping address from a warehouse.  
          Fulfillment Type:IN\_STORE, Fulfillment Sub Type: DEFAULT : Cash & carry item  
        2\. TRY\_AT\_STORE: An item will be made available in the selected store for the trial.  The taxes and promotion will not be applied on the try at store items.  
        3\. PICKUP\_LATER: An item will be made available for pickup from the selected store.  The fulfillment will be done the current store itself, or another store.  
        4\. SHIP\_TO\_HOME: An item will be delivered to provided shipping address.  The fulfillment will be done by the current store itself,  or another store or a warehouse.  
        5\. SHIP\_TO\_STORE: An item will be delivered to a store from where it can be picked up. 6. PICKUP\_NEARBY: An item will be made available for pickup in near by store.  
        \----------------------------------------------------------------------------------  
        
    
    | Fulfillment Type | Fulfillment SubType | Item |
    | --- | --- | --- |
    | IN\_STORE | DEFAULT | Cash & carry |
    | ONLINE | DEFAULT | Ship to home from warehouse |
    | ONLINE | TRY\_AT\_STORE | Ship to store from warehouse to try out |
    | IN\_STORE | PICKUP\_LATER | Pickup from current store |
    | IN\_STORE | SHIP\_TO\_HOME | Ship to home from store |
    | IN\_STORE | SHIP\_TO\_STORE | Ship to a store from another store for pickup |
    | ONLINE | SHIP\_TO\_STORE | Ship to store from warehouse for pickup (buy online ship to store) |
    | IN\_STORE | PICKUP\_NEARBY | Pickup from another store |
    
    .
    
      
    Allowed values: `DEFAULT`, `BOSS`, `BOPIS`, `TRY_AT_STORE`, `PICKUP_LATER`, `SHIP_TO_HOME`, `SHIP_TO_STORE`, `PICKUP_NEARBY`.