Skip to main content
Bank accounts store financial account information for clients, including account numbers, bank details, and scope-specific identifiers like Mexico’s CLABE.

Bank Account Types

TypeDescription
CheckingChecking account
SavingsSavings account
OtherOther account type

Creating Bank Accounts

import { BankAccountType, Currency } from "@artu-ai/compliance-sdk";

const account = await sdk.bankAccounts.create({
  clientId: "client_abc123",
  accountNumber: "1234567890",
  bankName: "BBVA México",
  type: BankAccountType.Checking,
  currency: Currency.MXN,
  country: "MX",
});

Retrieving Bank Accounts

const account = await sdk.bankAccounts.retrieve("bank_xyz789");

console.log(account.bankName);      // "BBVA México"
console.log(account.accountNumber); // "1234567890"
console.log(account.currency);      // "MXN"
For lookups by your own IDs or metadata, use retrieveByExternalId or retrieveByMetadata (see SDK reference).

Listing Bank Accounts

List by Client

const { data: accounts } = await sdk.bankAccounts.listByClient("client_abc123");

for (const account of accounts) {
  console.log(`${account.bankName}: ${account.accountNumber}`);
}

Filter by Currency

import { Currency } from "@artu-ai/compliance-sdk";

const { data: mxnAccounts } = await sdk.bankAccounts.list({
  filter: {
    clientId: "client_abc123",
    currency: Currency.MXN,
  },
});

Updating Bank Accounts

const updated = await sdk.bankAccounts.update("bank_xyz789", {
  bankName: "Banorte",
  accountNumber: "0987654321",
});

Deleting Bank Accounts

await sdk.bankAccounts.delete("bank_xyz789");

Primary Bank Account

Each client can have one primary bank account:
// Get the primary bank account
const primary = await sdk.bankAccounts.getPrimary("client_abc123");

if (primary) {
  console.log(`Primary account: ${primary.bankName}`);
}

// Set as primary
await sdk.bankAccounts.setPrimary("bank_xyz789");

// Or via update
await sdk.bankAccounts.update("bank_xyz789", {
  isPrimary: true,
});

Activating/Deactivating Accounts

// Deactivate an account
await sdk.bankAccounts.deactivate("bank_xyz789");

// Reactivate an account
await sdk.bankAccounts.activate("bank_xyz789");

Bank Account Model Properties

PropertyTypeDescription
idstringUnique identifier
clientIdstringParent client ID
accountNumberstringAccount number
bankNamestringBank name
typeBankAccountTypeAccount type
currencyCurrencyAccount currency
countrystringCountry code
isPrimarybooleanWhether primary account
isActivebooleanWhether account active
createdAtDateCreation timestamp
updatedAtDateLast update timestamp

Batch Operations

// Create multiple bank accounts
const result = await sdk.bankAccounts.createMany([
  {
    clientId: "client_abc123",
    accountNumber: "1111111111",
    bankName: "BBVA",
    type: BankAccountType.Checking,
    currency: Currency.MXN,
    country: "MX",
  },
  {
    clientId: "client_abc123",
    accountNumber: "2222222222",
    bankName: "Santander",
    type: BankAccountType.Savings,
    currency: Currency.MXN,
    country: "MX",
  },
]);
See Batch Operations for more details.