onpack platform

Build onpack into your product stack.

Every onpack code is a programmable touchpoint. The product passport behind a GS1 Digital Link, and the scans, collectors, promotions and rewards behind a unit code, surface to your systems through a REST API and signed webhooks — so your catalogue stays in step with the pack, and your backend can react the instant a customer picks one up.

How the pieces fit

Pack Identity — a brand writes a product's passport (over the API, from the editor, or by import) and publishes it. The revision is frozen, a passport.published webhook says what changed, and the page at /01/{GTIN} — and its machine-readable twin at /api/public/v1/01/{GTIN} — serve that revision until the next.

Pack Experience — a shopper scans a unit code. onpack resolves the unit, evaluates any live promotions, records the scan, and — if the scanner is signed in — enters them into an instant win, a collect-all bundle, or simply awards points. Within milliseconds one scan.processed webhook carries the full story, or you pull the same shape from GET /api/v1/brands/:slug/scans/:id.

Two surfaces, one data model

The REST API is pull-based — great for reconciliation, reporting, and bulk reads. Webhooks are push-based — great for real-time CRM updates, fraud checks, and low-latency fulfilment. Both speak the exact same outcome shape, so whatever you build against one works unchanged against the other.

i
Tokens and webhook endpoints are managed from your brand dashboard, not this site. Sign in and open Settings → API or Settings → Webhooks to create them. Webhook endpoints can also be managed over the API.