Inventory
Manage products, stock levels, and warehouse operations. Track inventory across locations and automate stock replenishment.
The Inventory module is currently under development and not yet available. The endpoints documented below are planned and may change before release. This page will be updated when the module is generally available.
List products
Retrieve a paginated list of all products.
Optional parameters
- Name
category- Type
- string
- Description
Filter by product category.
- Name
in_stock- Type
- boolean
- Description
Filter for items currently in stock.
- Name
limit- Type
- integer
- Description
Maximum number of records to return.
Request
curl https://api.umbraerp.com/v1/inventory/products \
-H "Authorization: Bearer <your_access_token>"
Response
{
"result": "success",
"products": [
{
"id": "prod_001",
"name": "Widget A",
"sku": "WGT-001",
"category": "Components",
"unit_price": 2500,
"currency": "USD",
"stock_quantity": 150,
"reorder_level": 20,
"created_at": "2026-01-10T08:00:00Z"
}
],
"total_count": 1
}
Create product
Add a new product to the inventory.
Required attributes
- Name
name- Type
- string
- Description
Product name.
- Name
sku- Type
- string
- Description
Stock Keeping Unit code (must be unique).
- Name
unit_price- Type
- integer
- Description
Price per unit in the smallest currency unit.
- Name
currency- Type
- string
- Description
Three-letter ISO currency code.
Optional attributes
- Name
category- Type
- string
- Description
Product category.
- Name
description- Type
- string
- Description
Product description.
- Name
initial_stock- Type
- integer
- Description
Initial stock quantity (default: 0).
- Name
reorder_level- Type
- integer
- Description
Minimum stock level before reorder alert.
Request
curl -X POST https://api.umbraerp.com/v1/inventory/products \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Widget A",
"sku": "WGT-001",
"unit_price": 2500,
"currency": "USD",
"category": "Components",
"initial_stock": 150,
"reorder_level": 20
}'
Response
{
"result": "success",
"product_id": "prod_001",
"message": "Product created successfully."
}
Get product
Retrieve details of a specific product, including current stock levels.
Request
curl https://api.umbraerp.com/v1/inventory/products/prod_001 \
-H "Authorization: Bearer <your_access_token>"
Update stock
Adjust stock levels for a product.
Required attributes
- Name
adjustment- Type
- integer
- Description
Stock adjustment (positive for additions, negative for removals).
- Name
reason- Type
- string
- Description
Reason for adjustment:
purchase,sale,return,damage,correction.
Request
curl -X POST https://api.umbraerp.com/v1/inventory/products/prod_001/stock \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"adjustment": 50,
"reason": "purchase"
}'
Response
{
"result": "success",
"new_stock_quantity": 200,
"message": "Stock updated successfully."
}
Stock movements
Retrieve a history of stock movements.
Optional parameters
- Name
product_id- Type
- string
- Description
Filter by product ID.
- Name
start_date- Type
- string
- Description
Filter by start date (
YYYY-MM-DD).
- Name
end_date- Type
- string
- Description
Filter by end date (
YYYY-MM-DD).
Request
curl https://api.umbraerp.com/v1/inventory/movements \
-H "Authorization: Bearer <your_access_token>"
Response
{
"result": "success",
"movements": [
{
"id": "mv_001",
"product_id": "prod_001",
"adjustment": 50,
"reason": "purchase",
"stock_before": 150,
"stock_after": 200,
"created_at": "2026-03-01T10:00:00Z"
}
]
}

