> ## Documentation Index
> Fetch the complete documentation index at: https://docs.passlet.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Distributing passes

> Deliver passes to holders with add-to-wallet links, and manage lost or leaked links.

Passlet doesn't put passes into wallets directly — every issued pass exposes **add-to-wallet links**, one per wallet provider, and you deliver those links through whatever channel reaches your holders: email, SMS, a confirmation page, your own app.

## Getting the links

* **Console** — on the **Passes** list, use the row action **Copy wallet link** (Apple Wallet
  or Google Wallet), or open the pass detail page where both links are shown as cards.
* **API** — pass objects include their hosted link URLs; see the
  [API reference](/api-reference/overview).

Opening a link on a phone adds the pass to that wallet. The same pass can be added from both links if the template supports both wallets.

## Resending links

If a holder lost the original email or you suspect a link leaked, use **Resend links** on the pass detail page. This **regenerates fresh add-to-wallet links and invalidates the previous ones** — passes already added to a wallet stay in the wallet; only the links change.

## Revoking links

**Revoke wallet links** invalidates the hosted links without voiding the pass. Use it when links were shared too widely but the already-installed passes should keep working. To kill the pass itself, [void it](/guides/issuing-passes#voiding-passes) instead.

## Link tolerance for barcode changes

If you edit a pass's barcode payload (for example via the reserved `barcodeMessage` variable), previously distributed payloads keep resolving for a grace window so holders mid-transition don't get rejected at the door. Workspace owners configure this **wallet update tolerance** (default 8 hours) under **Settings → General**.
