ListAccounts
Method Details​
Description: Retrieves a list of all accounts for the authenticated principal.
Required Roles: Check proto file for roles
Parameters: No parameters
Returns: ListAccountsResponse
Method Type: METHOD_TYPE_READ
Code Examples​
- Go
- Python
- Java
- Protobuf
package main
import (
"context"
"log"
accountv1 "github.com/meshtrade/api/go/wallet/account/v1"
)
func main() {
ctx := context.Background()
// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
service, err := accountv1.NewAccountService()
if err != nil {
log.Fatalf("Failed to create service: %v", err)
}
defer service.Close()
// Create request with service-specific parameters
request := &accountv1.ListAccountsRequest{
// FIXME: Populate service-specific request fields
}
// Call the ListAccounts method
response, err := service.ListAccounts(ctx, request)
if err != nil {
log.Fatalf("ListAccounts failed: %v", err)
}
// FIXME: Add relevant response object usage
log.Printf("ListAccounts successful: %+v", response)
}
from meshtrade.wallet.account.v1 import (
AccountService,
)
def main():
# Default configuration is used and credentials come from MESH_API_CREDENTIALS
# environment variable or default discovery methods. Zero config required
# unless you want custom configuration.
service = AccountService()
with service:
# Call the ListAccounts method (no request parameters)
response = service.list_accounts()
# FIXME: Add relevant response object usage
print("ListAccounts successful:", response)
if __name__ == "__main__":
main()
import co.meshtrade.api.wallet.account.v1.AccountService;
import co.meshtrade.api.wallet.account.v1.Service.ListAccountsRequest;
import co.meshtrade.api.wallet.account.v1.Service.ListAccountsResponse;
import java.util.Optional;
public class ListAccountsExample {
public static void main(String[] args) {
// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
try (AccountService service = new AccountService()) {
// Create request with service-specific parameters
ListAccountsRequest request = ListAccountsRequest.newBuilder()
// FIXME: Populate service-specific request fields
.build();
// Call the ListAccounts method
ListAccountsResponse response = service.listAccounts(request, Optional.empty());
// FIXME: Add relevant response object usage
System.out.println("ListAccounts successful: " + response);
} catch (Exception e) {
System.err.println("ListAccounts failed: " + e.getMessage());
e.printStackTrace();
}
}
}
syntax = "proto3";
package meshtrade.wallet.account.v1;
import "meshtrade/iam/role/v1/role.proto";
import "meshtrade/option/v1/method_type.proto";
import "meshtrade/type/v1/ledger.proto";
import "meshtrade/wallet/account/v1/account.proto";
option go_package = "github.com/meshtrade/api/go/wallet/account/v1;accountv1";
option java_package = "co.meshtrade.api.wallet.account.v1";
/*
AccountService provides access to and management of wallet accounts.
*/
service AccountService {
/*
Creates a new wallet account.
This is a write operation restricted to administrative roles.
*/
rpc CreateAccount(CreateAccountRequest) returns (meshtrade.wallet.account.v1.Account) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_WRITE;
option (meshtrade.iam.role.v1.roles) = {
roles: [ROLE_WALLET_ADMIN]
};
}
/*
Retrieves a single wallet account by its unique number.
*/
rpc GetAccount(GetAccountRequest) returns (meshtrade.wallet.account.v1.Account) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_READ;
option (meshtrade.iam.role.v1.roles) = {
roles: [
ROLE_WALLET_ADMIN,
ROLE_WALLET_VIEWER
]
};
}
/*
Retrieves a list of all accounts for the authenticated principal.
*/
rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_READ;
option (meshtrade.iam.role.v1.roles) = {
roles: [
ROLE_WALLET_ADMIN,
ROLE_WALLET_VIEWER
]
};
}
/*
Searches for accounts based on a partial label match.
*/
rpc SearchAccounts(SearchAccountsRequest) returns (SearchAccountsResponse) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_READ;
option (meshtrade.iam.role.v1.roles) = {
roles: [
ROLE_WALLET_ADMIN,
ROLE_WALLET_VIEWER
]
};
}
}
/* CreateAccountRequest contains the parameters for creating a new account. */
message CreateAccountRequest {
/*
A user-defined label for the new account, e.g., "Primary Savings".
*/
string label = 1;
/*
The ledger upon which the account should be created.
*/
meshtrade.type.v1.Ledger ledger = 2;
/*
If true, the account will be opened immediately after creation, which
may result in a transaction.
*/
bool open = 3;
}
/* GetAccountRequest specifies which account to retrieve. */
message GetAccountRequest {
/*
The unique account number to retrieve.
*/
string number = 1;
}
/* ListAccountsRequest requires no parameters to list accounts for the caller. */
message ListAccountsRequest {}
/* ListAccountsResponse contains a list of accounts. */
message ListAccountsResponse {
/*
A list of accounts owned by the authenticated principal.
*/
repeated meshtrade.wallet.account.v1.Account accounts = 1;
}
/* SearchAccountsRequest specifies the query for finding accounts. */
message SearchAccountsRequest {
/*
A substring to search for within account labels.
*/
string label = 1;
}
/* SearchAccountsResponse contains the accounts that matched the search query. */
message SearchAccountsResponse {
/*
A list of accounts that matched the label search query.
*/
repeated meshtrade.wallet.account.v1.Account accounts = 1;
}
Advanced Configuration​
For advanced client configuration options (custom endpoints, TLS settings, timeouts), see the SDK Configuration Guide.
Other Methods​
- Wallet Account v1 Method List - For Other methods