Reports

A report is a collection of data built via the ItemPath application. This collection of data is available through the API.

Attributes

  • name string

    A non-unique name given to the report.

  • id integer

    Unique identifier of the report.

  • baseTable string

    The PowerPick base table where the report data comes from.

  • columns array

    Details about the columns in the report.

  • creationDate datetime

    Date and time that the report was created.

  • defaultSnapshotId uuid

    ID of the snapshot that shows by default.

  • favouritedUsers array

    IDs of users who have favourited the report.

  • filters array

    Details about what variables the report is filtering by.

  • groupColumnId uuid

  • reportTypeId integer

    Type of report.

    Possible values:

    1 = Table
    2 = Timeline

    Default value: 1

  • snapshots array

    Details about snapshots set up to measure report data.

  • sortColumnId uuid

    ID of the column the report is set to sort by.

  • sortDescending boolean

    If the report's sort direction is set to "descending".

  • sortDirection integer

    Direction the sort column is set to.

    Possible values:

    0 = Ascending
    1 = Descending

  • table string

    The PowerPick table where the report data comes from.

  • userId uuid

Endpoints

List Reports

get /api/reports

Get a list of reports created from the ItemPath application. View the guide on adding filters to List API calls.

Arguments

  • name string

    A non-unique name given to the report.

  • id uuid

    Unique identifier of the report.

  • baseTable string

    The PowerPick base table where the report data comes from.

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

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/reports" \ -X get \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]" -d '{ }'
Example Response
{
    "report": {
        "baseTable": "History",
        "columns": [
            {
                "baseTable": "History",
                "filterType": "String",
                "id": 741,
                "name": "Order Name",
                "originalName": "Order Name",
                "position": "0",
                "reportColumnTypeId": 207,
                "sortingMethod": null,
                "table": "History",
                "tableColumn": "orderName"
            },
            {
                "baseTable": "History",
                "filterType": "String",
                "id": 744,
                "name": "Line Number",
                "originalName": "Line Number",
                "position": "2",
                "reportColumnTypeId": 10,
                "sortingMethod": null,
                "table": "History",
                "tableColumn": "number"
            },
            {
                "baseTable": "History",
                "filterType": "String",
                "id": 746,
                "name": "Material Reference",
                "originalName": "Material Reference",
                "position": "4",
                "reportColumnTypeId": 269,
                "sortingMethod": null,
                "table": "History",
                "tableColumn": "materialReference"
            },
            {
                "baseTable": "History",
                "filterType": "Number",
                "id": 747,
                "name": "Confirmed Quantity",
                "originalName": "Confirmed Quantity",
                "position": "5",
                "reportColumnTypeId": 60,
                "sortingMethod": null,
                "table": "History",
                "tableColumn": "quantityConfirmed"
            },
            {
                "baseTable": "History",
                "filterType": "Number",
                "id": 743,
                "name": "Motive Type",
                "originalName": "Motive Type",
                "position": "6",
                "reportColumnTypeId": 58,
                "sortingMethod": null,
                "table": "History",
                "tableColumn": "motiveType"
            },
            {
                "baseTable": "History",
                "filterType": "String",
                "id": 910,
                "name": "HistoryMasterOrderLine Id",
                "originalName": "ID",
                "position": "8",
                "reportColumnTypeId": 743,
                "sortingMethod": null,
                "table": "HistoryMasterOrderLine",
                "tableColumn": "id"
            }
        ],
        "creationDate": "2022-06-22T17:37:46",
        "defaultSnapshotId": 60,
        "favouritedUsers": [],
        "filters": [
            {
                "dateRange": null,
                "id": 175,
                "reportColumnId": 742,
                "reportId": 106,
                "value": "2,4",
                "verb": "equals"
            }
        ],
        "groupColumnId": null,
        "id": 106,
        "name": "Pick Order Report",
        "reportTypeId": 1,
        "snapshots": [
            {
                "groupColumnId": 743,
                "groupRange": null,
                "groupVerb": null,
                "id": 60,
                "limit": null,
                "name": "Pick Orders Completed",
                "reportColumnId": null,
                "reportId": 106,
                "reportName": "Pick Order Report",
                "sortDirection": null,
                "status": 0,
                "subGroupColumnId": null,
                "trigger": {
                    "id": 70,
                    "lastTriggered": "2023-05-13T05:07:19",
                    "nextTrigger": "2023-05-14T00:00:00",
                    "snapshotId": 60,
                    "triggerFrequency": "day",
                    "triggerInterval": "1",
                    "triggerNumber": null,
                    "triggerTime": null,
                    "triggerType": null,
                    "triggerTypeId": null,
                    "workflowId": null
                },
                "type": "count",
                "userId": null
            }
        ],
        "sortColumnId": 748,
        "sortDescending": true,
        "sortDirection": "1",
        "table": "History",
        "userId": null
    }
}

Create Report

post /api/reports

Create a Report.

Body Parameters

  • name string

    The name of the report.

  • reportTypeId integer

    Either 1 (Table) or 2 (Timeline).

  • baseTable string

    The base table for the report.

    Options: Batch, Bin, Carrier, Cost Center, Client, History, Job, Job Lines, Kit, Kit Line, Location, Location Content, Location Content Breakdown, Log, Material, Material Family, Order, Order Line, Shelf, Storage Rule, Storage Unit, Task, User, Warehouse, Zone

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/reports" \ -X post \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]" \ -d '{ }'
Example Response
{ "report": { "name": " string ", "id": " integer ", "baseTable": " string ", "columns": " array ", "creationDate": " datetime ", "defaultSnapshotId": " uuid ", "favouritedUsers": " array ", "filters": " array ", "groupColumnId": " uuid ", "reportTypeId": " integer ", "snapshots": " array ", "sortColumnId": " uuid ", "sortDescending": " boolean ", "sortDirection": " integer ", "table": " string ", "userId": " uuid ", } }

Show Report

get /api/reports/[id]

Get a specific report from ItemPath by its ID and return a JSON response.

Arguments

Request with curl
curl "http://[subdomain.itempath.com or IP]/api/reports/[id]" \ -X get \ -H "Content-Type: application/json" \ -H "Authorization: Bearer [Your JWT Access Token]" -d '{ }'
Example Response
{
    "reports": [
        {
            "sortDirection": null,
            "sortDescending": "False",
            "sortColumnId": null,
            "id": 105,
            "name": "Count Transactions",
            "groupColumnId": null,
            "baseTable": "History",
            "columns": [
                {
                    "originalName": "Creation Date",
                    "id": 730,
                    "tableColumn": "creationDate",
                    "name": "Creation Date",
                    "position": "0",
                    "filterType": "DateTime",
                    "reportColumnTypeId": "11",
                    "sortingMethod": "",
                    "table": "History",
                    "baseTable": "History"
                }
            ],
            "userId": null,
            "reportTypeId": 1,
            "snapshots": [
                {
                    "sortDirection": null,
                    "type": "count",
                    "id": 56,
                    "name": "Counts Today",
                    "reportId": 105,
                    "groupColumnId": null,
                    "limit": null,
                    "userId": null,
                    "trigger": {
                        "triggerFrequency": "hour",
                        "triggerType": null,
                        "id": 66,
                        "snapshotId": 56,
                        "triggerTime": null,
                        "nextTrigger": "2022-06-15T19:00:00",
                        "lastTriggered": "2022-06-15T18:00:11",
                        "triggerNumber": null,
                        "triggerInterval": "1",
                        "workflowId": null
                    },
                    "reportColumnId": null,
                    "subGroupColumnId": null
                }
            ],
            "defaultSnapshotId": null,
            "table": "History",
            "filters": [
                {
                    "value": "6",
                    "dateRange": null,
                    "id": 169,
                    "reportId": 105,
                    "reportColumnId": 732,
                    "verb": "equals"
                },
                {
                    "value": "5,6",
                    "dateRange": null,
                    "id": 170,
                    "reportId": 105,
                    "reportColumnId": 737,
                    "verb": "not"
                }
            ]
        }
    ]
}

Delete Report

delete /api/reports/[id]/delete

Delete a specific report from ItemPath Connect and return a JSON response.

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