Environments
| Env | API host | Webview URL |
|---|---|---|
| Local dev | http://localhost:4000 (API) + http://localhost:5173 (CMS / consumer SPA) | http://localhost:5173/consumer#token=<jwt> |
| Staging | (to be assigned) | (to be assigned) |
| Production | (to be assigned at launch) | https://<production-host>/consumer#token=<jwt> |
/consumer.
Clock skew
The HMAC tolerance is ±5 minutes. If your machine drifts (e.g. you missed an NTP sync), you’ll seesignature_expired errors. Sync via NTP or set the
timestamp from a trusted clock source.
Logging
We log every request with areqId. If you hit an unexpected error, send
us the reqId from your client logs (it’s also in our response if you
observe the x-request-id header) and we can pull the full trace.
Where to ask
| Question | Who | Channel |
|---|---|---|
| API behaviour, endpoint shape | Refer first to the API Reference. | |
| Suspected bug, unexpected 5xx | Send us the reqId + timestamp + payload. | Your account owner. |
| Onboarding, secrets, scope changes | Your account owner. | |
| Webhook delivery issues | Send us the event.id (we have logs for it). | Your account owner. |
Changelog
| Date | Change |
|---|---|
| 2026-06-04 | Wallet vouchers can carry an optional redemption window (applicableFrom / applicableUntil) — new voucher_not_yet_applicable and voucher_no_longer_applicable (422) errors. Outlet-without-coordinates redemptions now return status: "SUCCESS" with flagReason: "outlet_not_geolocated" (previously FLAGGED). |
| 2026-05-19 | Renamed subscriptions → favorites end-to-end (/me/favorites, favoritesOnly, not_a_favorite, FAVORITE_CREATED). Added global_cap_reached error code and commissionAmount on the redemption payload. PIN narrowed to 4 digits. GPS radius reduced from 200m to 150m. Webview URL is now /consumer#token=<jwt>. |
| 2026-05-12 | Initial release. Covers /integrations/users, /me/*, and the partner webhook contract. |