Skip to Content
Passage ConnectConceptsLinks

Links

Links are the core abstraction in the Connect Service — a lightweight intent to connect a user’s account.

A link represents a request to perform a specific operation on a user’s account with a specific integration. Inspired by Plaid’s link_token pattern, links are cheap to create and only spawn sessions when claimed.

Each link targets a single operation, identified by:

  • integrationId — The service (e.g., tmobile, att)
  • resource — What to access (e.g., paymentMethod, mobileBillingStatement)
  • action — What to do (read or write)

Lifecycle

  1. PendingPOST /v1/links creates a link record with a claim code
  2. Active — The client SDK calls POST /link/claim with the claim code, creating a session and starting the automation
  3. Complete — The automation finishes successfully; result data is stored on the link
  4. Failed — The automation encountered an error; the link can be re-claimed for a new attempt
  5. Expired — The link expired before being claimed or completed (4-hour TTL)

Re-claiming

If a link fails, the user can try again. Each claim creates a new session — the link itself persists across attempts. Every session attempt is recorded in the link_sessions table, so failed sessions remain visible for debugging even after the link is re-claimed with a new session.

Single-use on success

Once a link completes successfully, it cannot be re-claimed. Create a new link for subsequent account connections.

Next steps

Last updated on