Skip to main content
Passform supports two levels of update: pass-level changes that affect a single issued pass, and template-level changes that propagate to every pass issued from that template.

Updating a pass

Use the same endpoint to create and update a pass — it behaves as an upsert. Calling it with an existing pass ID updates that pass in place.
Any field you include replaces the current value. Fields you omit are left unchanged. Updatable fields: Example — update a membership points balance:
Example — void a pass:

How updates reach the wallet

After a pass is updated, Passform automatically notifies both wallets:
  • Apple Wallet — a silent push notification is sent to each device that has the pass installed. Apple Wallet then fetches the latest version of the pass in the background. The user sees the updated pass the next time they open it.
  • Google Wallet — the pass object is updated directly via the Google Wallet API. Changes are reflected immediately.
No additional API calls are needed to trigger this — it happens automatically on every upsert.

Updating a template

Updating a template changes the appearance and shared content of every pass issued from it — colors, images, logo, title, and default field values.
Example — update a template’s banner image:

How template updates propagate

When a template is updated, Passform:
  1. Updates the Google Wallet class — all Google Wallet passes reflect the new design immediately
  2. Rebuilds the Apple Wallet pass template with the new values
  3. Sends a push notification to every device that has a pass from this template, prompting Apple Wallet to fetch the updated version
This means a single template update can refresh the look and feel of thousands of passes at once — useful for seasonal rebrands, updated artwork, or correcting a typo in shared content.

Pass data vs template data

Template updates affect shared design and default content only. Per-pass data — fields, primaryValue, expiry, voided — is stored on the individual pass and is not affected by template updates.

Metadata

Metadata is a free-form object you can attach to a pass for your own tracking purposes. It is not displayed in the wallet.
Updating metadata does not trigger a wallet push — it is a silent server-side change only.