Skip to content

SKUs

Returns a paginated list of SKUs (products) from your inventory.

POST/api/v1/skus
ParameterTypeDefaultDescription
limitinteger1000Number of results per page (1-5000)
offsetinteger0Number of results to skip
aggregation_levelstringSKUSKU (aggregated, default) or SKU_LOCATION (broken down by warehouse)
FieldTypeDefaultDescription
name_likestring-Search by product or SKU name
with_digitalbooleanfalseInclude digital products
with_bundlebooleanfalseInclude bundle products
with_materialbooleanfalseInclude raw materials
with_archivedbooleanfalseInclude archived SKUs
with_draftbooleantrueInclude draft SKUs
Terminal window
curl -X POST "https://api.prediko.io/api/v1/skus?limit=100" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name_like": "widget"}'

The response format differs based on the aggregation_level parameter.

Response with aggregation_level=SKU (default)

Section titled “Response with aggregation_level=SKU (default)”
{
"data": [
{
"sku_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sku_name": "VN-03-white-7",
"product_name": "VANS | AUTHENTIC (BUTTERFLY) TRUE | WHITE / BLACK",
"sum_stock_level": 23.0,
"sum_incoming_units": 0.0,
"buying_date": "2026-01-20",
"stock_health_projected": {
"EXCESS": 1,
"AT_RISK": 1,
"STOCK_OUT": 1
},
"days_on_hand": {
"min": 0.0,
"max": 511.0
},
"estimated_stock_out_days_incoming": {
"min": 0.0,
"max": 0.0
},
"unit_cost": 45.00,
"unit_cost_supplier": 38.50,
"unit_costs_supplier": [
{"supplier_name": "VANS", "unit_cost": 38.50, "currency": "EUR"},
{"supplier_name": "Alternate Supplier", "unit_cost": 42.00, "currency": "USD"}
],
"bom_cost": 12.50
}
],
"pagination": {
"total": 150,
"limit": 100,
"offset": 0,
"has_more": true
}
}

Response with aggregation_level=SKU_LOCATION

Section titled “Response with aggregation_level=SKU_LOCATION”
{
"data": [
{
"sku_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"warehouse_id": "f1e2d3c4-b5a6-7890-fedc-ba0987654321",
"sku_name": "SKU-001",
"product_name": "Widget Pro",
"warehouse_name": "Main Warehouse",
"sum_stock_level": 300.0,
"sum_incoming_units": 100.0,
"buying_date": "2025-02-01",
"stock_health_projected": "HEALTHY",
"days_on_hand": 45,
"estimated_stock_out_days_incoming": 90.0,
"unit_cost": 45.00,
"unit_cost_supplier": 38.50,
"unit_costs_supplier": [
{"supplier_name": "Acme Corp", "unit_cost": 38.50, "currency": "EUR"}
],
"bom_cost": null
}
],
"pagination": {
"total": 2,
"limit": 100,
"offset": 0,
"has_more": false
}
}
FieldTypeDescription
totalintegerTotal number of SKUs
limitintegerNumber of results per page
offsetintegerNumber of results skipped
has_morebooleanWhether more results exist
FieldTypeDescription
sku_idstringUnique SKU identifier (UUID)
sku_namestringSKU identifier
product_namestringProduct name
sum_stock_levelnumberTotal stock across all warehouses
sum_incoming_unitsnumberTotal units on order
buying_datedateRecommended next buying date
stock_health_projectedobjectStock health counts per status: {EXCESS, AT_RISK, STOCK_OUT}
days_on_handobjectDays of stock remaining: {min, max}
estimated_stock_out_days_incomingobjectDays until stockout including incoming: {min, max}
unit_costnumberBase unit cost from Shopify in tenant’s main currency
unit_cost_suppliernumberUnit cost specific to the SKU-supplier relationship (in supplier currency). Optional
unit_costs_supplierarrayList of all supplier unit costs linked to this SKU. Each item contains supplier_name, unit_cost, and currency. Optional
bom_costnumberBill of materials cost. Optional

SKU Object (aggregation_level=SKU_LOCATION)

Section titled “SKU Object (aggregation_level=SKU_LOCATION)”
FieldTypeDescription
sku_idstringUnique SKU identifier (UUID)
warehouse_idstringUnique warehouse identifier (UUID)
sku_namestringSKU identifier
product_namestringProduct name
warehouse_namestringWarehouse name
sum_stock_levelnumberStock level at this warehouse
sum_incoming_unitsnumberUnits on order for this warehouse
buying_datedateRecommended next buying date
stock_health_projectedstringStock health status: EXCESS, HEALTHY, AT_RISK, STOCK_OUT
days_on_handintegerDays of stock remaining
estimated_stock_out_days_incomingnumberDays until stockout including incoming
unit_costnumberBase unit cost from Shopify in tenant’s main currency
unit_cost_suppliernumberUnit cost specific to the SKU-supplier relationship (in supplier currency). Optional
unit_costs_supplierarrayList of all supplier unit costs linked to this SKU. Each item contains supplier_name, unit_cost, and currency. Optional
bom_costnumberBill of materials cost. Optional
  • SKU: Returns inventory aggregated by SKU across all warehouses (default). Fields like stock_health_projected and days_on_hand return min/max ranges across warehouses.
  • SKU_LOCATION: Returns inventory broken down by each warehouse location. Each SKU appears once per warehouse with specific values.
Terminal window
curl -X POST "https://api.prediko.io/api/v1/skus" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"with_material": true}'
Terminal window
curl -X POST "https://api.prediko.io/api/v1/skus" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"with_archived": true, "with_draft": false}'
StatusDescription
400Invalid limit parameter (exceeds 5000)
401Invalid or missing API key
500Internal server error