This documentation is currently under development. Certain sections are not yet complete and will be added shortly.
For the complete documentation index, see llms.txt. This page is also available as Markdown.
GuideWalletAPI

Update pass data in templates

Update existing pass data through the API, then render the latest values in Apple Wallet and Google Wallet templates.

Update pass data in templates

Passes are most valuable when they stay accurate over time. The usual pattern is simple: you update a pass through The Wallet Crew API, then your pass templates render the latest values using Liquid.

Real-world examples
  • A loyalty pass shows points and tier and updates after each purchase.

  • An event ticket shows the latest gate and seat after a schedule change.

  • A membership card shows status and expiryDate after a renewal.

What “updated pass data” means

In The Wallet Crew, wallet fields usually come from two places: additional data stored on the pass and live data fetched by connectors at render time. External identifiers help connectors find the right source record. Metadata supports segmentation and reporting, not wallet display.

If the right storage location is unclear, start with Structure.

Step-by-step: update data, then display it

1

1) Update the pass data through the API

Update the pass using the Pass API. This is the same API you use for push updates and data refresh.

Use the API reference and look for Update a pass.

If pass creation is not set up yet, start with Enrolment flows or Connector-triggered pass creation.

2

2) Inspect the updated data on a real pass

Open a pass and look at the JSON payload. This is your source of truth when you later reference fields in Liquid.

In the admin console, go to Wallet > Passes, pick a pass, then open the menu (...) and click View data.

Pass details screen showing the “View data” action in the pass menu.
Use “View data” to confirm the keys and values that exist on this pass.
3

3) Use Liquid in your pass template

Go to Wallet > Templates and edit the template used by your pass.

Template list showing where to edit a pass template.
Edit the template that matches your pass type.

Then select the section you want to change. Sections are grouped so you can expand only what you need.

Template editor showing expandable sections for Apple and Google fields.
Pick the field where the updated value should appear.

When you need dynamic content (conditions, formatting, or computed strings), open the code editor (<>) and use Liquid.

Template editor code view where Liquid can be written.
Use Liquid when plain text fields are not enough.

Use Templating engine for supported Liquid syntax in The Wallet Crew.

Avoid guessing variable paths. Use View data to confirm what exists on the pass, then reference those exact keys in your template.

4

4) Save and validate on a device

Save your template changes, then validate with a pass you can install on a phone.

If passes are distributed through a web page or QR flow, validate the hosted view on a real device. If distribution happens from a native app, validate the same pass through the app flow used by the project.

Troubleshooting tips

If you don’t see the new value in Apple Wallet or Google Wallet, start by checking the pass payload in View data. If the value is missing there, the issue is in the update call or in the source system used by the connector. If it exists in View data but not on the rendered pass, the issue is in the template mapping or Liquid logic.

If the value exists only as metadata, it will not appear on the wallet pass. Metadata is for targeting and reporting, not for display fields.

Validation checklist

After an update, confirm four things:

  • The stored value exists on the pass, or the connector source record contains the new value.

  • The template references the exact key used at render time.

  • A render trigger happened, such as preview, installation, or push update.

  • The final pass is validated on a real device.

FAQ

What should I use: identifiers, metadata, or additional data?

Use identifiers to link the pass to external systems. Use metadata to segment passes for operations. Use additional data for values that must persist on the pass and appear in wallet fields.

If a quick overview is needed, read Structure.

Why does Liquid render empty values?

In most cases, the key does not exist on that specific pass. Confirm the field exists in View data, then make sure your template references the exact same key name.

Do I need to update the template after every data change?

No. Templates define how to display data. You typically update a template only when you change layout or add new fields. Day-to-day changes should be done by updating pass data through the API.

Last updated