Skip to main content
This page describes planned API endpoints for the Syngenta Warehouse Management System. The application is currently in early development. No API endpoints are currently implemented.

Overview

The Reports API will provide endpoints for generating various analytics and reports related to inventory, orders, warehouse operations, and performance metrics.

Get Inventory Report

Generate a comprehensive inventory report with stock levels, movements, and analytics.

Endpoint

GET /api/v1/reports/inventory

Query Parameters

warehouse
string
Filter by warehouse code
category
string
Filter by product category
status
string
Filter by status: active, low_stock, out_of_stock, discontinued
startDate
string
Report start date (ISO 8601)
endDate
string
Report end date (ISO 8601)
format
string
default:"json"
Report format: json, csv, pdf

Request Example

curl -X GET "https://api.syngenta-wms.com/api/v1/reports/inventory?warehouse=WH001&format=json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

success
boolean
Request success status
data
object
summary
object
totalItems
number
Total number of inventory items
totalValue
number
Total inventory value
totalQuantity
number
Total quantity across all items
activeItems
number
Number of active items
lowStockItems
number
Number of items below reorder point
outOfStockItems
number
Number of out of stock items
byCategory
array
Inventory breakdown by category
category
string
Category name
itemCount
number
Number of items in category
totalQuantity
number
Total quantity in category
totalValue
number
Total value in category
byWarehouse
array
Inventory breakdown by warehouse
warehouse
string
Warehouse code
itemCount
number
Number of items in warehouse
totalQuantity
number
Total quantity in warehouse
totalValue
number
Total value in warehouse
movements
object
additions
number
Total quantity added during period
removals
number
Total quantity removed during period
adjustments
number
Total adjustments during period
generatedAt
string
Report generation timestamp (ISO 8601)
Response Example
{
  "success": true,
  "data": {
    "summary": {
      "totalItems": 1247,
      "totalValue": 15678450.00,
      "totalQuantity": 2456789,
      "activeItems": 1180,
      "lowStockItems": 45,
      "outOfStockItems": 22
    },
    "byCategory": [
      {
        "category": "seeds",
        "itemCount": 456,
        "totalQuantity": 1234567,
        "totalValue": 8900000.00
      },
      {
        "category": "pesticides",
        "itemCount": 389,
        "totalQuantity": 567890,
        "totalValue": 4200000.00
      },
      {
        "category": "fertilizers",
        "itemCount": 402,
        "totalQuantity": 654332,
        "totalValue": 2578450.00
      }
    ],
    "byWarehouse": [
      {
        "warehouse": "WH001",
        "itemCount": 847,
        "totalQuantity": 1876543,
        "totalValue": 12345000.00
      },
      {
        "warehouse": "WH002",
        "itemCount": 400,
        "totalQuantity": 580246,
        "totalValue": 3333450.00
      }
    ],
    "movements": {
      "additions": 456789,
      "removals": 234567,
      "adjustments": 12345
    },
    "generatedAt": "2026-03-12T10:30:00Z"
  },
  "metadata": {
    "timestamp": "2026-03-12T10:30:00Z",
    "requestId": "req_report1"
  }
}
When format is set to csv or pdf, the response will be a downloadable file instead of JSON.

Get Orders Report

Generate a comprehensive report on order fulfillment and performance.

Endpoint

GET /api/v1/reports/orders

Query Parameters

warehouse
string
Filter by warehouse code
status
string
Filter by order status
startDate
string
required
Report start date (ISO 8601)
endDate
string
required
Report end date (ISO 8601)
groupBy
string
default:"day"
Group results by: day, week, month
format
string
default:"json"
Report format: json, csv, pdf

Request Example

curl -X GET "https://api.syngenta-wms.com/api/v1/reports/orders?startDate=2026-03-01&endDate=2026-03-12&groupBy=day" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

data
object
summary
object
totalOrders
number
Total number of orders
totalRevenue
number
Total revenue from orders
averageOrderValue
number
Average order value
ordersByStatus
object
Order count by status
pending
number
Pending orders
processing
number
Processing orders
shipped
number
Shipped orders
delivered
number
Delivered orders
cancelled
number
Cancelled orders
fulfillmentMetrics
object
averageProcessingTime
number
Average time to process (hours)
averageShippingTime
number
Average time to ship (hours)
averageDeliveryTime
number
Average time to deliver (hours)
onTimeDeliveryRate
number
Percentage of on-time deliveries
timeSeries
array
Orders grouped by time period
period
string
Time period (date or date range)
orderCount
number
Number of orders in period
revenue
number
Revenue in period
averageOrderValue
number
Average order value in period
topProducts
array
Most ordered products
inventoryId
string
Inventory item ID
sku
string
Product SKU
name
string
Product name
orderCount
number
Number of orders containing this product
totalQuantity
number
Total quantity ordered
revenue
number
Revenue from this product
generatedAt
string
Report generation timestamp (ISO 8601)
Response Example
{
  "success": true,
  "data": {
    "summary": {
      "totalOrders": 342,
      "totalRevenue": 4567890.50,
      "averageOrderValue": 13356.42,
      "ordersByStatus": {
        "pending": 45,
        "processing": 78,
        "shipped": 123,
        "delivered": 89,
        "cancelled": 7
      },
      "fulfillmentMetrics": {
        "averageProcessingTime": 8.5,
        "averageShippingTime": 48.2,
        "averageDeliveryTime": 72.8,
        "onTimeDeliveryRate": 94.5
      }
    },
    "timeSeries": [
      {
        "period": "2026-03-01",
        "orderCount": 28,
        "revenue": 356789.00,
        "averageOrderValue": 12742.46
      },
      {
        "period": "2026-03-02",
        "orderCount": 31,
        "revenue": 412345.50,
        "averageOrderValue": 13301.47
      }
    ],
    "topProducts": [
      {
        "inventoryId": "inv_123456",
        "sku": "SYN-SEED-001",
        "name": "NK603 Corn Seed",
        "orderCount": 156,
        "totalQuantity": 234567,
        "revenue": 1993819.50
      },
      {
        "inventoryId": "inv_123457",
        "sku": "SYN-FERT-002",
        "name": "Atrazine 4L Herbicide",
        "orderCount": 134,
        "totalQuantity": 89456,
        "revenue": 1140564.00
      }
    ],
    "generatedAt": "2026-03-12T10:30:00Z"
  },
  "metadata": {
    "timestamp": "2026-03-12T10:30:00Z",
    "requestId": "req_report2"
  }
}

Get Warehouse Performance Report

Generate a performance report for warehouse operations.

Endpoint

GET /api/v1/reports/warehouse-performance

Query Parameters

warehouse
string
Filter by warehouse code (omit for all warehouses)
startDate
string
required
Report start date (ISO 8601)
endDate
string
required
Report end date (ISO 8601)
format
string
default:"json"
Report format: json, csv, pdf

Request Example

curl -X GET "https://api.syngenta-wms.com/api/v1/reports/warehouse-performance?startDate=2026-03-01&endDate=2026-03-12" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

data
array
Array of warehouse performance metrics
warehouse
object
code
string
Warehouse code
name
string
Warehouse name
location
string
Warehouse location
inventory
object
totalItems
number
Total inventory items
totalValue
number
Total inventory value
utilizationRate
number
Storage utilization percentage
turnoverRate
number
Inventory turnover rate
orders
object
totalOrders
number
Total orders processed
ordersShipped
number
Orders shipped
ordersDelivered
number
Orders delivered
ordersCancelled
number
Orders cancelled
performance
object
averagePickTime
number
Average pick time (minutes)
averagePackTime
number
Average pack time (minutes)
averageShipTime
number
Average ship time (minutes)
accuracyRate
number
Order accuracy percentage
onTimeShipmentRate
number
On-time shipment percentage
issues
object
damagedItems
number
Damaged items count
incorrectOrders
number
Incorrect orders count
delayedShipments
number
Delayed shipments count
Response Example
{
  "success": true,
  "data": [
    {
      "warehouse": {
        "code": "WH001",
        "name": "Central Distribution Center",
        "location": "Des Moines, IA"
      },
      "inventory": {
        "totalItems": 847,
        "totalValue": 12345000.00,
        "utilizationRate": 78.5,
        "turnoverRate": 4.2
      },
      "orders": {
        "totalOrders": 256,
        "ordersShipped": 198,
        "ordersDelivered": 167,
        "ordersCancelled": 5
      },
      "performance": {
        "averagePickTime": 12.5,
        "averagePackTime": 8.3,
        "averageShipTime": 4.7,
        "accuracyRate": 98.2,
        "onTimeShipmentRate": 95.7
      },
      "issues": {
        "damagedItems": 7,
        "incorrectOrders": 3,
        "delayedShipments": 11
      }
    },
    {
      "warehouse": {
        "code": "WH002",
        "name": "West Coast Hub",
        "location": "Sacramento, CA"
      },
      "inventory": {
        "totalItems": 400,
        "totalValue": 3333450.00,
        "utilizationRate": 65.3,
        "turnoverRate": 3.8
      },
      "orders": {
        "totalOrders": 86,
        "ordersShipped": 67,
        "ordersDelivered": 54,
        "ordersCancelled": 2
      },
      "performance": {
        "averagePickTime": 14.2,
        "averagePackTime": 9.1,
        "averageShipTime": 5.3,
        "accuracyRate": 96.8,
        "onTimeShipmentRate": 92.4
      },
      "issues": {
        "damagedItems": 4,
        "incorrectOrders": 2,
        "delayedShipments": 6
      }
    }
  ],
  "metadata": {
    "timestamp": "2026-03-12T10:30:00Z",
    "requestId": "req_report3"
  }
}

Get Low Stock Alert Report

Generate a report of items below their reorder point.

Endpoint

GET /api/v1/reports/low-stock

Query Parameters

warehouse
string
Filter by warehouse code
category
string
Filter by product category
threshold
number
Custom threshold percentage (e.g., 50 for 50% of reorder point)
format
string
default:"json"
Report format: json, csv, pdf

Request Example

curl -X GET "https://api.syngenta-wms.com/api/v1/reports/low-stock?warehouse=WH001" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Response

Returns a list of inventory items below their reorder point with recommended reorder quantities.
Items marked as critical (less than 25% of reorder point) require immediate attention.

Export Report

Export any report in CSV or PDF format.

Endpoint

GET /api/v1/reports/{reportType}
Add ?format=csv or ?format=pdf to any report endpoint to download the report in the specified format.

Response Headers

Content-Type: text/csv; charset=utf-8
Content-Disposition: attachment; filename="inventory-report-2026-03-12.csv"
or
Content-Type: application/pdf
Content-Disposition: attachment; filename="inventory-report-2026-03-12.pdf"
CSV and PDF exports are limited to 10,000 records. For larger datasets, use pagination with JSON format.

Error Responses

Invalid Date Range

{
  "success": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "End date must be after start date",
    "details": {
      "startDate": "2026-03-12",
      "endDate": "2026-03-01"
    }
  },
  "metadata": {
    "timestamp": "2026-03-12T10:30:00Z",
    "requestId": "req_error1"
  }
}

Date Range Too Large

{
  "success": false,
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Date range cannot exceed 90 days",
    "details": {
      "maxDays": 90,
      "requestedDays": 120
    }
  },
  "metadata": {
    "timestamp": "2026-03-12T10:30:00Z",
    "requestId": "req_error2"
  }
}

Build docs developers (and LLMs) love