POS True Retail Operations Suite API overview
All API endpoints are served by the Cloudflare Worker at the app’s base URL. Authenticated endpoints require a Shopify session token in theAuthorization header.
Read-only request
Authentication
exp, nbf (with clock-skew tolerance), iss, the dest shop domain, and the signature.
An ID token proves identity but not permission. Privileged routes exchange it for an expiring online access token and verify the staff member’s scopes. Shopify may omit a read_<resource> grant when the matching write_<resource> is present, so either satisfies that read requirement; a write requirement or an unprefixed scope still requires an exact match. Location settings and billing mutations are account-owner only. Requests never fall back to a shop-wide offline token.
Rate limiting
Mutation endpoints (POST, PUT, PATCH, DELETE) are limited to 50 requests per minute per shop using atomic D1 counters. The response is 429 Too Many Requests.
Response format
OAuth
Health and setup
Settings
Audit
Operations
Billing and entitlements
Billing uses Shopify’s app-managed Billing API. Plans are Starter $8.99/$89.90, Professional $24.99/$249.90, and Enterprise $49.99/$499.90 for 30-day/annual billing; annual is ten 30-day charges, with one 14-day trial per eligible shop.
Premium routes call a server-side minimum-plan guard; an insufficient limit returns
402 (BILLING_REQUIRED) for retail-data routes or 403 (EntitlementError) for gap-feature routes.
Retail data
Operations tools
Inventory export returns JSON by default and CSV when
format=csv. The operations audit export returns Professional JSON by default; its accounting-ready format=csv output requires Enterprise.
Retail workflows
POS callers bind the requested location to the signed user and tenant role; the generic workflow route applies the capability’s minimum plan before enforcing the caller context. Invalid input returns
400, a missing record returns 404, a stale transition returns 409, and a Shopify upstream failure returns 502.
Public capability routes
Enterprise OIDC identity verification returns
503 SSO_CONFIGURATION_REQUIRED until the OIDC issuer, client ID, and client secret are all configured.
Webhooks
Six webhook routes verify the HMAC signature before processing. See Webhooks.Idempotency
Mutation endpoints (POST /api/voids, POST /api/store-credit/issue, POST /api/price-edits/log) accept an idempotencyKey. A duplicate request returns the cached response; keys are stored in D1 with seven-day retention and removed by the daily cron.
Pcnaid Documentation › Shopify Ecosystem › POS True Retail Operations Suite › Developer