# PassFast > PassFast is a developer-first API for Apple Wallet and Google Wallet > passes — the Stripe of wallet passes. Skip Apple Developer enrollment, > the Google service account, and APNs setup. Generate signed passes for > both wallets in one API call. The site is https://passfa.st ; the API > host is https://api.passfa.st. Last updated: 2026-09-20 Markdown mirrors on this site: - [Docs](https://passfa.st/docs.md): Getting Started, authentication, generate a pass, API reference, and pricing - [API](https://passfa.st/api.md): base URL, auth (`sk_live_` / `pk_live_`, optional `X-App-Id`), key endpoints, curl, TypeScript SDK - [Pricing](https://passfa.st/pricing.md): $0.015 per active pass / month (Apple+Google = 1). First 100 generates free once. Expired passes bill until void/delete. Card required after free allowance. - [MCP](https://passfa.st/mcp.md): remote HTTPS MCP server — tools 1:1 with OpenAPI `operationId`s - [Full AI index](https://passfa.st/llms-full.txt): expanded product + pricing + docs/API narrative - [Well-known index](https://passfa.st/.well-known/llms.txt): same body as this file ## Product - [Home](https://passfa.st/): what PassFast is, how it works, and pricing (`#pricing`) - [Docs (HTML)](https://passfa.st/docs): Getting Started, Authentication, Quick Start, API Reference, MCP - [Docs (markdown)](https://passfa.st/docs.md): same facts as the HTML docs, readable without JavaScript - [MCP (HTML)](https://passfa.st/docs/mcp): Cursor / Claude install — Bearer `sk_live_` + optional `X-App-Id` - [MCP (markdown)](https://passfa.st/mcp.md): same install facts, including JWT member tools out of scope for v1 - [MCP endpoint](https://passfa.st/mcp): Streamable HTTP (alias `/api/mcp`) - [Sign up](https://passfa.st/signup): create an account and get API keys (CTA from pricing) Audience: developers who need to issue loyalty cards, coupons, event tickets, boarding passes, and other wallet passes without running Apple/Google signing themselves. Managed signing is the default; custom Apple `.p12` / Google service-account credentials are optional. ## Pricing Pricing: $0.015 per active pass / month (Apple+Google = 1). First 100 generates free once. Expired passes bill until void/delete. Card required after free allowance. There are no tiers, seats, or minimums. - Sign up: https://passfa.st/signup - HTML pricing section: https://passfa.st/#pricing - Markdown: https://passfa.st/pricing.md ## Authentication PassFast uses two API key types (Bearer token in `Authorization`): - Secret — prefix `sk_live_` — server-side only, full API access - Publishable — prefix `pk_live_` — client-side (browser); scopes `passes:create` and `passes:download` only ``` Authorization: Bearer sk_live_your_secret_key_here ``` If the organization has multiple apps, send `X-App-Id` to target one. For single-app orgs that header is optional. Keys are created in the dashboard after signup. Do not put `sk_live_` keys in browsers or mobile apps. ## API Base URL: `https://api.passfa.st/functions/v1` Machine-readable spec (single API): https://passfa.st/openapi.yaml Key endpoints: - `POST /generate-pass` — generate Apple Wallet, Google Wallet, or both - `GET /manage-passes` — list passes - `GET|PATCH /manage-passes/{id}` — read or update a pass - `GET /manage-passes/{id}/download` — download Apple `.pkpass` - `POST /manage-passes/{id}/void` — void a pass - `GET|POST /manage-templates` — list or create templates - `POST /manage-templates/{id}/publish` — publish a template (required before generate) - `POST /share-pass/create` — public share link + QR for both wallets Generate (recommended — both wallets): ``` curl -X POST https://api.passfa.st/functions/v1/generate-pass \ -H "Authorization: Bearer sk_live_YOUR_SECRET_KEY" \ -H "X-App-Id: YOUR_APP_ID" \ -H "Content-Type: application/json" \ -d '{ "template_id": "YOUR_TEMPLATE_ID", "serial_number": "PASS-001", "wallet_type": "both", "data": { "memberName": "Jane Smith", "memberId": "MEM-12345" } }' ``` TypeScript SDK: `npm install @passfast/sdk` ## MCP Remote HTTPS MCP at https://passfa.st/mcp (Streamable HTTP). Tools are named after OpenAPI `operationId`s (generatePass, listTemplates, …). Paste a secret key once in the MCP client (Cursor / Claude / ChatGPT / Codex / Grok) — no OAuth, no PassFast agent account. This server accepts only `sk_live_`. ``` Authorization: Bearer sk_live_YOUR_SECRET_KEY X-App-Id: YOUR_APP_ID ``` Install snippets: https://passfa.st/docs/mcp and https://passfa.st/mcp.md Member/invite tools (listMembers, inviteMember, acceptInvitation, updateMemberRole, removeMember, listInvitations, revokeInvitation) need a user JWT and are **out of scope for key-auth MCP v1**. ## Legal - [Privacy](https://passfa.st/privacy) - [Terms](https://passfa.st/terms)