Skip to main content
A magic link is a secure, time-bound URL that opens a flow for a specific end user identified by your referenceId. Creating a link is the core Partner API action.

Envelope vs config

Links follow the v2 model: POST /partner/links is discriminated by flow. See Create links.

Lifecycle

Typical statuses include created, opened/in-progress states, and terminal states such as revoked or expired (exact set is reflected on link detail responses). Lola links are single-use for payments: after the first operation, GET /partner/links/{linkId} includes consumedAt and consumedOperationId. Status stays opened (not a new enum). A second payment attempt emits link.reuse_blocked. See Lola flow. You can:
  • Create — POST /partner/links
  • Get — GET /partner/links/{linkId}
  • List activity — GET /partner/links/{linkId}/activity
  • Revoke — POST /partner/links/{linkId}/revoke

Response shape

The url points at the flow host for that slug (platform default, or your custom flow domain if you declared one). Deliver this URL as-is.

Delivery channels

  • Redirect or deep link in your app
  • Email / SMS / push
  • Native WebView — tune splash/agreement with presentation (see Embed & WebView)

Best practices

  • Reuse the same referenceId for the same person
  • Keep TTLs short enough for your channel (default is typically 60 minutes)
  • Revoke links that should no longer be usable
  • Prefer webhooks over polling for open/complete signals

Next steps

Create links

Request body and examples.

Embed & WebView

Native delivery patterns.