Getting & Updating Transactions

For getting transactions via the ItemPath API, there are a few helpful values to filter by.

Date & Time Range

By setting creationDate to a range, you can get all transactions for the current or previous day, from the past week—any time frame of your choosing.

To get a range, use greater than [gt] and less than [lt] predicates. Here's an example for transactions from January 1 (later than January 1 at 00:00 and earlier than January 2 at 00:00).


For transactions within a precise time window, you can add time in THH:MM:SS.MMMZ format. This example would get transactions between 1pm and 5pm on January 1.


History Types

Choose the type(s) of transactions you want to get. This list shows all the available history types, but 1-4 are the primary uses.

  • 0: NotSet (not used)
  • 1: ManualPut
  • 2: ManualPick
  • 3: OrderPut
  • 4: OrderPick
  • 5: Transfer
  • 6: OrderCount
  • 7: ContextCount (context driven location count during put/pick such as location empty checking or counting if calculated quantity is below a given threshold)
  • 8: MaterialRename
  • 9: ManualCorrection
  • 10: ContextCorrection (automatic stock correction during pick/store if a stock shortage is indicated)
  • 11: CancelRequest (cancel order request)
  • 12: Purge
  • 13: Production
  • 15: KitRename

Export State Type

With ItemPath's API, you can also see if transactions have been exported or not using the exportStateType key. Here are the possible values and what they mean.

  • 0: NotSet
  • 1: Depending operations which cannot yet be exported
  • 2: Ready to export
  • 3: Currently exporting or export canceled and It can be exported
  • 4: Line was successfully exported
  • 5: Export failed
  • 6: Line is not to be exported

To get all transactions that are ready to export, use this:


Once the transactions have been exported, you will need to use POST to update the transaction's exportStateType from 2 to 4. You'll need to do this in the body of the request using the transaction ID, like this:

curl -L
    -X PUT '[Your IP]/api/transactions/[ID]'
    -H 'Content-Type: application/json'
    -H 'Authorization: Bearer [Your JWT Access Token]'
    --data-raw '{"exportStateType": "4"}'

Motive Types

You can also check the motiveType of a transaction, which gives a bit more information about what happened with the order. A commonly used example is filtering out deleted orders, like this:


Here is a list of all PPG motive types with a bit of further description.

  • 0: NotSet (No Motive)
  • 1: StockUnavailable (Shortage on a Pick)
  • 2: Shortage (Shortage on a Put)
  • 3: SpaceUnavailable (No Location Found for Pick)
  • 4: SpaceFull (No Location Found for Put; Location is Full)
  • 5: Deleted (Order Line was deleted by the user)
  • 6: Canceled (Order Line was deleted by an import transaction)
  • 7: RoundUpOverstock (Pick quantity was rounded to the next pack size [such as in SMD])
  • 8: ResolveMissingQty (Space Full on Put)
  • 9: Trim (Trim on a Pick)
  • 10: CancelError (Failed deletion)

Related Guides