1. Resource Central
  2. arrow-right
  3. Materials

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

    Unique identifier of the material.

  • 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 float

    How many of this material are currently stored.

  • currentValue float

    The current quantity of this material multiplied by the value.

  • expectedQuantity float

    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 = True

    Default 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.

  • materialPropertyId UUID

    The ID of the property assigned to this material.

  • netQuantity float

    Current quantity plus put quantity minus pick quantity.

  • pickQuantity float

    Amount allocated to pick orders.

  • putQuantity float

    Amount allocated to put orders.

  • 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 /api/materials
get

Get a list of materials from the PPG database. View the guide on adding filters to List API calls.

Body Parameters

  • name string

    Only return materials that have the given name.

  • id

  • 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.

  • creationDate dateTime

    When this material was created.

  • currentQuantity float

    How many of this material are currently stored.

  • currentValue float

    The current quantity of this material multiplied by the value.

  • expectedQuantity float

    The total amount including allocated quantity from Put transactions.

  • 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.

    Possible values:

    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.

  • netQuantity float

    Current quantity plus put quantity minus pick quantity.

  • pickQuantity float

    Amount allocated to pick orders.

  • putQuantity float

    Amount allocated to put orders.

  • 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.

  • countOnly boolean

    When "true", will only return a count of the amount of items in the query.

    Default value:

    false

  • 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.

Request with curl
-d 'curl -L 
-X POST '[subdomain.itempath.com or IP]/api/materials?info1=example' 
-H 'Content-Type: application/json' 
-H 'Authorization: Bearer [Your JWT Access Token]''
Example Response
{
    "materials": [
        {
            "Info1": "example",
            "Info2": null,
            "Info3": null,
            "Info4": null,
            "Info5": null,
            "MATERIALINFO6": null,
            "blockReason": null,
            "canOrderPoint": 10.0,
            "codes": [],
            "creationDate": "2022-02-18T20:44:31.490000",
            "currentQuantity": 0.0,
            "currentValue": 0.0,
            "expectedQuantity": 0.0,
            "id": "97D5726D-9713-4BCC-8009-015A81EBA08D",
            "isBlocked": 0,
            "materialPropertyId": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29",
            "name": "Sample Material3",
            "netQuantity": 1.0,
            "pickQuantity": 0.0,
            "putQuantity": 1.0,
            "reOrderPoint": 10.0,
            "unitOfMeasure": null,
            "valuePerUnit": null,
            "weightPerUnit": null
        },
        {
            "Info1": "example",
            "Info2": null,
            "Info3": null,
            "Info4": null,
            "Info5": null,
            "MATERIALINFO6": null,
            "blockReason": null,
            "canOrderPoint": null,
            "codes": [],
            "creationDate": "2022-02-18T17:53:53.760000",
            "currentQuantity": 0.0,
            "currentValue": 0.0,
            "expectedQuantity": 0.0,
            "id": "CC12C8F7-8E23-4C83-B310-72C171F29DDF",
            "isBlocked": 0,
            "materialPropertyId": "F687AB5F-E6F6-48A2-B748-10CE0A6E2C29",
            "name": "Sample Material2",
            "netQuantity": 0.0,
            "pickQuantity": 0.0,
            "putQuantity": 0.0,
            "reOrderPoint": 10.0,
            "unitOfMeasure": null,
            "valuePerUnit": null,
            "weightPerUnit": null
        }
    ]
}
Create Material /api/materials
post

Create 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. Material codes must be unique to other codes and material names. There can be multiple codes per material, which need to be passed as an array.

  • materialFamily string LIMIT: 50

    The name of a group this material belongs to.

  • materialFamilyId uuid

    The id 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 = True

    Default 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.

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/materials" \ -X post \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]" \
-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"
}'
Example Response
{
    "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 /api/materials/[id]
get

Get a specific material from the PPG database and return a JSON response. The order will be pulled from the Material table.

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/materials/[id]" \ -X get \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]"
Example Response
{
    "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 /api/materials/[id]
put

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.

Body Parameters

  • 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. Material codes must be unique to other codes and material names. NOTE: 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

  • materialPropertyId uuid

    The ID of the material property assigned to this material.

  • 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.

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/materials/[id]" \ -X put \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]"
-d '{ 
  "name": "Renamed Sample Material"
  "Info1": "Example" 
}'
Example Response
{
    "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 /api/materials/[id]/delete
delete

Delete a specific material from the PPG database and return a JSON response.

Body Parameters

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/materials/[id]/delete" \ -X delete \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]"
Example Response
{"deleted": "true"}