How it works
From your data to the lock screen.
Design a pass once, issue it by dashboard or API, and keep every copy current. Pocket handles Apple Wallet and Google Wallet, live updates, and notifications - so your brand stays on the phone people check all day.
Get started
The lifecycle
Create, distribute, update, automate.
The same passes, whether you build them by hand or drive everything over the API.
Design a template
Build your pass in the no-code designer or over the API - fields, colours, images, barcode or NFC. Preview Apple and Google side by side before you ship.
Distribute passes
Share an add-to-wallet link or QR, send by email or SMS, bulk-create from a CSV, or issue straight from your own systems with a single API call.
Update live
Change a field and every saved pass updates in seconds - no reissue, no reprint. Push a lock-screen notification with the change when it matters.
Automate & analyse
Trigger passes from CRM events, fire geofenced nudges when someone's nearby, and track installs, scans, and removals per template and campaign.
Get passes into wallets, any way you like.
One template, every channel - no app to build or install.
Add-to-wallet link
A branded two-tap page for any channel.
QR code
Scan to save - print, on-screen, or in-store.
Email & SMS
Drop a pass into the messages you already send.
REST API
Issue and update programmatically in one call.
Bulk CSV
Create or update thousands at once.
CRM & webhooks
Fire from Klaviyo, HubSpot, Zapier, and more.
Live updates
Change once. Update everywhere.
Every pass is a live surface. Update a balance, a time, or a status and Pocket pushes it to Apple Wallet and Google Wallet automatically - across every device that holds the pass, in seconds. Nobody re-downloads a thing.
Pair an update with a notification and it lands on the lock screen the way a text does - fully branded, with no per-message carrier fee.

Built on a real API and your existing data.
Drive the whole lifecycle over a clean REST API and signed webhooks, or connect the CRM you already run and let passes issue, update, and sync themselves.