Transaction Search

June 5, 2026 ยท View on GitHub

Use the /transactions resource to list transactions and the /balances resource to list balances.

TransactionSearchController transactionSearchController = client.getTransactionSearchController();

Class Name

TransactionSearchController

Methods

Search Transactions

Lists transactions. Specify one or more query parameters to filter the transaction that appear in the response. Notes: If you specify one or more optional query parameters, the ending_balance response field is empty. It takes a maximum of three hours for executed transactions to appear in the list transactions call. This call lists transaction for the previous three years.

CompletableFuture<ApiResponse<SearchResponse>> searchTransactionsAsync(
    final SearchTransactionsInput input)

Authentication

This endpoint requires Oauth2

Parameters

ParameterTypeTagsDescription
inputSearchTransactionsInputRequiredInput structure for the method SearchTransactionsAsync

Response Type

200: A successful request returns the HTTP 200 OK status code and a JSON response body that lists transactions .

This method returns an ApiResponse instance. The getResult() getter of this instance returns the response data which is of type SearchResponse.

Example Usage

SearchTransactionsInput searchTransactionsInput = new SearchTransactionsInput.Builder(
    "start_date6",
    "end_date0"
)
.fields("transaction_info")
.balanceAffectingRecordsOnly("Y")
.pageSize(100)
.page(1)
.build();

transactionSearchController.searchTransactionsAsync(searchTransactionsInput).thenAccept(result -> {
    // TODO success callback handler
    System.out.println(result);
}).exceptionally(exception -> {
    Throwable cause = exception.getCause();

    if (cause instanceof SearchErrorException) {
        SearchErrorException searchErrorException = (SearchErrorException) cause;
        searchErrorException.printStackTrace();
    } else {
        // fallback for unexpected errors
        exception.printStackTrace();
    }

    return null;
});

Errors

HTTP Status CodeError DescriptionException Class
DefaultThe error response.SearchErrorException

Search Balances

List all balances. Specify date time to list balances for that time that appear in the response. Notes: It takes a maximum of three hours for balances to appear in the list balances call. This call lists balances upto the previous three years.

CompletableFuture<ApiResponse<BalancesResponse>> searchBalancesAsync(
    final SearchBalancesInput input)

Authentication

This endpoint requires Oauth2

Parameters

ParameterTypeTagsDescription
inputSearchBalancesInputRequiredInput structure for the method SearchBalancesAsync

Response Type

200: A successful request returns the HTTP 200 OK status code and a JSON response body that lists balances .

This method returns an ApiResponse instance. The getResult() getter of this instance returns the response data which is of type BalancesResponse.

Example Usage

SearchBalancesInput searchBalancesInput = new SearchBalancesInput.Builder()
    .build();

transactionSearchController.searchBalancesAsync(searchBalancesInput).thenAccept(result -> {
    // TODO success callback handler
    System.out.println(result);
}).exceptionally(exception -> {
    Throwable cause = exception.getCause();

    if (cause instanceof DefaultErrorException) {
        DefaultErrorException defaultErrorException = (DefaultErrorException) cause;
        defaultErrorException.printStackTrace();
    } else {
        // fallback for unexpected errors
        exception.printStackTrace();
    }

    return null;
});

Errors

HTTP Status CodeError DescriptionException Class
400The request is not well-formed, is syntactically incorrect, or violates schema.DefaultErrorException
403Authorization failed due to insufficient permissions.DefaultErrorException
500An internal server error occurred.DefaultErrorException
DefaultThe error response.DefaultErrorException