openapi: 3.0.3 info: title: Truist Personal and Small Business Accounts API description: >- Provides programmatic access to consumer and small business deposit account information, including account details, balances, account types, and ownership information for authenticated Truist clients. 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: Accounts description: Personal and small business account operations paths: /personal/accounts: get: operationId: listPersonalAccounts summary: List Personal Accounts description: Retrieve a list of personal and small business deposit accounts for the authenticated client. tags: - Accounts security: - OAuth2: [accounts:read] parameters: - name: Authorization in: header required: true schema: type: string description: Bearer token for OAuth 2.0 authentication responses: '200': description: List of accounts retrieved successfully content: application/json: schema: $ref: '#/components/schemas/AccountListResponse' '401': description: Unauthorized - invalid or missing token '403': description: Forbidden - insufficient permissions /personal/accounts/{accountId}: get: operationId: getPersonalAccount summary: Get Personal Account description: Retrieve details for a specific personal or small business deposit account. tags: - Accounts security: - OAuth2: [accounts:read] parameters: - name: accountId in: path required: true schema: type: string description: Unique account identifier - name: Authorization in: header required: true schema: type: string description: Bearer token for OAuth 2.0 authentication responses: '200': description: Account details retrieved successfully content: application/json: schema: $ref: '#/components/schemas/Account' '401': description: Unauthorized '403': description: Forbidden '404': description: Account not found /personal/accounts/{accountId}/balances: get: operationId: getPersonalAccountBalances summary: Get Personal Account Balances description: Retrieve current and available balances for a personal or small business account. tags: - Accounts security: - OAuth2: [accounts:read] parameters: - name: accountId in: path required: true schema: type: string description: Unique account identifier - name: Authorization in: header required: true schema: type: string description: Bearer token for OAuth 2.0 authentication responses: '200': description: Account balances retrieved successfully content: application/json: schema: $ref: '#/components/schemas/AccountBalances' '401': description: Unauthorized '404': description: Account not found components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://api.truist.com/oauth2/authorize tokenUrl: https://api.truist.com/oauth2/token scopes: accounts:read: Read access to account information schemas: AccountListResponse: type: object properties: accounts: type: array items: $ref: '#/components/schemas/Account' totalCount: type: integer description: Total number of accounts Account: 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, CERTIFICATE_OF_DEPOSIT] description: Type of deposit account accountName: type: string description: Account nickname or display name routingNumber: type: string description: ABA routing number status: type: string enum: [ACTIVE, INACTIVE, CLOSED] description: Current account status currency: type: string default: USD description: Account currency code openedDate: type: string format: date description: Date the account was opened AccountBalances: type: object properties: accountId: type: string description: Unique account identifier currentBalance: type: number format: double description: Current ledger balance availableBalance: type: number format: double description: Available balance for transactions pendingBalance: type: number format: double description: Balance of pending transactions currency: type: string default: USD description: Currency code asOfDateTime: type: string format: date-time description: Timestamp of balance information