- API Reference
- Access Points
- API Calls
- Batches
- Bins
- Carriers
- Clients
- Cost Centers
- Images (Supplements)
- Kits
- Kit Lines
- Locations
- Location Contents
- Materials
- Material Codes
- Material Properties
- Orders
- Order Lines
- Reports
- Report Rows
- Settings
- Shelves
- Snapshots
- Stations
- Storage Rules
- Storage Units
- Transactions
- Users
- Warehouses
- Work Order Lines
- Zones
Materials
Materials are types of items that are stored. When creating and updating materials, the changes need to be verified and updated asynchronously by PowerPick.
Attributes
-
name
string
LIMIT:
50
The name of the material.
- id uuid
-
blockReason
string
LIMIT:
50
Reason for blocking the material from warehouse operations.
-
canOrderPoint
float
The material will be handled in the Material Can-order List, as soon as its stock falls below the entered value.
-
codes
array
The alternate lookup code(s) assigned to the material.
-
creationDate
dateTime
When this material was created.
-
currentQuantity
integer
How many of this material is in PowerPick
-
currentValue
integer
The current quantity of this material multiplied by the value.
-
expectedQuantity
integer
The total amount including allocated quantity from Put transactions.
-
Info1
string
LIMIT:
80
A generic field for custom use.
-
Info2
string
LIMIT:
80
A generic field for custom use.
-
Info3
string
LIMIT:
80
A generic field for custom use.
-
Info4
string
LIMIT:
80
A generic field for custom use.
-
Info5
string
LIMIT:
80
A generic field for custom use.
-
isBlocked
integer
Whether the material is inactive.
Possible values:
0 = False
1 = TrueDefault value: 0 (False)
-
isCounted
boolean
Whether this material has an accurate count.
-
locationCount
float
Calculates the number of locations (bins) where the material can be found.
-
pickQuantity
integer
Amount in pending pick orders.
-
putQuantity
integer
Amount in pending put orders.
-
materialPropertyId
UUID
The ID of the property assigned to this material.
-
netQuantity
integer
Current quantity plus put quantity minus pick quantity.
-
reOrderPoint
float
The material will be handled in the Material Re-order List, as soon as its stock falls below the entered value.
-
unitOfMeasure
string
LIMIT:
50
The unit of measurement related to the material, e.g. Piece, lb, mm, Pack, Liter.
-
valuePerUnit
float
How much each individual material is worth.
-
weightPerUnit
float
How much each material weighs.
-
[dynamicField]
string
LIMIT:
1999
Any custom fields set up in PowerPick. Requires ItemPath's Custom Fields app.
Endpoints
List Materials
get /api/materialsGet the materials from the PPG database and return a JSON response.
Arguments
-
name
string
Only return materials that have the given name.
-
blockReason
string
Reason for blocking the material from warehouse operations.
-
canOrderPoint
float
The material will be handled in the Material Can-order List, as soon as its stock falls below the entered value.
-
codes
array
The alternate lookup code(s) assigned to the material. There can be multiple codes per material.
-
creationDate
dateTime
When this material was created.
-
Info1
string
A generic field for custom use.
-
Info2
string
A generic field for custom use.
-
Info3
string
A generic field for custom use.
-
Info4
string
A generic field for custom use.
-
Info5
string
A generic field for custom use.
-
isBlocked
integer
Whether the material is inactive. 0=false, 1=true.
-
locationCount
float
Calculates the number of locations (bins) where the material can be found.
-
materialPropertyId
UUID
The ID of the property assigned to this material.
-
reOrderPoint
float
The material will be handled in the Material Re-order List, as soon as its stock falls below the entered value.
-
unitOfMeasure
string
The unit of measurement related to the material, e.g. Piece, lb, mm, Pack, Liter.
-
valuePerUnit
float
How much each individual material is worth.
-
weightPerUnit
float
How much each material weighs.
-
[dynamicField]
string
Any dynamic fields that have been set up can be used as a filter. Requires ItemPath's Custom Fields app.
-
limit
integer
A limit on the number of objects to be returned. Limit can range between 1 and 1000.
Default value: 250
-
page
integer
Page-numbering is based on the value of the "limit" argument. If limit=20, then page=0 will display the hits from 1 to 20. (Page numbers are zero-based.) Using page without a limit returns all items.
-
orderBy
string, array
Order the response by the selected field. Multiple values can be passed, separated by a comma.
-
countOnly
boolean
When "true", will only return a count of the amount of items in the query.
Default value: false
{ "materials": [ { "MATERIALINFO6": null, "creationDate": "2021-11-15T18:45:42.210000", "isBlocked": 0, "id": "5736B656-568A-4F8C-BBB1-E7D663337B8B", "Info5": null, "Info1": "Example", "materialPropertyId": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "unitOfMeasure": null, "name": "Sample Material", "canOrderPoint": null, "blockReason": null, "Info4": null, "Info2": null, "valuePerUnit": null, "weightPerUnit": null, "Info3": null, "reOrderPoint": null } ] }
Create Material
post /api/materialsCreate a material and get a response.
For more about Material Properties, click here.
For more about Material Codes, click here.
Body Parameters
-
name
string
LIMIT:
50
REQUIRED
The name of the material.
-
blockReason
string
LIMIT:
50
Why the material is inactive.
-
canOrderPoint
float
An alternate minimum or maximum level of the material.
-
codes
array
An alternate lookup code or list of codes for a material. There can be multiple codes per material, which need to be passed as an array.
-
family
string
The name of a group this material belongs to.
-
Info1
string
LIMIT:
80
A generic field for custom use.
-
Info2
string
LIMIT:
80
A generic field for custom use.
-
Info3
string
LIMIT:
80
A generic field for custom use.
-
Info4
string
LIMIT:
80
A generic field for custom use.
-
Info5
string
LIMIT:
80
A generic field for custom use.
-
isBlocked
integer
Whether the material is inactive.
Possible values:
0 = False
1 = TrueDefault value: 0 (False)
-
materialProperty
string
LIMIT:
50
The name of the material property assigned to this material. If this and materialPropertyId are both blank, the first material property found will be the default.
-
materialPropertyId
uuid
The ID of the material property assigned to this material. If this and materialProperty are both blank, the first material property found will be the default.
-
reOrderPoint
float
The minimum level of the material.
-
unitOfMeasure
string
LIMIT:
50
What measurement is used.
-
valuePerUnit
float
How much the material is worth at the unit level.
-
weightPerUnit
float
How much each material weighs at the unit level.
-
[DynamicField]
string
LIMIT:
1999
Any material dynamic field that is in PowerPick.
-d '{ "name": "Sample Material", "codes": ["SampleCode1", "SampleCode2"], "Info1": "This example has material codes.", "unitOfMeasure": "lbs", "weightPerUnit": 2, "valuePerUnit": 1.5, "materialPropertyId" : "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29" }'
{ "material": { "name": "Sample Material", "codes": [ "SampleCode2", "SampleCode1" ], "Info2": null, "Info1": "This example has material codes.", "currentQuantity": 0.0, "weightPerUnit": 2.0, "canOrderPoint": null, "unitOfMeasure": "lbs", "Info3": null, "expectedQuantity": 0.0, "blockReason": null, "pickQuantity": 0.0, "netQuantity": 0.0, "currentValue": 0.0, "reOrderPoint": null, "materialPropertyId": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "isBlocked": 0, "Info4": null, "putQuantity": 0.0, "creationDate": "2022-03-17T19:15:16.067000", "id": "EBD286D1-4D5A-41C3-B24A-E62FC1008E57", "valuePerUnit": 1.5, "Info5": null } }
Show Material
get /api/materials/[id]Get a specific material from the PPG database and return a JSON response. The order will be pulled from the Material table.
curl -L -X GET '[Your IP]/api/materials/5736B656-568A-4F8C-BBB1-E7D663337B8B' -H 'Content-Type: application/json' -H 'Authorization: Bearer [Your JWT Access Token]'
{ "material": { "Info5": null, "id": "5736B656-568A-4F8C-BBB1-E7D663337B8B", "netQuantity": 0.0, "currentQuantity": 0.0, "currentValue": 0, "materialPropertyId": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "unitOfMeasure": null, "valuePerUnit": null, "weightPerUnit": null, "Info3": null, "expectedQuantity": 0.0, "blockReason": null, "canOrderPoint": null, "putQuantity": 0.0, "creationDate": "2021-11-15T18:45:42.210000", "Info1": "Example", "pickQuantity": 0.0, "Info2": null, "reOrderPoint": null, "MATERIALINFO6": null, "isBlocked": 0, "Info4": null, "name": "Sample Material" } }
Update Material
put /api/materials/[id]Update a material and get a response. Each key/value is optional. Only keys sent will be updated, but an object is required to be sent.
Arguments
-
name
string
LIMIT:
50
The name of the material.
-
blockReason
string
LIMIT:
50
Why the material is inactive.
-
canOrderPoint
integer
An alternate minimum or maximum level of the material.
-
codes
array
A new alternate lookup code or list of codes for a material. Updating this will replace (and delete) all other codes previously used for the material.
-
Info1
string
LIMIT:
80
A generic field for custom use.
-
Info2
string
LIMIT:
80
A generic field for custom use.
-
Info3
string
LIMIT:
80
A generic field for custom use.
-
Info4
string
LIMIT:
80
A generic field for custom use.
-
Info5
string
LIMIT:
80
A generic field for custom use.
-
isBlocked
integer
Whether the material is inactive.
Possible values:
0 = False
1 = True -
reOrderPoint
float
The minimum level of the material.
-
unitOfMeasure
string
What measurement is used.
-
valuePerUnit
float
How much each individual material is worth.
-
weightPerUnit
float
How much each material weighs.
-d '{ "name": "Renamed Sample Material" "Info1": "Example" }'
{ "material": { "Info5": null, "id": "5736B656-568A-4F8C-BBB1-E7D663337B8B", "netQuantity": 0.0, "currentQuantity": 0.0, "currentValue": 0, "materialPropertyId": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29", "unitOfMeasure": null, "valuePerUnit": null, "weightPerUnit": null, "Info3": null, "expectedQuantity": 0.0, "blockReason": null, "canOrderPoint": null, "putQuantity": 0.0, "creationDate": "2021-11-15T18:45:42.210000", "Info1": "Example", "pickQuantity": 0.0, "Info2": null, "reOrderPoint": null, "MATERIALINFO6": null, "isBlocked": 0, "Info4": null, "name": "Renamed Sample Material" } }
Delete Material
delete /api/materials/[id]/deleteDelete a specific material from the PPG database and return a JSON response.
Arguments
curl -L -X DELETE '[Your IP]/api/materials/5736B656-568A-4F8C-BBB1-E7D663337B8B/delete' -H 'Content-Type: application/json' -H 'Authorization: Bearer [Your JWT Access Token]'
{"deleted": "true"}