---
title: "REST API and Webhooks: Building on Top of Your WMS"
date: "2026-03-07"
description: "A WMS with a real REST API and webhooks lets you integrate with any system, automate workflows, and build custom solutions without waiting on your vendor."
author: "CannonWMS Team"
tags: "API, Webhooks, Integration, Developers, Automation"
draft: "false"
---

# REST API and Webhooks: Building on Top of Your WMS

Your WMS doesn't operate in isolation. It connects to your ecommerce platform, your ERP, your accounting software, your shipping carriers, your BI tools, and probably half a dozen other systems. The question isn't whether you need integration — it's whether your WMS makes integration possible or painful.

A real REST API with webhook support is the difference between a WMS that plays nicely with your stack and one that traps your data behind a login screen.

## What "API Access" Actually Means

Every WMS vendor claims API access. But there's a spectrum:

### The Fake API
Some platforms offer a read-only data export or a CSV download and call it an "API." You can pull data out, but you can't push data in. You can't create orders, adjust inventory, or trigger workflows programmatically. This isn't an API — it's a report.

### The Limited API
Other platforms expose a few endpoints — maybe order retrieval and inventory counts — but lack coverage for the operations you actually need. Want to create a purchase order via API? Not supported. Need to trigger a pick tour? Manual only. These APIs were built to check a box, not to enable real integration.

### The Real API
A complete REST API exposes every meaningful operation in the system as an endpoint. If you can do it in the UI, you can do it via API. This means:

- **CRUD on all entities** — products, orders, inventory, purchase orders, work orders, customers, shipments
- **Action endpoints** — trigger picks, process returns, generate labels, run reports
- **Query endpoints** — search, filter, paginate through data
- **Authentication** — secure Bearer token auth, not basic auth with credentials in the URL
- **Rate limiting** — documented limits so your integrations don't get throttled unexpectedly
- **Versioning** — endpoints don't break when the platform updates

## Common API Use Cases

Here's what teams actually build with a WMS API:

### ERP Sync
Your ERP (NetSuite, SAP, QuickBooks, Sage) is the financial system of record. Your WMS is the warehouse system of record. The API keeps them in sync:

- **Orders flow in** — sales orders created in the ERP automatically appear in the WMS for fulfillment
- **Shipments flow back** — when the WMS ships an order, tracking info and shipment details push back to the ERP
- **Inventory syncs** — adjustments in the WMS (cycle counts, receiving, returns) update the ERP's inventory valuation
- **Purchase orders** — POs created in the ERP push to the WMS for receiving workflows

Without an API, this sync happens via CSV exports, manual entry, or expensive middleware. With an API, it's a direct connection.

### Custom Dashboard and BI
Your operations team wants a dashboard that combines WMS data with sales data, shipping costs, and customer metrics. The API lets your BI tool (Looker, Metabase, Tableau, or a custom dashboard) pull live warehouse data:

- Orders fulfilled today vs. backlog
- Pick accuracy rates this week
- Inventory turnover by product category
- Average time from order received to shipped
- Return rates by SKU

### Marketplace Integration
You sell on a channel that your WMS doesn't natively integrate with — maybe a niche B2B marketplace, a wholesale portal, or your own custom storefront. The API lets you:

- Push orders into the WMS when they're placed on your platform
- Pull inventory levels to show accurate availability
- Receive tracking info when orders ship
- Process returns back through the WMS

### Automated Inventory Management
Set up scripts or workflows that react to inventory events:

- When a SKU drops below a threshold, automatically create a purchase order draft
- When a batch of inventory is received, trigger a notification to the sales team
- When inventory hasn't moved in 90 days, flag it for clearance pricing
- Sync inventory counts to a Google Sheet for the finance team

### Mobile and Custom UIs
Some warehouse operations need interfaces that the standard WMS UI doesn't provide:

- A simplified receiving app for dock workers who only need scan-and-confirm
- A customer-facing order status portal that pulls tracking data from the WMS
- A kiosk display showing real-time fulfillment metrics on the warehouse floor
- A mobile app for cycle counting optimized for your specific workflow

The API makes your WMS the data layer while you build whatever front-end experience you need.

## Webhooks: Don't Poll, Get Notified

APIs are great for pulling data and pushing actions. But what about reacting to events in real time?

Webhooks flip the model: instead of your system asking the WMS "did anything change?" every 30 seconds (polling), the WMS tells your system "this just happened" the instant it occurs.

### How Webhooks Work

1. You register a webhook URL with the WMS for specific events
2. When that event occurs, the WMS sends an HTTP POST to your URL with event details
3. Your system processes the event and takes action

### Common Webhook Events

| Event | What Triggers It | What You Can Do With It |
|-------|-----------------|----------------------|
| `order.created` | New order enters the WMS | Notify your team, update your CRM |
| `order.shipped` | Order ships with tracking | Send customer notification, update ERP |
| `inventory.low` | SKU drops below reorder point | Trigger PO creation, alert purchasing team |
| `inventory.adjusted` | Cycle count or manual adjustment | Update ERP inventory valuation |
| `return.received` | Return arrives at warehouse | Notify customer, initiate refund process |
| `shipment.delivered` | Carrier confirms delivery | Update order status, trigger review request |
| `pick.completed` | Pick tour finished | Move orders to pack queue, update dashboard |

### Why Webhooks Beat Polling

**Polling:** Your system hits the API every 60 seconds asking "any new shipments?" 1,440 API calls per day, most returning nothing. When a shipment does happen, you don't find out for up to 60 seconds.

**Webhooks:** Zero API calls for checking. The instant a shipment is created, your system knows. No wasted calls, no delay, no rate limit concerns from constant polling.

## Authentication and Security

API access to your warehouse data needs to be secure. Here's what matters:

### Bearer Token Auth
API requests include a token in the Authorization header. Tokens can be scoped to specific operations (read-only vs. read-write) and rotated without changing your integration code.

### Rate Limiting
Documented rate limits prevent runaway scripts from overloading the system. Good implementations return standard `429 Too Many Requests` responses with `Retry-After` headers so your integration can back off gracefully.

### Webhook Signatures
Incoming webhooks should include a signature (HMAC or similar) so your system can verify the payload actually came from the WMS, not a spoofed request.

### API Keys per Integration
Different integrations should use different API keys. Your ERP sync uses one key, your BI dashboard uses another, your custom receiving app uses a third. If one integration is compromised, you revoke that key without affecting the others.

## What to Look for in a WMS API

Not all APIs are created equal. Before committing to a platform, evaluate:

- **Coverage** — can you perform all critical operations (orders, inventory, products, shipping, returns) via API?
- **Documentation** — is there clear, up-to-date API documentation with examples?
- **Authentication** — Bearer token, not basic auth. Scoped permissions, not all-or-nothing.
- **Rate limits** — documented, reasonable, with standard error responses
- **Webhooks** — event-driven notifications, not just polling endpoints
- **Sandbox/test environment** — can you test integrations without affecting production data?
- **Versioning** — will your integration break when the platform releases updates?
- **Support** — is there developer support for integration questions?

## The Bottom Line

A WMS without a real API is a data silo. Your warehouse data is valuable to every other system in your business — your ERP needs it, your sales team needs it, your customers need it, your BI tools need it. An API makes that data accessible without manual exports, CSV files, or middleware.

CannonWMS provides a full REST API with Bearer auth, rate limiting, and event webhooks. Every operation available in the UI is available via API. Build integrations with your ERP, marketplace, BI tools, or custom applications — all backed by the same data your warehouse team works with every day.

---

**Building an integration or evaluating WMS APIs?** [Build your price](/pricing) or [talk to our team](/contact-us) about API capabilities and developer support.
