MPH WMS

API

REST API for external systems

MPH WMS exposes a REST API under /api/v1/* for external integrations. Authenticate with a Bearer token issued from Settings → API keys.

Quick start

  1. In the app, go to Settings → API keys and create a key. Pick the scopes the key needs (the same permissions as a team member).
  2. Copy the key. You'll only see it once.
  3. Call the API with Authorization: Bearer <key>:
curl -H "Authorization: Bearer mph_live_..." \
     https://your-tenant.mph-wms.com/api/v1/items

Resources

ResourcePath
Items/api/v1/items
Sales orders/api/v1/sales-orders
Purchase orders/api/v1/purchase-orders
Shipments/api/v1/shipments
Stock levels/api/v1/stock-levels
Stock adjustments/api/v1/stock-adjustments
Suppliers/api/v1/suppliers
Warehouses/api/v1/warehouses

Conventions

  • Authentication: Bearer API key (mph_live_...). One key = one tenant.
  • Pagination: Cursor-based. Pass ?limit=50&cursor=...; response includes nextCursor. Sort order is fixed per resource so cursors stay stable across inserts.
  • Dates: ISO 8601 UTC (2026-06-09T12:34:56Z).
  • Money: Decimal strings with the currency in a separate field.
  • Errors: RFC 7807 Problem Details with application/problem+json. Includes type, title, status, requestId, and (where applicable) missing (scopes), issues (validation).
  • Request id: Pass X-Request-Id to correlate logs; the same id is echoed in the response.

Interactive reference

The full endpoint list, request/response schemas, and a built-in "try it" console are generated from the live OpenAPI spec at /api/v1/openapi.json, so they always match the running server.

Feature gate

API access is gated by the has_api_access feature on your plan. If requests are refused rather than rejected as unauthorised, check the plan under Settings → Billing before debugging the key.

Versioning

Within /v1, only additive changes are made (new endpoints, new optional fields). Breaking changes ship under /v2 and the previous version stays supported for at least 12 months.

On this page