Register a webhook endpoint in ShipBob by POST to https://public-api.shipbob.com/1.0/webhook with your HTTPS callback URL and the desired topic (e.g. inventory_changed)
Secure the endpoint by validating the X-Hub-Signature header on each inbound webhook POST using your registered webhook secret
Parse the inventory_changed payload to extract the inventory_id, on_hand quantity, committed quantity, and fulfillable quantity fields
Map ShipBob inventory_id values to your internal SKU identifiers using a lookup table built from GET https://public-api.shipbob.com/1.0/inventory
Update your internal inventory ledger and trigger reorder alerts when fulfillable quantity drops below your reorder point threshold
Respond with HTTP 200 within the expected timeout; queue slow processing work asynchronously to avoid webhook retry storms
Known gotchas
ShipBob webhooks deliver each event at least once but not exactly once; duplicate inventory_changed events can cause double-deductions in inventory counts — use the event timestamp and inventory_id as an idempotency key
The fulfillable quantity in ShipBob excludes committed (reserved) inventory; comparing only on_hand across systems will show discrepancies vs. your order management system's reserved stock
ShipBob's API version must be explicitly selected via a dated URL prefix (e.g. /1.0/ vs. future versions); version changes may alter payload structure without a deprecation grace period in minor updates
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp