Import
All import endpoints are asynchronous and return 202 Accepted with a job envelope.
API key with import:read or import:write scope.
Each endpoint validates row payloads and reports row-level failures in job status.
POST /api/import/catalog
Array of catalog rows.
Unique product identifier.
Product name; defaults to externalId if omitted.
POST /api/import/inventory
Array of inventory level rows.
SKU identifier.
Location code; internally normalized as {organizationId}-{locationId}.
Physical stock on hand. Defaults to 0.
Reserved quantity. Defaults to 0.
Threshold used to update internal minimum quantity. Defaults to 0.
POST /api/import/suppliers
Array of supplier rows.
Unique supplier identifier.
POST /api/import/purchase-orders
Array of purchase order headers.
Purchase order number (idempotent key).
Supplier code.
Destination location code.
Optional PO status, defaults to PENDING.
PO line rows.
SKU for the line.
Line quantity.
Line unit cost.
POST /api/import/orders
Array of customer order headers.
External order identifier.
Order lines.
SKU identifier.
Requested quantity.
Fulfillment location code.
POST /api/import/demand-history
Array of weekly demand history records.
SKU identifier.
Location code.
ISO date used to bucket weekly demand.
Channel label; defaults to ALL.
Actual units; defaults to 0.
Forecast units; defaults to actualDemand.
GET /api/import/status/[jobId]
Import job ID.
Current state (PENDING, PROCESSING, COMPLETED, FAILED).
Total rows submitted.
Rows processed.
Rows rejected.
Row-level error details.
Completion timestamp when available.
