openapi: 3.0.3 info: title: Truist Commercial Accounts API description: >- Provides programmatic access to commercial deposit account information, including account balances, account details, and account summary data for commercial and corporate clients. Supports treasury management integrations and ERP connectivity. version: 1.0.0 contact: url: https://developer.truist.com/ termsOfService: https://www.truist.com/about-truist/terms-conditions servers: - url: https://api.truist.com/v1 description: Production tags: - name: Commercial Accounts description: Commercial banking account operations paths: /commercial/accounts: get: operationId: listCommercialAccounts summary: List Commercial Accounts description: Retrieve a list of commercial deposit accounts for the authenticated organization. tags: - Commercial Accounts security: - OAuth2: [commercial.accounts:read] parameters: - name: customerId in: query required: false schema: type: string description: Filter accounts by customer/organization identifier - name: accountType in: query required: false schema: type: string enum: [CHECKING, SAVINGS, MONEY_MARKET, SWEEP] description: Filter by account type responses: '200': description: Commercial accounts retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CommercialAccountListResponse' '401': description: Unauthorized '403': description: Forbidden /commercial/accounts/{accountId}: get: operationId: getCommercialAccount summary: Get Commercial Account description: Retrieve details for a specific commercial deposit account. tags: - Commercial Accounts security: - OAuth2: [commercial.accounts:read] parameters: - name: accountId in: path required: true schema: type: string description: Unique account identifier responses: '200': description: Commercial account retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CommercialAccount' '401': description: Unauthorized '404': description: Account not found /commercial/accounts/{accountId}/balances: get: operationId: getCommercialAccountBalances summary: Get Commercial Account Balances description: Retrieve current and available balances for a commercial deposit account, including collected and uncollected balances. tags: - Commercial Accounts security: - OAuth2: [commercial.accounts:read] parameters: - name: accountId in: path required: true schema: type: string description: Unique account identifier - name: asOfDate in: query required: false schema: type: string format: date description: Balance as of date (defaults to current day) responses: '200': description: Commercial account balances retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CommercialAccountBalances' '401': description: Unauthorized '404': description: Account not found /commercial/accounts/summary: get: operationId: getCommercialAccountSummary summary: Get Commercial Account Summary description: Retrieve a consolidated balance summary across all commercial accounts for the organization. tags: - Commercial Accounts security: - OAuth2: [commercial.accounts:read] parameters: - name: customerId in: query required: false schema: type: string description: Customer/organization identifier - name: currency in: query required: false schema: type: string default: USD description: Currency for balance aggregation responses: '200': description: Account summary retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CommercialAccountSummary' '401': description: Unauthorized components: securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.truist.com/oauth2/token scopes: commercial.accounts:read: Read access to commercial account information schemas: CommercialAccountListResponse: type: object properties: accounts: type: array items: $ref: '#/components/schemas/CommercialAccount' totalCount: type: integer CommercialAccount: type: object properties: accountId: type: string description: Unique account identifier accountNumber: type: string description: Masked account number accountType: type: string enum: [CHECKING, SAVINGS, MONEY_MARKET, SWEEP] accountName: type: string description: Account name or description routingNumber: type: string description: ABA routing number status: type: string enum: [ACTIVE, INACTIVE, CLOSED] currency: type: string default: USD openedDate: type: string format: date customerId: type: string description: Associated customer/organization identifier CommercialAccountBalances: type: object properties: accountId: type: string ledgerBalance: type: number format: double description: Total ledger balance availableBalance: type: number format: double description: Available balance for disbursements collectedBalance: type: number format: double description: Collected (cleared) balance uncollectedBalance: type: number format: double description: Float/uncollected funds oneDayFloat: type: number format: double description: One-day float amount twoDayFloat: type: number format: double description: Two-day float amount currency: type: string default: USD asOfDateTime: type: string format: date-time CommercialAccountSummary: type: object properties: customerId: type: string totalLedgerBalance: type: number format: double totalAvailableBalance: type: number format: double accountCount: type: integer currency: type: string default: USD asOfDateTime: type: string format: date-time