Integration

Walletap integration

Walletap issues and manages Apple Wallet and Google Wallet passes (memberships, loyalty cards, gift cards, event tickets, offers, transit tickets). Create passes from a template and optionally send their link by e-mail or phone, read and update a pass (balances, validity, custom fields), push a notification to every holder of a template, create, read, update and delete pass templates, import template images from a URL, and, on accounts with the Access Badges add-on, invite people to HID wallet access badges, list holders with their card credentials, and suspend, resume, revoke or remove badges. Uploading an image as raw bytes (multipart) is not exposed; import it from a public URL instead. Authentication is an API key from the Walletap console sent in the X-API-Key header; a key may be limited to scopes such as badges.viewAll or files.read.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Walletap.Built from the 22 Walletap tools below, on the connection you add once.

What you can do with Walletap

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Template, 5 operations

  • create_templateCreate templatePOSTCreate a pass template from a name and type; the default design applies unless pass overrides it. It is draft while Apple, Google and billing set up in the background, then live.
  • delete_templateDelete templateDELETEDelete a pass template. A template of another account answers 404.
  • get_templateGet templateGETGet one pass template: name, type, status (draft or live), NFC, barcode and sharing settings, and its design as a JSON string. A template of another account answers 404.
  • list_templatesList templatesGETList the account's pass templates, cursor-paginated: pass next_cursor as starting_after while has_more is true. Each template's design (pass) is a JSON string.
  • update_templateUpdate templatePATCHUpdate a pass template: send only the fields to change (at least one). Image fields accept {"fileId": "file_..."} from import_file_from_url.

Badge holder, 3 operations

  • list_badge_holdersList badge holdersGETList the people holding, or invited to, an access badge, with their card credentials (format, facility code, card number) to configure readers. Invited people have id null. Needs badges.viewAll.
  • remove_badge_holderRemove badge holderDELETERemove a person from your account: every badge you issued them is revoked and every invite withdrawn. A badge they hold from another account is left alone. Needs badges.revoke.
  • rename_badge_holderRename badge holderPATCHChange a badge holder's first or last name and push it to every badge they hold, so their wallet re-renders. Send at least one of the two. Needs badges.edit.

Badge invite, 3 operations

  • create_badge_inviteCreate badge invitePOSTInvite one person to an access badge and get back their single-use add-to-wallet link (url), meant to be handed to that person only: whoever opens it gets the badge. Walletap sends it itself only when sendToEmail or sendToPhone is true.
  • list_badge_invitesList badge invitesGETList the unused invites of an access badge, newest first: invite code, contact, validity and delivery result. The add-to-wallet links are not returned. Needs badges.viewAll.
  • withdraw_badge_inviteWithdraw badge inviteDELETEWithdraw the outstanding invites of one e-mail address on an access badge, so the link stops working. A badge already in that person's wallet is left untouched: use remove_badge_holder for that.

File, 3 operations

  • delete_fileDelete fileDELETEDelete an imported file and all its variants. Templates that still reference its URL keep working but the URL then answers 404. Needs files.delete or templates.delete.
  • get_fileGet fileGETGet an imported file: original URL, type, size, dimensions and the URLs of its resized variants. Needs the files.read scope or a template read permission.
  • import_file_from_urlImport file from urlPOSTImport a template image (PNG, JPEG or WebP, up to 10 MiB) from a public URL; returns the file id to use as {"fileId": "file_..."} in a template design. With purpose, 1x, 2x and 3x variants are made.

Pass, 3 operations

  • create_passCreate passPOSTIssue 1 to 10 wallet passes from templates and get one link to add them to Apple or Google Wallet. sendToEmail and sendToPhone decide whether Walletap sends that link to the person.
  • get_passGet passGETGet a pass's links: pass page, Apple and Google wallet links and Add to Wallet badge images. Identify it by id, or by externalId together with templateId.
  • update_passUpdate passPATCHUpdate one issued pass (balance, validity, custom fields, contact details). Identify it by id, or by externalId with templateId. Send only the fields that change.

Badge, 2 operations

  • list_badge_holder_badgesList badge holder badgesGETList the badges one person holds on your badge templates, each with status (ACTIVE, SUSPENDED, REVOKED...), wallets and card credentials. Needs badges.viewAll.
  • set_badge_lifecycleSet badge lifecyclePOSTAct on one badge on one phone: suspend (stops opening doors), resume, revoke (permanent: removed from the wallet, a new invite is needed) or refresh (pushes design changes, access unchanged).

Badge template, 2 operations

  • get_badge_templateGet badge templateGETGet one access badge template: id, name, whether published, and Apple artwork state.
  • list_badge_templatesList badge templatesGETList the account's access badge templates (Access Badges add-on): id, name, whether published, and Apple artwork state. Needs badges.viewAll.

Template notification, 1 operation

  • send_notificationSend notificationPOSTSend a push notification to every pass of a template that is in a wallet, at once. Holders need notifications enabled. On Google Wallet at most 3 notifying messages can be sent in 24 hours.

Use Walletap from Claude Code, Cursor or Codex

Connect Walletap in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Walletap operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Walletap

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Walletap once

    Add your Walletap connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Walletap integration FAQ

What can you do with the Walletap integration?

LiveContext exposes 22 operations on Walletap, covering template, badge holder, badge invite and file.

Popular integrations

Browse the whole catalog