Changelog
Every backwards-compatible change is added to v1. Breaking changes go into a new version (v2) with a minimum six-month deprecation window announced here.
2026-07-17 — Connection test endpoint, per-environment webhook receivers, X-TenantId
- New explicit connection test:
GET /api/partner/v1/connectionreturns the merchant's store name, platform, and target deployment environment — show the name as "Connected to …" to confirm the right account. See the Quickstart. GET /api/partner/v1/storeswas removed — it existed only as the implicit connection test, and its branch data duplicatedGET /branch-mappings. Removed before any partner integrated against it.- Webhook receiver URLs are now registered with Quroosh once per deployment (testing, production) when the partnership is set up — merchants no longer enter a URL. At activation the merchant picks the deployment and enters their tenant identifier on your platform.
- Every webhook delivery now carries an
X-TenantIdheader so a shared receiver can route the event to the right tenant. See Webhooks.
2026-07-16 — Customer lookup + doc accuracy pass
- New customer lookup endpoint —
GET /api/partner/v1/customers/lookup— returns balance, tier, redeemable rewards, and stamp progress at checkout. InvoiceEarnedevents credit points and stamps end to end, with event processing codes for earn failures.- Every endpoint, event, and mechanism is now tagged Available or Planned. Clarified that
/eventsdeduplicates oneventId(noIdempotency-Keytoday) and that the webhook catalogue currently carriesLoyaltyRuleChangedandIntegrationStatusChanged. - Corrected the partner error-code reference to the exact wire codes.
2026-07-15 — v1.0
- Initial public release.
- Event ingest endpoint
POST /events. - Idempotency filter with 24-hour cache.
- HMAC-signed webhook delivery with exponential-backoff retries.
- Staging and production environments.
Subscribe to changes
Every partner receives an email when a new changelog entry lands. Add support@quroosh.io to your safe senders and let us know if you need a different distribution address.