Inventory
Manage products, stock levels, and warehouse operations. Track inventory across locations and automate stock replenishment.
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"
}
]
}

