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

# Get a pass

> Returns one pass with its current values and wallet readiness.

**id** `string` *required*

The pass ID, for example `pass_7hGk2LmQ9xVt4RnB8cYe`.

## The pass object

**id** `string`

Unique ID, starting with `pass_`.

**shortId** `string`

A short 12-character handle, used in the pass's link and handy for support.

**templateId** `string`

The template the pass was issued from.

**templateName** `string`

The template's current name.

**templateRevision** `integer`

The template revision the pass uses.

**environment** `string`

`test` or `live`.

**status** `string`

`active` or `voided`.

**source** `string`

`api` or `dashboard`: where the pass was issued.

**holderName** `string | null`

The holder's name.

**holderEmail** `string | null`

The holder's email address.

**externalId** `string | null`

Your own reference for the pass, set when you issue or update it.

**metadata** `object`

Your key-value pairs on the pass. `{}` when none are set.

**platforms** `object`

`apple` and `google` booleans: the wallets the pass was issued for.

**signing** `object`

The Apple certificate (`appleCertificateId`, `applePassTypeIdentifier`) and Google issuer (`googleIssuerId`) that sign the pass. Test passes use `demo`.

**fieldValues** `object`

Current values of the per-pass fields, keyed by field key.

**featuredActions** `object`

The pass's own Featured Action links, keyed by action key. Actions not listed here use the template's link. Left out in [List passes](https://tapace.lk/docs/api-reference/passes/list.md).

**relevance** `object | null`

The pass's own Lock Screen lists, `locations` and `dates`, as sent when you [issue](https://tapace.lk/docs/api-reference/passes/issue.md) or [update](https://tapace.lk/docs/api-reference/passes/update.md) it. A list that's missing uses the template's. `null` when the pass has none of its own. Left out in [List passes](https://tapace.lk/docs/api-reference/passes/list.md).

**templateRelevance** `object`

The template's Lock Screen lists, `locations` and `dates`, and its `timezone`, so you can see what the pass shows where it has no list of its own.

**stamps** `object`

Stamp cards only: `count`, the stamps collected, and `total`, the stamps on the card. Left out for other passes and in [List passes](https://tapace.lk/docs/api-reference/passes/list.md). See [Stamp cards](https://tapace.lk/docs/guides/stamp-cards.md).

**points** `object`

Points cards only: `balance`, the pass's points, and the template's limits `min`, `max` and `goal`, each `null` when not set. Left out for other passes and in [List passes](https://tapace.lk/docs/api-reference/passes/list.md). See [Points cards](https://tapace.lk/docs/guides/points-cards.md).

**distributionUrl** `string`

The permanent link to the page where the holder adds the pass, for example `https://tapace.lk/p/6BkJLsso1xyB`. After the pass is voided, the page says it's no longer available. See [Deliver passes](https://tapace.lk/docs/guides/deliver-passes.md).

**appleDownloadUrl** `string | null`

A direct link to the signed Apple Wallet file (`.pkpass`), for your own **Add to Apple Wallet** button. `null` when the pass wasn't issued for Apple Wallet, can't be signed right now, or is voided.

**googleSaveUrl** `string | null`

A direct link that opens Google Wallet's save screen, for your own **Add to Google Wallet** button. `null` when the pass wasn't issued for Google Wallet, can't be signed right now, or is voided.

**presence** `object`

Where the pass is now, so you can keep install counts in your own records. The figures match the [webhooks'](https://tapace.lk/docs/guides/webhooks.md) `data.presence`.

**properties**

**apple** `object | null`

`activeDevices`: how many Apple devices have the pass. Apple reports every device that adds or removes it. `null` when the pass wasn't issued for Apple Wallet.

**google** `object | null`

`observedState`: `saved`, `removed` or `unknown`. Google reports saves and deletions on a best-effort basis, so `unknown` means none has been reported yet. `null` when the pass wasn't issued for Google Wallet.

**artifacts** `object`

Whether the pass can be added to each wallet right now. `apple.ready` and `google.ready` are booleans, and `reason` explains a `false`.

**walletUpdatedAt** `string`

When the pass last changed in a way wallets can see.

**createdAt** `string`

When the pass was issued.

**updatedAt** `string`

When the pass was last changed.

**voidedAt** `string | null`

When the pass was voided.

The response also includes `editableFields`, `editableBarcode`, `editableActions` and `preview`, which the dashboard uses to show and edit the pass.

```bash cURL theme={null}
curl https://api.tapace.lk/v1/passes/pass_7hGk2LmQ9xVt4RnB8cYe \
  -H "Authorization: Bearer $TAPACE_API_KEY"
```

```json 200 theme={null}
{
  "object": "pass",
  "id": "pass_7hGk2LmQ9xVt4RnB8cYe",
  "shortId": "6BkJLsso1xyB",
  "templateId": "tmpl_Q4vN8xT2mLr7KpZs3Wd1",
  "templateName": "Gold membership",
  "templateRevision": 3,
  "environment": "test",
  "status": "active",
  "source": "api",
  "holderName": "Nimal Perera",
  "holderEmail": "nimal@example.com",
  "externalId": "cus_8812",
  "metadata": { "plan": "gold" },
  "platforms": { "apple": true, "google": true },
  "signing": {
    "appleCertificateId": "demo",
    "applePassTypeIdentifier": null,
    "googleIssuerId": "demo"
  },
  "fieldValues": { "memberName": "Nimal Perera", "points": 150 },
  "featuredActions": {},
  "relevance": null,
  "templateRelevance": { "locations": [], "dates": [], "timezone": null },
  "distributionUrl": "https://tapace.lk/p/6BkJLsso1xyB",
  "appleDownloadUrl": "https://tapace.lk/p/6BkJLsso1xyB/apple",
  "googleSaveUrl": "https://tapace.lk/p/6BkJLsso1xyB/google",
  "presence": {
    "apple": { "activeDevices": 1 },
    "google": { "observedState": "saved" }
  },
  "artifacts": {
    "apple": { "ready": true },
    "google": { "ready": true }
  },
  "walletUpdatedAt": "2026-10-13T10:30:00.000Z",
  "createdAt": "2026-10-13T10:00:00.000Z",
  "updatedAt": "2026-10-13T10:30:00.000Z",
  "voidedAt": null
}
```

```json 404 theme={null}
{
  "error": {
    "type": "not_found_error",
    "message": "Pass not found."
  },
  "requestId": "req_8f3a2c1d9e7b6a54"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.