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 Passage works
- Backend authenticates with Passage using OAuth 2.0 Client Credentials to obtain an access token.
- Backend creates an intent token via
POST /intent-token
for a given integration (e.g., Kindle) and requested products (e.g., history). - Client opens the Passage flow with the intent token using an SDK. The user completes the connection in a secure modal/fullscreen UI.
- Passage sends webhook events (e.g.,
Connection.Updated
) as the connection progresses. When status becomesdata_available
, your backend fetches data (e.g.,GET /connections/{connectionId}/history
).
Choose your SDK
Pick the SDK that matches your app stack:
- Capacitor: https://www.npmjs.com/package/@getpassage/capacitor
- React Native: https://www.npmjs.com/package/@getpassage/react-native
- React (Web): https://www.npmjs.com/package/@getpassage/react-js
- Expo: https://www.npmjs.com/package/@getpassage/expo
- Swift: https://cocoapods.org/pods/PassageSDK
Next steps
- Capacitor integration walkthrough: see Docs → “Passage Capacitor SDK Integration Guide”
- API reference (OpenAPI): go to the “API” tab or visit
/api/public
- Hosted docs: https://docs.getpassage.ai/