What is Passage?
Passage lets your app securely connect a user's third‑party accounts and retrieve data through automated, permissioned workflows. You use your backend to create a short‑lived intent token, then a client SDK opens the Passage flow for the user. When data becomes available, your backend fetches it via the Passage API.
How do I use Passage?
First, you will request an intent token to read or write specific resources. Second, Passage will send you a webhook when data is ready and you will fetch it from the Passage API.
Request an intent token and link an account

- Your app requests an intent token from your backend.
- Your backend creates an intent token with Passage via
POST api.getpassage.ai/intent-tokento request specific resources (e.g.readingHistory) from a specific integration (e.g.kindle). - Your app opens the Passage SDK using the intent token returned from your backend. The user connects their account.
Fetch data from the Passage API

- Passage will fire a webhook to your backend when data is available.
- Your backend will fetch data from the Passage API
✅ Choose your SDK
Pick the SDK that matches your app stack:
- Swift (iOS): Complete integration guide → Swift SDK Integration
- Kotlin (Android): Complete integration guide → Kotlin SDK Integration
- Expo (React Native): Complete integration guide → Expo SDK Integration
- Capacitor (Hybrid): Complete integration guide → Capacitor SDK Integration
- React (Web): https://www.npmjs.com/package/@getpassage/react-js
✅ Specify which resources you want to access
- Browse integrations and resources in the explorer
✅ Listen for webhooks and fetch data from Passage
- Learn more about webhooks here