Inventory Pro
Skip to main content

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/v2

All 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

ResourceReadWriteDetails
ItemsList, get by ID, aliasesCreate, update, discontinueCore inventory catalog
InventoryLots, stock levels, material in/outReceive, move, issueWarehouse inventory operations
Purchase OrdersList, get by IDCreate, finalizeProcurement workflow
Shipping OrdersList, get by IDCreateOutbound shipments
Work OrdersList, get by ID—Manufacturing/assembly
AssetsList, get by ID, typesCreate, receive, update, deleteFixed asset tracking
CustomersList active, list all, get by IDCreate, deleteCustomer master data
VendorsList active, list all, get by IDCreate, deleteSupplier master data
CategoriesList, get by IDDeletePart classification
LocationsList, get by IDHold, releaseWarehouse bin positions
WarehousesList, get by ID, items—Facility data
Reason CodesList, get by IDDeleteTransaction reason codes
ReportsList, execute—Run system reports via API
WebhooksList, get by ID, logsCreate, update, delete, testEvent subscriptions

Getting Started

  1. Get a token — POST /Token with grant_type=client_credentials, your client_id, and client_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"
  2. Send the token — include it in the Authorization header of every request.

    curl "https://<your-host>/api/v2/Item?page=1&pageSize=10" \
      -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  3. Explore the API — the interactive Swagger UI at https://<your-host>/api/v2/swagger lists every endpoint, its parameters, request body schema, and response codes. The Swagger JSON is at /api/v2/swagger/docs/v2.

  4. Connectivity test — GET /Test returns "Client is Authorized" — handy as a connectivity check.

Response conventions

  • List endpoints return the standard paging envelope (value, totalCount, page, pageSize, pageCount, hasMore) plus X-Total-Count / X-Page / X-Page-Size headers.
  • 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.