Connect StowFlow to the software you already run — an ERP, your accounting system, a webshop, or a script. Read your items, stock and orders, and send new orders straight to the pick list.
Version: v1 · JSON over HTTPS
In the StowFlow console, open Settings → Integrations → API access (owners only) and create a key. Give it a name such as "Odoo". The key is shown once; store it in your other system's settings. The same panel shows your base URL, when each key was last used, and lets you revoke a key instantly.
Treat a key like a password: it can read your whole catalogue and create orders. You can have up to five keys; use one per connected system, so you can revoke one without affecting the others.
Send the key with every request:
Authorization: Bearer sfk_YOUR_KEY
(x-api-key: sfk_YOUR_KEY also works.)
GET /v1/items
Every item with its total quantity on hand.
{ "items": [
{ "sku": "SKU-100023", "name": "Bottled Water 24-pack", "category": "Beverages",
"barcode": "6291000123456", "cost": 18.5, "reorderPoint": 40, "onHand": 100 }
] }
GET /v1/items/SKU-100023
GET /v1/stock
{ "stock": [ { "sku": "SKU-100023", "location": "A-01-1", "qty": 60 } ] }
location is null for warehouses that don't use bin locations.
GET /v1/orders?status=open
status is optional: open or completed.
{ "orders": [
{ "orderId": "SO-1042", "customer": "Carrefour Ibn Battuta", "area": null, "status": "open",
"lines": [ { "sku": "SKU-100023", "qty": 12, "picked": 0 } ], "createdAt": "2026-10-22T08:15:00.000Z" }
] }
POST /v1/orders
Content-Type: application/json
{ "orderId": "WEB-5521", "customer": "Lulu Al Barsha", "area": "Al Barsha",
"lines": [ { "sku": "SKU-100023", "qty": 6 }, { "sku": "SKU-100402", "qty": 2 } ] }
customer and lines are required. Every sku must already
be in your catalogue.orderId is optional — use your own reference so the picker sees it. If you leave
it out, StowFlow assigns one (API-…). Sending an orderId that already
exists is refused, so a retry can't create a duplicate.201 with the created order.curl -H "Authorization: Bearer $STOWFLOW_KEY" \
"$STOWFLOW_BASE/v1/stock"
{ "error": "…" } with a message you can show or log.400 invalid input · 401 missing, wrong or revoked key ·
403 warehouse is read-only (plan ended) · 404 not found ·
429 rate limit · 500 our fault — retry shortly.Building an integration and stuck? Email hello@stowflow.ae or WhatsApp +971 50 785 0528 with the endpoint, the time and the error message — never the key itself.