BankSync API Documentation

Explore, test, and integrate

This developer guide will help you authenticate, access, and interact with the BankSync API in a secure and scalable way.

๐Ÿ”‘ Prerequisites

  • Create an Account: Register here.
  • User ID & Client ID: Once registered, your account will be associated with a unique User ID and Client ID. Find my ClientID and Client Secret
  • API Credentials: You need to request your API credentials from the My API Credentials form.
  • Secure Storage: Store your credentials securely (use vaults or environment variables).
  • Expiration: Client secrets are valid for 12 months.

๐Ÿค Our team is here to help you succeed. If you have any questions or need assistance, please donโ€™t hesitate to get in touch.

1. Get Access Token

Send a POST request to obtain a bearer token:

curl --location 'https://login.microsoftonline.com/f6094d50-9242-4d80-ae66-a882482b38a4/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<CLIENT_ID>' \
--data-urlencode 'client_secret=<CLIENT_SECRET>' \
--data-urlencode 'scope=api://banksync-api/.default'

Expected response:

{
    "token_type": "Bearer",
    "expires_in": 3599,
    "ext_expires_in": 3599,
    "access_token": "eyJ0eXAiO......."
}

2. Call API: /beneficiaries

Retrieve the list of bank accounts linked to a specific user ID.

curl --location 'https://api.bank-sync.com/beneficiaries/<USER_ID>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json'

Example response:

{
    "resources": [
        {
            "id": 52961960,
            "name": "Emoney CHF",
            "balance": 0,
            "type": "checking",
            "pro": true
        },
        {
            "id": 52961959,
            "name": "Savings EUR",
            "balance": 0,
            "type": "savings",
            "pro": true
        },
        {
            "id": 52961958,
            "name": "Emoney AED",
            "balance": 0,
            "type": "checking",
            "pro": true
        }
    ],
    "generatedAt": "0001-01-01T00:00:00",
    "pagination": {
        "nextUri": null
    }
}

3. Call API: /transactions

Retrieve the transaction history for a specific bank account (bankAccountId). You can find your Bank Account ID via the previous endpoint or in the web interface at /Bridge/Accounts, in the "ID" column.

Query Parameters
  • minDate: ISO date format (e.g., 2022-01-01)
  • maxDate: ISO date format (e.g., 2025-04-30)
  • limit (optional): Max number of transactions to return. Maximum value 5000, default value 500
curl --location 'https://api.bank-sync.com/beneficiaries/<USER_ID>/transactions/<BANK_ID>?minDate=2022-01-01&maxDate=2025-04-30&limit=1000' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json'

Example response:

{
    "transactions": [
        {
            "id": 4587921,
            "date": "2025-04-28",
            "amount": -120.45,
            "currency": "EUR",
            "description": "Electricity bill",
            "type": "debit"
        },
        {
            "id": 4587922,
            "date": "2025-04-27",
            "amount": 2500.00,
            "currency": "EUR",
            "description": "Salary",
            "type": "credit"
        }
    ],
    "pagination": {
        "nextUri": null
    }
}

โš ๏ธ Best Practices & Security Tips

  • Never expose your client_secret in frontend code.
  • Use HTTPS for all API communication.
  • Refresh tokens as needed; they expire after 3600 seconds.
  • Monitor usage and rotate secrets periodically.