Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt

Use this file to discover all available pages before exploring further.

An internal bank account is the deposit account Tesouro’s sponsor bank holds on the SMB’s behalf. It’s the account id you pass into transfer requests, the account statements are generated from, and the account that emits ACCOUNT_STATUS_CHANGED webhooks when something about it shifts.

Provisioning

Internal bank accounts aren’t created by an explicit “open account” call. They appear as the terminal effect of a bank account application reaching COMPLETE. At that point KYB has finished, the bank has decisioned the application, and a deposit account has been opened against the verified business. You discover the new bank account by reading the application — the response includes the id it produced — or by subscribing to the relevant ACCOUNT_STATUS_CHANGED event on your webhook subscription.
GET /embedded-banking/v1/bank-accounts/{id}

What’s on the read

Response (200 OK)
{
  "id": "ba_550e8400-e29b-41d4-a716-446655440001",
  "nickname": "Operating",
  "bankAccountReference": "northfield-op-001",
  "accountNumber": "***5678",
  "routingNumber": "021000089",
  "createdDateTime": "2026-05-21T16:52:00Z",
  "status": "ACTIVE"
}
FieldNotes
idThe identifier for the bank account — passed into transfer endpoints, transaction listings, and the PATCH for closure.
nicknameDisplay label, mutable via PATCH.
bankAccountReferenceCaller-supplied external reference (your own ID for this account), mutable via PATCH.
accountNumberMasked on read. The full number for inbound ACH and wire is delivered at provisioning.
routingNumberSponsor bank’s routing number — pair with the full accountNumber for inbound transfers.
statusACTIVE on the first read. The other state is CLOSED — see Closing a bank account.
createdDateTimeWhen the sponsor bank opened the account.
Balance is returned by the with-balance variant of this endpoint, and transactions are listable separately:
GET /embedded-banking/v1/bank-accounts/{id}/transactions
The transactions endpoint accepts startDate, endDate, limit (1–100, default 25), and a pagination_token. Each row carries description, direction (CREDIT or DEBIT), date, amount (in minor units), and runningBalance. Once the application is COMPLETE, the bank account is the sponsor bank’s record of truth and behaves like any other deposit account. From this point on it’s a transfer source or destination on every rail; see Money movement. When the bank account eventually needs to come out of service, see Closing a bank account.