FiskilFiskilFiskil DocsFiskil Docs
Log InSign Up
GuidesAPI ReferenceChangelog

Mobile menu

HomeFiskilFiskil

GETTING STARTED

Start ExploringQuick StartAuthentication

CORE CONCEPTS

OverviewEnd UsersAuth SessionsConsentsTestingWebhooks

LINK WIDGET

IntroductionIntegrating the Link SDKFlow Overview

RESOURCES

Best PracticesMobile Integration

ACCOUNT & ACCESS

SecurityTeam & RolesMonitoring & Logs

DATA DOMAINS

BankingEnergy DataIdentity DataIncome

HELP CENTER

Migrating to Fiskil APIsBanking - Business AccountsEnergy - Business Accounts

SUPPORT

Troubleshooting

AI TOOLS

OverviewMCP Server
Log InSign Up

GETTING STARTED

Start ExploringQuick StartAuthentication

CORE CONCEPTS

OverviewEnd UsersAuth SessionsConsentsTestingWebhooks

LINK WIDGET

IntroductionIntegrating the Link SDKFlow Overview

RESOURCES

Best PracticesMobile Integration

ACCOUNT & ACCESS

SecurityTeam & RolesMonitoring & Logs

DATA DOMAINS

BankingEnergy DataIdentity DataIncome

HELP CENTER

Migrating to Fiskil APIsBanking - Business AccountsEnergy - Business Accounts

SUPPORT

Troubleshooting

AI TOOLS

OverviewMCP Server

Quick Start

Get up and running with Fiskil quickly

AI Actions

Welcome to Fiskil! This guide will help you get up and running with your Fiskil integration in no time. Whether you're building a banking or energy application, follow these steps to connect your users' accounts and start pulling data.

1. Create Your Fiskil Account

Start by creating an account through the Fiskil Console. Once registered, you can generate your API keys and access the tools needed to integrate Fiskil into your app or website.

2. Authenticate with Fiskil

Fiskil authenticates your API requests using API keys generated from the console. Here's how to exchange your API keys for an access token:

Generate API Keys

In the Settings > API Keys menu, create an API key, selecting all scopes.

Security Note: Save your client ID and client secret, you won't be able to see them again after this!

Request an Access Token

Make a POST request to the /v1/token endpoint. Replace your_client_id and your_client_secret with the client ID and secret you saved in the previous step.

curl --location --request POST 'https://api.fiskil.com/v1/token' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
  "client_id": "your_client_id",
  "client_secret": "your_client_secret"
}'

Tip: Check out the full API Reference for code snippets in various programming languages.

Security Note: Store the returned token securely. All integrations must be handled on the server-side to protect sensitive data.

3. Create an End User

An End User represents a user of your app. You need to create this object to link accounts and manage consent.

Create an End User

Make a POST request to /v1/end-users with the user's details. Replace your_token with the token you got from the /v1/token endpoint.

curl --request POST \
  --url https://api.fiskil.com/v1/end-users \
  --header 'Authorization: Bearer your_token' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
    "email": "user@example.com",
    "name": "User Name",
    "phone": "+1234567890"
  }'

Store the end_user_id returned in the response for future API calls.

Tip: Retrieve an existing end_user_id using the GET /end-users endpoint if needed.

4. Set Up Your Consent Flow

Fiskil's APIs are use case agnostic, but it's crucial to ensure your users understand what data they're consenting to share.

Customize Consent in the Console

Navigate to the Customize UI page in the Fiskil Console.

Update:

  • Consent Period: Choose an appropriate duration
  • Data History: Limit history to what's necessary for faster sync
  • Use Cases: Clearly describe why you need access
  • Branding: Add your logo, company name, and adjust colors to match your brand

Hit "Save" once you're happy with your consent UI.

Note: To gain production access, you must only collect data essential for your product or service.

5. Create an Auth Session

An Auth Session facilitates linking a user's account through the consent flow you designed. The Auth Session is used together with the Fiskil Link SDK to embed the account linking interface inside your application.

Create an Auth Session

Make a POST request to /v1/auth/session:

curl --request POST \
  --url https://api.fiskil.com/v1/auth/session \
  --header 'Authorization: Bearer ${token}' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
    "cancel_uri": "https://yourapp.com/cancel",
    "end_user_id": "${end_user_id}"
  }'

Handle the Response

{
  "auth_url": "https://auth.fiskil.com/?sess_id=your_session_id",
  "expires_at": "2025-12-31T23:59:59Z",
  "session_id": "your_session_id"
}

Use the auth_session_id with the Fiskil Link SDK to launch the embedded account linking interface in your application.

Using the Link SDK

npm install @fiskil/link
# or
yarn add @fiskil/link
import { link } from '@fiskil/link';

const flow = link('auth_session_id');

try {
  const result = await flow;
  console.log('Consent ID:', result.consentID);
} catch (err) {
  console.error('Link error:', err);
}

// Cancel programmatically if needed

// flow.close();

For full details on configuration options and error handling, see Integrating the Link SDK.

6. Listen for Webhook Events

Once a user completes the consent flow, Fiskil emits webhook events to notify you when data is ready. Listening for these is the recommended integration pattern.

Key events to handle:

  • consent.received – triggered when the user completes the consent flow
  • banking.transactions.sync.completed – banking data is synced
  • energy.usage.sync.completed – energy data is synced

You can register your webhook endpoint in the Fiskil Console under Settings > Teams > Webhooks.

Fiskil signs each payload with an HMAC-SHA256 signature in the X-Fiskil-Signature header. Make sure to verify this signature before processing.

Learn more in the Webhooks Guide

7. Pull Data Using Fiskil APIs

Once the user has completed the consent flow, you can access their data using Fiskil's Banking or Energy APIs.

Banking APIs

EndpointDescription
Identity APIRetrieve identity information of connected bank accounts
Account APIGet account details of connected bank accounts
Balance APIAccess balance data of connected bank accounts
Transaction APIFetch transaction history of connected bank accounts
Payee APIGet payee details linked to connected bank accounts
Direct Debit APIView direct debits from connected bank accounts
Scheduled Payment APIList scheduled payments from connected bank accounts

Energy APIs

EndpointDescription
Identity APIRetrieve identity information of connected energy accounts
Account APIGet account details of connected energy accounts
Balance APIAccess balance data of connected energy accounts
Concession APIView concessions applied to connected energy accounts
Billing APIRetrieve billing information from connected energy accounts
Invoice APIGet invoice data for connected energy accounts
Usage APIAccess usage and interval data for connected energy accounts
Servicepoint APIRetrieve site information for connected energy accounts
DER APIObtain Distributed Energy Resources (DER) data
Scheduled Payment APIList scheduled payments from connected energy accounts

Note: Most endpoints support retries and idempotency. We recommend listening to webhook events before attempting to fetch data to ensure it's available.

8. Test Your Integration

Before moving to production, validate your integration end-to-end:

  • Create a test end user
  • Run through the consent flow
  • Confirm webhook delivery
  • Fetch data using the relevant API

Once you're confident in your flow, review our Launch Checklist to prepare for production.

Need Help?

Not a developer? No worries! Reach out to Fiskil's certified experts or explore our Open Source examples.

🎉 That's it! You're now set up with Fiskil. Let us know what you're building—we'd love to help you out or even feature your product on our blog.

Was this page helpful?

Start ExploringAuthentication

On this page

1. Create Your Fiskil Account2. Authenticate with FiskilGenerate API KeysRequest an Access Token3. Create an End UserCreate an End User4. Set Up Your Consent FlowCustomize Consent in the Console5. Create an Auth SessionCreate an Auth SessionHandle the ResponseUsing the Link SDK6. Listen for Webhook Events7. Pull Data Using Fiskil APIsBanking APIsEnergy APIs8. Test Your IntegrationNeed Help?