Skip to content

Portal Configuration

Configure Connect appearance per open with mode and email. Brand and institutions live in the Finatic console.

Configure Connect to match your application's design and requirements.

  • Client SDK flow: mint a one-time token with getToken() on your backend, pass only that token to the browser, then provide these options to openPortal().
  • Server SDK flow: keep the API key on your backend, call startSession(), and provide these options to getPortalUrl(). Redirect the browser to the returned short-lived URL. That URL contains a portal token, so treat the complete URL as sensitive and do not log or persist it; do not pass a separate Client SDK token.

Overview

SDK portal URLs accept only:

  • Appearance with mode ('light' or 'dark') for each openPortal() / getPortalUrl() call
  • User convenience with pre-filled email

Brand and institution availability are configured in the Finatic console under Connect:

  • Theme Studio — company brand, colors, and portal styling
  • Catalog — which institutions appear in Connect

Embedding Connect

openPortal() creates an iframe and sets parent_origin to your page origin so Connect can postMessage back to you. getPortalUrl() / get_portal_url() is a top-level redirect. That URL is secret. If you iframe it yourself, add parent_origin yourself — the Server SDK does not.

Do not close the iframe on onSuccess. That callback means OTP/session ready, not that a grant exists. Durable access is onEvent('account.grant.created', payload).

Host events:

  • portal-success — user linked to the session
  • portal-close — user dismissed the portal
  • account.grant.created / updated / revoked — durable grant lifecycle

Mode

Control light or dark appearance for a single portal open. This does not change the company theme configured in Theme Studio:

1// Light mode 2await finatic.openPortal({ mode: 'light' }); 3 4// Dark mode 5await finatic.openPortal({ mode: 'dark' });

Pre-filling User Email

Pre-fill the user's email for faster authentication:

1await finatic.openPortal({ 2 email: 'user@example.com' 3});

Next Steps

  1. Connecting Brokers - Launch the portal in your broker connection flow.
  2. Quick Start - Review initialization patterns for client and server SDKs.
  3. Error Handling - Add robust handling for portal and API failures.