One API.
Both wallets.
Live updates.
Push notifications.

Create passes, push live updates, fire push notifications, and trigger location-based alerts — on Apple Wallet and Google Wallet simultaneously. One JSON request. Zero platform juggling.

14-day free trial · No credit card required

JSON API request flowing into Apple Wallet and Google Wallet passes

How it works

From API key to live passes in under five minutes

1

Build your request

Choose a pass type, add your fields and branding. One JSON body — no Apple SDK, no Google libraries.

POST /api/v1/passes
"pass_type": "loyalty"
2

Get both wallet URLs

The response includes a signed .pkpass link and a Google Wallet save URL — ready to embed in email, SMS, or your app.

"pkpass_url":
"google_save_url":
3

Push updates live

Send a PUT request to update any field. We push changes directly to every installed pass via APNs — cardholders see it instantly on their lock screen.

PUT /api/v1/passes/:id
↳ push sent to all devices

Everything you need to ship wallet passes

Purpose-built infrastructure so you don't have to wrangle platform SDKs, APNs, or certificate pipelines.

Dual Platform

Apple Wallet .pkpass and Google Wallet JWT from a single request. One unified pass_type, zero platform knowledge required.

pass.created POST your-server.com/hooks
200 OK · 142ms
pass.updated POST your-server.com/hooks
retry 5s 200 OK

Webhooks

Real-time event notifications for all 6 event types with HMAC-SHA256 signatures. Automatic exponential-backoff retry: 0s → 5s → 30s → 5min → 30min.

pass_001
100%
pass_002
100%
pass_003
100%
pass_004
74%
pass_005
40%

Batch Creation

Submit an array of up to 1,000 passes in one API call. Get back a job ID, poll for status, or receive a batch.completed webhook when it's done.

WalletPass Portal
12,450
Passes Issued
99.9%
Uptime
6
Event Types
a9x4f James T. 1,450 pts 1,700 pts active

Management Portal

Visual dashboard for designing passes, managing Apple and Google credentials, and reviewing full API and access logs — no CLI required.

TEMPLATE
tmpl_a3f7c2d1
Pass · Alice
Pass · Bob
Pass · Carol

Pass Templates

Define your pass design once as a template, then create any number of personalised passes by passing a template_id. Override any field per-pass.

Wallet
Pass Updated
+250 pts · Gold tier 🏆

Live Push Updates

Update a pass via PUT and we automatically push to every registered Apple Wallet device via APNs. Cardholders see changes without opening an app.

Wallet Pass now
You're near Solstice Coffee!
Show your loyalty card for 10% off ☕
Location Triggers

Passes that appear when it matters

Attach up to 10 geofences to any pass. When a cardholder walks within range, Apple Wallet automatically surfaces the pass on their lock screen — no extra app or notification permission required.

  • Set lat/lng + radius per location in your API request
  • Custom lock-screen message per geofence
  • Up to 10 locations per pass — zero extra code

Encrypted at Rest

Apple P12 certificates, Google service account keys, and API secrets are AES-256 encrypted in the database. Your credentials stay yours.

[14:22:01] POST /v1/passes 201 · 82.14.0.1
[14:22:04] PUT /v1/passes/a9x4f 200 · 82.14.0.1
[14:22:09] GET /v1/passes 200 · 10.0.0.5
[14:22:14] POST /v1/batch 201 · 82.14.0.1
[14:22:18] GET /v1/passes/x72k 401 · 198.51.0.2

Full Audit Logs

Every API request and portal login is logged with IP address, timestamp, and status code. Searchable and exportable from the dashboard.

Clean, predictable API

REST JSON in, wallet passes out. Both platforms, every time.

curl -X POST https://api.walletpassapi.com/api/v1/passes   -H "Authorization: Bearer sk_live_..."   -H "Content-Type: application/json"   -d '{
    "pass_type": "loyalty",
    "organization_name": "Solstice Coffee Co.",
    "logo_text": "Solstice",
    "background_color": "#1a1a2e",
    "foreground_color": "#ffffff",
    "primary_fields": [{
      "key": "points",
      "label": "Points",
      "value": "2,450"
    }],
    "barcode_message": "MEMBER-00421"
  '}
200 OK — application/json
{
  "id": "pass_01j9abc...",
  "serial_number": "SN-XXXXXXXX",
  "pass_type": "loyalty",
  "apple_pass_type_id": "storeCard",
  "google_pass_type": "loyalty",
  "pkpass_url": "https://api.walletpassapi.com/api/v1/
               passes/pass_01j9.../pkpass",
  "google_save_url": "https://pay.google.com/
               gp/v/save/eyJhbGc...",
  "status": "active",
  "created_at": "2025-06-01T12:00:00.000Z"
}

Real-time webhooks

Every state change fires a signed POST to your endpoint — with automatic exponential-backoff retries and HMAC-SHA256 verification built in.

POST https://yourapp.com/webhooks
live

Event types


        

Built for every pass type

From loyalty programs to event tickets, one unified API handles them all.

Grand Arena
Doors
7:00 PM
Concert
Artist
The Killers
Date
Tue 15 Jul
Seat
D-12
Gate
West
XQEV-2025-07-15

Event Tickets

Concerts, sports & conferences with live seat and gate updates.

pass_type: "event"
Solstice Coffee
Bonus
x2 today
Coffee
Points Balance
1,240 pts
Member
Jane D.
Tier
Gold
Reward
Free latte
MBR-00124891

Loyalty & Rewards

Stamp cards and points balances updated live — no reissue.

pass_type: "loyalty"
Fresh Market
Expires
31 Dec
Fresh produce
Exclusive Offer
20% OFF
Code
SAVE20
Valid on
All fresh produce
CPNSAVE20-2025

Coupons & Offers

Time-limited promos with location triggers and expiry alerts.

pass_type: "coupon"
Maple & Co.
Valid
No expiry
Gift Card Balance
$85.00
Card No.
•••• 4821
Issued to
Jane D.
Redeemable at
All locations
GC-4821-MAPLE

Gift Cards & Passes

Membership cards, gift cards and access passes with live balance updates.

pass_type: "generic"

Straightforward pricing

Scale as you grow. Every plan includes a free trial — no credit card needed.

Need more than 1M pass operations or a custom contract? about Enterprise.

Integrations & tooling

Connect WalletPassAPI to your existing stack — no matter how you build.

Zapier

6,000+ app integrations

Trigger pass creation from anything — Shopify orders, HubSpot CRM updates, Typeform submissions, or a Google Sheet row. If Zapier can see it, your customers can carry it in their wallet.

Explore on Zapier

Bubble

No-code plugin

Build full wallet pass apps visually — zero backend required. Our native Bubble plugin lets you create passes, trigger live updates, and fire push notifications directly from your Bubble workflows.

Get the plugin

Postman

Full API collection

Hit the ground running. Import our Postman collection and every endpoint is pre-configured with authentication, example payloads, and environment variables — ready to run in seconds.

Download collection

More integrations on the way — .

Frequently asked questions

Do I need separate Apple and Google developer accounts?

Yes. You'll need an Apple Developer account to create a Pass Type ID and a Google service account for the Google Wallet API. Our docs walk you through both setups step by step. Once your credentials are uploaded in the portal, we handle all the signing, certificate management, and API calls on your behalf.

How do live pass updates work?

When you send a PUT request with updated pass data, WalletPass API immediately sends an Apple Push Notification Service (APNs) push to every device that has the pass installed. The Wallet app wakes up, fetches the new version from our servers, and updates the pass silently — cardholders see the change on their lock screen without any action required.

What pass types are supported?

Four types: generic, loyalty, coupon, and event. Each maps automatically to the correct Apple Wallet pass style and Google Wallet class type: loyalty → storeCard/loyalty, coupon → coupon/offer, event → eventTicket/eventTicket.

What counts as a pass operation?

A pass operation is one billable action against the API. Three things consume an operation:

  • Creating a pass — any POST to /v1/passes
  • Updating a pass — any PUT to /v1/passes/:id
  • Sending a push notification — triggered automatically on update when a pass is installed on a device

Pass reads, downloads, Google JWT generation, and webhook deliveries are always free and do not count toward your limit.

Is there a free trial?

Yes — every plan includes a 14-day free trial, no credit card required. You get full access to all features including webhooks, batch creation, and push notifications. Cancel any time from your portal settings.

Can I use my own Apple certificate?

Absolutely. Upload your P12 certificate and Pass Type Identifier directly in the portal under Credentials. We encrypt and store everything with AES-256 encryption. Your certificates are never exposed in logs or API responses.