Integration via API - Step 5: Account Status
API Account Status
The TxB platform offers a comprehensive suite of APIs designed for near real-time liquidity management and automated reconciliation. By leveraging the Get Account Balances and Get Account Transaction APIs, Widget Co. can maintain an up-to-date view of its financial position across both physical and virtual accounts.
Get Account Balances
The Account Balances API is the primary tool for on-demand visibility into where funds are located. It allows Widget Co. to monitor its physical payables account to ensure sufficient liquidity is available for disbursements initiated through VIAs.
- Scope: Provides "up-to-now" balance details for both physical and virtual accounts.
- Identifiers: Accounts can be queried using standard identifiers such as IBAN or Account Number.
- Operational Benefit: Allows real-time responsiveness to funding needs to avert payment failures due to insufficient funds.
Request POST https://api.test.txb.gs.com/v1/reports/accountBalances
[
{
"accountNumber": "240000171160", // Where 240000171160 is the physical parent payables DDA.
"routingInfo": {
"code": "USABA",
"value": "026015079"
}
}
] Response
{
"asOfDateTime": "2026-01-28T09:54:34.697081436Z",
"accountIdentifiers": {
"accountNumber": "240000171160",
"bankIdentifier": {
"bic": "GSCRUS30",
"routingInfo": {
"code": "USABA",
"value": "026015079"
},
"bankName": "Goldman Sachs Bank"
}
},
"currency": "USD",
"balances": [
{
"balanceType": "LEDGER",
"startOfDayBalance": 99900.00,
"currentBalance": 99900.00
},
{
"balanceType": "AVAILABLE",
"startOfDayBalance": 99900.00,
"currentBalance": 99900.00
}
]
}Get Account Transactions: Intraday and End-of-Day
The Accounts Transactions API is designed to facilitate end-of-day and top-day reconciliations. Although webhooks deliver prompt, event-driven notifications, this API provides the list of transactions pertaining to a specified business date. Additionally, certain account activity, such as credits for accrued interest and debits for account fees, are exclusively accessible through the API and not via webhooks. Core transaction attributes available within the API include:
| Field | Description |
|---|---|
| gsUniquePaymentId | The transaction ID used to uniquely identify every entry on the ledger. |
| paymentRequestId | A unique ID for a payment batch. It may represent one or multiple individual payments. |
| paymentEndToEndId | The unique ID provided by the initiator for a single payment. Note: This may be empty for batch rails (e.g., US ACH) where transactions are posted as a single batch. In case of incoming payment credits, this attribute may or may not be present depending on how and with what details that incoming payment was initiated externally. |
| currentBalance | The intraday balance at the time of the transaction posting. |
| endOfDayBalance | The final balance after the books close (typically post 8 PM EST). This value is null for intraday queries. |
| transactionType | A code indicating the nature of the movement (e.g., Outgoing Wire, Outgoing RTP, or Incoming Credit). |
| debitOrCredit | Explicitly labels the transaction as a DEBIT or CREDIT. |
| hasMore | A boolean indicator for pagination. If true, additional records must be fetched using the offset parameter. |
Request GET https://api.test.txb.gs.com/v2/reports/transactionReports?referenceNumber=290000076543&businessDate=2026-01-03&limit=50
// 240000171160 is the physical parent payables DDA.
// 2026-01-03 - is the business day, could be current date for the Intraday report or for EoD or Previous Day.
// limit - number of records to fetch in the responseResponse
{
"asOfDateTime": "2026-01-03T15:32:39.297700456Z", // report generation time in UTC
"references": {
"referenceNumber": "290000076543", // Where 240000171160 is the physical parent payables DDA.
"referenceName": "Widget",
"referenceBank": { // TxB Branch
"bic": "GSCRUS30VIA",
"routingInfo": {
"code": "USABA",
"value": "026015079"
},
"bankName": "Goldman Sachs Bank"
},
"referenceType": "DEPOSITACCOUNT",
"jurisdiction": "US",
"currency": "USD",
"isVirtual": true,
"virtualAccountDetails": {
"parentAccountNumber": "2412345678",
"physicalAccountNumber": "2412345678"
}
},
"balances": [
{
"balanceType": "LEDGER",
"startOfDayBalance": 53252.42,
"endOfDayBalance": 53252.42,
"currentBalance": null
},
{
"balanceType": "AVAILABLE",
"startOfDayBalance": 53252.42,
"endOfDayBalance": 53252.42,
"currentBalance": null
}
],
"transactions": [
{
"postingDate": "2026-01-03T18:55:01Z",
"valueDate": "2026-01-03",
"transactionType": "ACH Credit Payment", // US ACH Payout
"transactionTypeCode": {
"domainCode": "PMNT",
"familyCode": "ICDT",
"subFamilyCode": "ACDT"
},
"transactionDescription": "Entry Description: BILLPAY; -, SEC: CCD, Client Ref ID: abcd12xyz, GS ID: GS1234567891",
"debitOrCredit": "DEBIT", // the TxB account is debited
"amount": 630.03,
"amountCurrency": "USD",
"fxInfo": null,
"identifiers": {
"paymentRequestId": "REF12345",
"gsUniquePaymentId": "GS1234567891"
},
"debtorAccount": {
"accountHolderName": "Widget",
"accountNumber": "290000076543",
"bankIdentifier": {
"bic": null,
"routingInfo": {
"code": "USABA",
"value": "026015079"
}
},
"legalEntityIdentifier": ""
},
"railSpecificInfo": {
"rail": "ACH",
"ACHInfo": {
"secCode": "CCD",
"companyName": "NDY DJLDPZP",
"companyId": "1234567890",
"companyEntryDescription": "BILLPAY",
"companyDescriptiveDate": null,
"sameOrNextDay": null
}
}
},
{
"postingDate": "2026-01-03T16:33:53Z",
"valueDate": "2026-01-03",
"transactionType": "Outgoing Wire", // Wire Payment
"transactionTypeCode": {
"domainCode": "PMNT",
"familyCode": "ICDT",
"subFamilyCode": "DMCT"
},
"transactionDescription": "To: Payee Corp, Client Ref ID: e2e1234, GS ID: GS1234567892, Clearing Ref: 2025ABCD12345678",
"returnReasonCode": null,
"returnReasonDescription": null,
"debitOrCredit": "DEBIT", // the TxB account is debited
"amount": 89.00,
"amountCurrency": "USD",
"fxInfo": null,
"identifiers": {
"paymentRequestId": "e2e1234",
"paymentEndToEndId": "e2e1234",
"gsUniquePaymentId": "GS1234567892",
"gsPostingIds": null,
"railReferenceId": {
"rail": "FEDWIRE",
"railId": "2025ABCD12345678"
}
},
"creditorAccount": {
"accountHolderName": "Payee Corp",
"accountNumber": "999999999",
"bankIdentifier": {
"routingInfo": {
"code": "USABA",
"value": "111026177"
}
},
"legalEntityIdentifier": ""
},
"debtorAccount": {
"accountHolderName": "Widget",
"accountNumber": "290000076543",
"bankIdentifier": {
"bic": "GSCRUS30",
"routingInfo": {
"code": "USABA",
"value": "026015079"
}
},
"legalEntityIdentifier": ""
},
"messagesFromOriginator": {
"paymentPurpose": "test payment purpose"
}
},
{
"postingDate": "2026-01-03T18:38:08Z",
"valueDate": "2026-01-03",
"transactionType": "Incoming Wire", // Wire Credit Incoming
"transactionTypeCode": {
"domainCode": "PMNT",
"familyCode": "RCDT",
"subFamilyCode": "DMCT"
},
"transactionDescription": "From: ABC DEF., Client Ref ID: 2025ABCD1234567888, GS ID: GS1234567893, Clearing Ref: 2025ABCD1234567888",
"returnReasonCode": null,
"returnReasonDescription": null,
"debitOrCredit": "CREDIT", // the TxB account is credited with funds
"amount": 1000.00,
"amountCurrency": "USD",
"fxInfo": null,
"identifiers": {
"paymentEndToEndId": "2025ABCD1234567888",
"gsUniquePaymentId": "GS1234567893",
"railReferenceId": {
"rail": "FEDWIRE",
"railId": "2025ABCD1234567888"
}
},
"creditorAccount": {
"accountHolderName": "Widget",
"accountNumber": "290000076543"
},
"debtorAccount": {
"accountHolderName": "ABC DEF",
"accountNumber": null,
"iban": null,
"bankIdentifier": {
"bic": null,
"routingInfo": null
},
"legalEntityIdentifier": ""
}
}
],
"hasMore": false // helps in pagination, if the attribute is true then it means more records are present
}
// for easy reading, some fields are removed as being null or emptyThe Transaction Reports API uses an offset and limit model to handle pagination for high transaction volumes. If the hasMore field is true, the client should increment the offset in the subsequent request to retrieve the next set of results.
Example: GET https://api.test.txb.gs.com/v2/reports/transactionReports?referenceNumber=290000076543&businessDate=2026-01-03&limit=50&offset=50
// offset - Number of transactions to be skipped before starting to collect results in the response`Please notice that the API support ISO 20022 standardized transaction types (e.g., CAMT.052/053), ensuring compatibility with Enterprise Resource Planning (ERP) and Treasury Management Systems (TMS).
Almost there, one last step to reconcile your transactions.
Additional Information
- Get account balances
- Get transaction report
- General guide with how to paginate
- Transaction Type Codes
| 1: Connect | 2: Create Account | 3: Payout | 4: Payout Status | 5: Account Status | 6: Reconcile |
|---|
Was this page useful?
Give feedback to help us improve developer.gs.com and serve you better.