What issuance forms are

A hosted, branded page where customers fill in a short form and get their own pass - what it's for, when to use one instead of the API, and what has to be set up before a form goes live.

Updated 7/26/2026

An issuance form is a public, branded page attached to a template. Someone opens the link, fills in a short form, and a pass is created for them. They land straight on the install page and add it to their wallet.

You don't collect their details, you don't issue anything by hand, and you don't write any code.

When a form is the right tool

Issuance forms suit the case where you don't know in advance who wants a pass:

  • A sign-up link on your website or in an email.
  • A QR code on a poster, a table card, a receipt or a shop window.
  • A loyalty scheme people opt into.
  • Event registration where attendees self-serve.

If you already know who should get a pass - because they bought something, booked something, or exist in your CRM - the API is the better route. It creates the pass without anyone filling anything in.

And for a handful of passes, doing it by hand in the dashboard is quicker than either. See Issuing a pass.

What the customer sees

A single page carrying your header image, your colours and your button styling. Your fields, a consent checkbox if you've asked for one, a bot check, and your button.

They submit, and the pass install page opens immediately with Add to Apple Wallet and Add to Google Wallet.

The whole journey is one form and one tap. There's no account to create, no email to wait for, and no app.

One form per template

Each template has its own form, on the template's Issuance form tab. The form's fields map onto that template's fields, so the answers land in the right places on the resulting pass.

If you need two different sign-up journeys, that's two templates - or one template and query-param prefill to vary the link. See Building an issuance form.

Before a form can go live

Turn the form on, give it a name and add at least one field. The builder tells you if anything's missing and won't publish an incomplete form.

That's it - there's nothing to configure for security. Every form gets a bot check automatically, because a public page that creates records needs one.

What protects the form

Every form has:

  • Rate limits on how many submissions come from one visitor and from one form in an hour.
  • An optional cap on the total number of passes the form may ever issue.
  • Consent - an optional checkbox the visitor must tick before they can submit.
  • Automatic refusal if the template is archived.

The form's public URL is shown on the Issuance form tab, with a copy button. It's a normal link - put it anywhere.

Turn the link into a QR code and print it. Scanning a poster to get a wallet pass on the spot is by far the highest-converting way to hand out passes in person, because it removes every step between wanting the pass and having it.

Where to go next

More in Issuance forms