Accounts, Balances, and Transactions
The read-side operation family exposes account discovery, balances, and
transaction history through typed result handles borrowed from
gln_backend_result_t.
Operations
| Operation | Request | Result accessor |
|---|---|---|
gln_retrieve_accounts | none | gln_get_backend_result_accounts |
gln_retrieve_balances | gln_list_balances_request_t | gln_get_backend_result_balances |
gln_retrieve_transactions | gln_list_transactions_request_t | gln_get_backend_result_transactions |
Backend Support
| Operation | Supported backends |
|---|---|
list_accounts | FinTS, EBICS |
list_balances | FinTS, EBICS |
list_transactions | FinTS, EBICS |
Probe support at runtime with gln_check_backend_operation_support before enabling a command
against an arbitrary backend handle.
Requests
gln_retrieve_accounts has no request struct.
gln_list_balances_request_t:
| Field | Required | Meaning |
|---|---|---|
iban | yes | Account IBAN whose balance should be listed. |
gln_list_transactions_request_t:
| Field | Required | Meaning |
|---|---|---|
iban | yes | Account IBAN. |
from_date_or_null | no | Inclusive start date, YYYY-MM-DD. |
to_date_or_null | no | Inclusive end date, YYYY-MM-DD. |
limit_or_zero | no | Maximum number of rows, or zero for backend default. |
page_token_or_null | no | Opaque token from gln_get_transactions_next_page_token. |
Result Handles
| Handle | Count | Row | Key row accessors |
|---|---|---|---|
gln_accounts_t | gln_get_accounts_count | gln_get_account_at | gln_get_account_iban, gln_get_account_bic, gln_get_account_owner, gln_get_account_currency, gln_get_account_product_name |
gln_balances_t | gln_get_balances_count | gln_get_balance_at | gln_get_balance_iban, gln_get_balance_amount, gln_get_balance_currency, gln_get_balance_status, optional date/time and limit fields |
gln_transactions_t | gln_get_transactions_count | gln_get_transaction_at | gln_get_transaction_status, remote identity, purpose, date, amount, currency, references |
gln_get_transactions_next_page_token returns a borrowed token for the
next page when the backend provides one.
Example: List Transactions
gln_list_transactions_request_t request = {0};
gln_default_list_transactions_request(&request);
request.iban = "DE02120300000000202051";
request.from_date_or_null = "2026-05-01";
request.to_date_or_null = "2026-05-31";
request.limit_or_zero = 200;
gln_backend_result_t* result = NULL;
gln_status_t call_status = gln_retrieve_transactions(backend, &request, &result);
if (call_status != GLN_OK) {
return 1;
}
if (gln_get_backend_result_outcome(result) == GLN_BACKEND_OUTCOME_SUCCESS) {
const gln_transactions_t* transactions = gln_get_backend_result_transactions(result);
for (size_t i = 0; i < gln_get_transactions_count(transactions); ++i) {
const gln_transaction_t* tx = gln_get_transaction_at(transactions, i);
const char* amount = gln_get_transaction_amount(tx);
const char* purpose = gln_get_transaction_purpose(tx);
(void)amount;
(void)purpose;
}
}
gln_destroy_backend_result(result);
Borrowed row and string pointers become invalid when the result envelope is destroyed.