AVAILABLE

Retail Operations

Inventory Reorder Math & Policy Guard

Summarize supplied demand, calculate safety-stock, reorder-point, and EOQ candidates, and preflight one or up to 1,000 inventory positions under explicit caller policy.

CONTRACT

Predictable for agents. Legible for reviewers.

REST
POST /v1/inventory-reorder/plan
MCP tool
plan_inventory_reorder
Inputs
Bounded nonnegative caller-supplied demand and inventory facts with explicit daily/annual time bases, lead time, safety stock, costs, target or fixed quantity, and optional minimum, maximum, and order-multiple policy; batches accept 1,000 unique item references.
Returns
CLEAR, REVIEW_REQUIRED, or BLOCKED with descriptive demand evidence, stated formulas and assumptions, inventory position, lead-time demand, reorder point, non-executing quantity candidate, named findings, and a next action.
Latency
Synchronous
Usage unit
Inventory-planning operation

The suite also exposes /v1/inventory-reorder/demand-summary, /safety-stock, /reorder-point, /economic-order-quantity, and /batch-plan plus /mcp/inventory-reorder. It describes caller-supplied facts only and never creates a forecast, queries an ERP or supplier, selects a vendor, creates a purchase order, changes inventory, or stores the payload. Its RapidAPI release is queued behind the provider's twenty-public-API cap.

AGENT-READABLE EXCEPTIONS

INVENTORY_HISTORY_TOO_SHORTINVENTORY_NO_RECORDED_DEMANDINVENTORY_INTERMITTENT_DEMANDINVENTORY_HIGH_DEMAND_VARIABILITYINVENTORY_EOQ_ASSUMPTIONS_REQUIRE_REVIEWINVENTORY_ORDER_QUANTITY_POLICY_MISSINGINVENTORY_MINIMUM_ORDER_APPLIEDINVENTORY_ORDER_MULTIPLE_APPLIEDINVENTORY_MAXIMUM_ORDER_EXCEEDEDINVENTORY_SEASONALITY_OR_PROMOTION_REVIEWINVENTORY_OUTPUT_TOO_LARGE
HTTP request
POST /v1/inventory-reorder/plan
Authorization: Bearer apc_...
Content-Type: application/json

{
  "item_reference": "SKU-1042",
  "on_hand": "45",
  "on_order": "10",
  "allocated": "8",
  "backordered": "2",
  "average_demand_per_day": "6",
  "lead_time_days": "7",
  "safety_stock": "18",
  "target_stock": "120",
  "minimum_order_quantity": "24",
  "maximum_order_quantity": "240",
  "order_multiple": "12"
}
cURL (bash)
curl --request POST \
  --url 'https://api-production-9502.up.railway.app/v1/inventory-reorder/plan' \
  --header 'Authorization: Bearer ${AP_CONTROL_API_KEY}' \
  --header 'Content-Type: application/json' \
  --data '{
  "item_reference": "SKU-1042",
  "on_hand": "45",
  "on_order": "10",
  "allocated": "8",
  "backordered": "2",
  "average_demand_per_day": "6",
  "lead_time_days": "7",
  "safety_stock": "18",
  "target_stock": "120",
  "minimum_order_quantity": "24",
  "maximum_order_quantity": "240",
  "order_multiple": "12"
}'
Representative response
{
  "status": "COMPLETED",
  "decision": "REVIEW_REQUIRED",
  "plan": {
    "item_reference": "SKU-1042",
    "decision": "REVIEW_REQUIRED",
    "inventory_position": "45",
    "lead_time_demand": "42",
    "reorder_point": "60",
    "reorder_triggered": true,
    "raw_order_quantity_candidate": "75",
    "order_quantity_candidate": "84",
    "findings": [
      {
        "code": "INVENTORY_ORDER_MULTIPLE_APPLIED",
        "severity": "LOW",
        "message": "The quantity candidate was rounded up to the caller's order multiple.",
        "evidence": {
          "multiple": "12"
        },
        "next_action": "Confirm the packaging multiple and resulting inventory exposure."
      }
    ],
    "next_action": "Review the named findings and authorize any supplier action in the caller's purchasing system."
  },
  "findings": [
    {
      "code": "INVENTORY_ORDER_MULTIPLE_APPLIED",
      "severity": "LOW"
    }
  ],
  "ruleset_version": "INVENTORY_REORDER_CALLER_POLICY_2026",
  "scope": "CALLER_SUPPLIED_INVENTORY_FACTS_ONLY",
  "forecast_created": false,
  "external_system_queried": false,
  "purchase_order_created": false,
  "inventory_mutated": false,
  "supplier_selected": false,
  "payload_stored": false,
  "next_action": "Review the named findings and authorize any supplier action in the caller's purchasing system."
}
Descriptive math, not a forecastDemand summaries, safety stock, reorder points, and EOQ expose formulas and caller inputs without predicting future demand.
Caller policy stays explicitInventory position, target or fixed quantity, minimum, maximum, and order multiple remain visible in every non-executing plan.
No supplier or inventory actionThe service queries no ERP or supplier, selects no vendor, creates no purchase order, and changes no inventory.

Try Inventory Reorder Math & Policy Guard with your own workflow.

Start with the workspace, inspect the typed result, then integrate with REST or the focused MCP server.