final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
Default base URL is https://api.m8ty.eu/api/v1; override with basePathOverride only for non-prod environments.
Catch DioException and handle status code plus response body from e.response.
API Surface
AccountsApi
Method
Description
listAllAccounts
Retrieve all the user's accounts
searchAccounts
Search for the user's accounts
getAccountById
Fetch a single account
removeAccount
Remove an account from the server
saveAccountAlias
Update or insert customer defined alias for account name
accountBalanceCashflow
Cashflow balances of an account
accountBalanceMonthly
Monthly balances of an account
accountBalanceTrends
Trending balances of an account
TransactionsApi
Method
Description
searchTransactions
Search for all transactions
getTransactionById
Get account transaction by ID
getTransactionDetails
Get transaction details for a specified transaction
getTransactionsForecast
Search for all future expected transactions
getSwiftGpiTransactionStatus
Get Swift GPI data for given end-to-end reference
submitTransactionResearchRequest
Request additional investigation for a transaction
BankManagementApi
Method
Description
fetchAllBankConnections
Get all imported bank connections
importBankConnection
Import a bank connection
deleteImportedBankConnection
Delete a bank connection
importBankConnectionStatus
Status of a bank connection
BanksApi
Method
Description
listBanks
List of supported banks
listBankGroupsForCountry
List all bank groups by country
listSupportedBankCountries
List supported bank countries
getBankByIdentification
Retrieve bank details by identification type
getBankHolidays
Get holidays for the bank by country
getExchangeRates
Get exchange rates for given currencies
AnalyticsApi
Method
Description
analyticsCategories
Categories from analytics module
How to perform different tasks
Here some examples how the dart client can be used
Get list of all bank accounts
final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
final api = client.getAccountsApi();
final Response<AccountsResponseModel> allAccounts = await api.listAllAccounts(
page: 1,
size: 100,
includeBankData: true,
);
Search accounts by using filter options
final accountRequestModel = AccountDataRequestModel((b) => b
..accountIBAN = "CH9300762011623852957"
..accountIsoCurrency = IsoCurrencyEnumModel.CHF);
final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
final api = client.getAccountsApi();
final Response<AccountsResponseModel> allAccounts = await api.searchAccounts(
accountDataRequestModel: accountRequestModel,
page: 1,
size: 100,
);
Get account balance cashflow
final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
final api = client.getAccountsApi();
try {
final response = await api.accountBalanceCashflow(
accountId: '1234',
);
print('Cashflow: ${response.data}');
} on DioException catch (e) {
throw Exception(
'Request failed (status: ${e.response?.statusCode}): ${e.response?.data}',
);
}
Get list of all transactions
final transactionsRequestModel = SearchTransactionRequestModel(
(b) => b
..accountIds = ListBuilder(["accountId", "accountId2"])
..bookingDateFrom = DateTime.now(),
);
final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
final api = client.getTransactionsApi();
final Response<SearchTransactionResponseModel> allTransactions = await api.searchTransactions(
searchTransactionRequestModel: transactionsRequestModel,
page: 1,
size: 100,
);
Use google search options
final transactionsRequestModel = SearchTransactionRequestModel(
(b) => b
..accountIds = ListBuilder(["accountId", "accountId2"])
..search = "Shell",
);
final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
final api = client.getTransactionsApi();
final Response<SearchTransactionResponseModel> allTransactions = await api.searchTransactions(
searchTransactionRequestModel: transactionsRequestModel,
page: 1,
size: 100,
);
Fetch all bank connections
final client = M8tyClientAis();
client.setOAuthToken('ApiOAuth2', oauthToken);
final api = client.getBankManagementApi();
final response = await api.fetchAllBankConnections();