> ## 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.

# List pass updates

> Returns a pass's change history, newest first.

Every change to a pass is listed here, whether it came from the API, the dashboard, a new template design or voiding the pass. Results are [paginated](https://tapace.lk/docs/pagination.md). Each item is a [pass update](https://tapace.lk/docs/api-reference/passes/get-update.md).

Changes to `externalId` and `metadata` aren't listed, because they never reach the wallet.

**id** `string` *required*

The pass ID.

**limit** `integer` (default: 25)

Items per page, from 1 to 100.

**cursor** `string`

The `nextCursor` from the previous page.

### Errors

| Status | When |
| - | - |
| `404` | The pass doesn't exist. |

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

```json 200 theme={null}
{
  "object": "list",
  "data": [
    {
      "object": "pass_update",
      "id": "pupd_Lm4Xq8Vt2Nr7Kz3Pw9Bc",
      "passId": "pass_7hGk2LmQ9xVt4RnB8cYe",
      "actor": { "id": "cmgx4k2p90001ab12cd34ef56", "name": null, "email": null },
      "notificationMode": "notify",
      "walletChanged": true,
      "changes": {
        "fields": [
          { "key": "points", "label": "Points", "from": "120", "to": "150" }
        ]
      },
      "googleMessage": { "header": "Pass updated", "body": "Points: 150" },
      "delivery": {
        "apple": { "status": "delivered", "devices": 1, "error": null },
        "google": { "status": "delivered", "message": "sent", "error": null }
      },
      "retryable": false,
      "createdAt": "2026-10-13T10:30:00.000Z",
      "updatedAt": "2026-10-13T10:30:04.000Z"
    }
  ],
  "hasMore": false,
  "nextCursor": null
}
```


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