Contents
API Reference
API Reference
The Inventory Pro REST API lets you read and write inventory data programmatically. Use it to connect reporting tools, automate receiving workflows, synchronize with ERP systems, or build custom integrations.
If you need a read-only reporting surface for Power BI, Excel, or other BI tooling, use the OData Feeds alongside the REST API.
Base URL
https://<your-host>/api/v2All endpoints are relative to this base. HTTPS is required — HTTP requests are rejected.
Version
The current API version is v2. The version is embedded in the URL path. Every response includes an X-API-Version header confirming the version that handled the request.
Request Format
Send JSON bodies with Content-Type: application/json. Authenticate with Authorization: Bearer <token>. See Authentication for token details.
Rate limiting: Varies based on client subscription and usage patterns. Exceeding a limit returns HTTP 429 with a message naming the limit that was hit.
Available Resources
| Resource | Read | Write | Details |
|---|---|---|---|
| Items | List, get by ID, aliases | Create, update, discontinue | Core inventory catalog |
| Inventory | Lots, stock levels, material in/out | Receive, move, issue | Warehouse inventory operations |
| Purchase Orders | List, get by ID | Create, finalize | Procurement workflow |
| Shipping Orders | List, get by ID | Create | Outbound shipments |
| Work Orders | List, get by ID | — | Manufacturing/assembly |
| Assets | List, get by ID, types | Create, receive, update, delete | Fixed asset tracking |
| Customers | List active, list all, get by ID | Create, delete | Customer master data |
| Vendors | List active, list all, get by ID | Create, delete | Supplier master data |
| Categories | List, get by ID | Delete | Part classification |
| Locations | List, get by ID | Hold, release | Warehouse bin positions |
| Warehouses | List, get by ID, items | — | Facility data |
| Reason Codes | List, get by ID | Delete | Transaction reason codes |
| Reports | List, execute | — | Run system reports via API |
| Webhooks | List, get by ID, logs | Create, update, delete, test | Event subscriptions |
Getting Started
Get a token —
POST /Tokenwithgrant_type=client_credentials, yourclient_id, andclient_secret. The token is valid for 4 hours.curl -X POST https://<your-host>/api/v2/Token \ -d "grant_type=client_credentials" \ -d "client_id=YOUR_CLIENT_ID" \ -d "client_secret=YOUR_CLIENT_SECRET"Send the token — include it in the
Authorizationheader of every request.curl "https://<your-host>/api/v2/Item?page=1&pageSize=10" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN"Explore the API — the interactive Swagger UI at
https://<your-host>/api/v2/swaggerlists every endpoint, its parameters, request body schema, and response codes. The Swagger JSON is at/api/v2/swagger/docs/v2.Connectivity test —
GET /Testreturns"Client is Authorized"— handy as a connectivity check.
Response conventions
- List endpoints return the standard paging envelope (
value,totalCount,page,pageSize,pageCount,hasMore) plusX-Total-Count/X-Page/X-Page-Sizeheaders. - Delete/discontinue operations return a plain-text confirmation (e.g.
"Customer Discontinued: ACME") rather than a JSON object; the Items controller returns JSON ({"shortID":"…","status":"discontinued"}). Treat non-2xx bodies as described in Errors. - Import/create operations return
{shortID|order, status}objects.
Follow the Quickstart for a full command-line walkthrough.
Related
- Authentication — OAuth 2.0 client credentials flow
- Errors — Status codes and error shapes
- Pagination — Paging, sorting, and filtering
- OData Feeds — Read-only data feeds for BI and reporting
- Webhooks — Real-time event notifications
On this page