Inventory

Manage products, stock levels, and warehouse operations. Track inventory across locations and automate stock replenishment.


GET/v1/inventory/products

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

GET
/v1/inventory/products
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
}

POST/v1/inventory/products

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

POST
/v1/inventory/products
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/v1/inventory/products/:id

Get product

Retrieve details of a specific product, including current stock levels.

Request

GET
/v1/inventory/products/prod_001
curl https://api.umbraerp.com/v1/inventory/products/prod_001 \
  -H "Authorization: Bearer <your_access_token>"

POST/v1/inventory/products/:id/stock

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

POST
/v1/inventory/products/prod_001/stock
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."
}

GET/v1/inventory/movements

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

GET
/v1/inventory/movements
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"
    }
  ]
}

Was this page helpful?