Huntington Bank Treasury Management API

The Huntington Bank Treasury Management API is part of Huntington's Treasury Management Connectivity Ecosystem, an API-first platform that enables businesses to unify banking, ERP, and financial tools. Built on Apigee X, the platform supports over 500 interfaces and processes more than 10 million transaction events daily, providing real-time visibility into treasury operations, automated payment processing, and seamless integration with enterprise systems.

OpenAPI Specification

huntington-bank-treasury-management-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Huntington Bank Treasury Management API
  description: >-
    The Huntington Bank Treasury Management API is part of Huntington's
    Treasury Management Connectivity Ecosystem, an API-first platform
    that enables businesses to unify banking, ERP, and financial tools.
    Built on Apigee X, the platform supports over 500 interfaces and
    processes more than 10 million transaction events daily, providing
    real-time visibility into treasury operations, automated payment
    processing, and seamless integration with enterprise systems.
  version: '1.0'
  contact:
    name: Huntington Bank Developer Support
    url: https://hnbdevportal.huntington.com/
externalDocs:
  description: Huntington Bank Developer Portal
  url: https://hnbdevportal.huntington.com/
servers:
  - url: https://api.huntington.com/v1
    description: Production
tags:
  - name: Accounts
    description: Account information and balances
  - name: Payments
    description: Payment initiation and management
  - name: Transactions
    description: Transaction reporting and history
security:
  - oauth2: []
paths:
  /accounts:
    get:
      operationId: getAccounts
      summary: Get treasury accounts
      description: >-
        Retrieves a list of treasury and deposit accounts for the
        authenticated business customer.
      tags:
        - Accounts
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountList'
        '401':
          description: Unauthorized
  /accounts/{accountId}/balances:
    get:
      operationId: getAccountBalances
      summary: Get account balances
      description: >-
        Retrieves current and available balance information for a
        specific account.
      tags:
        - Accounts
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
          description: The unique account identifier
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountBalance'
  /accounts/{accountId}/transactions:
    get:
      operationId: getTransactions
      summary: Get account transactions
      description: >-
        Retrieves transaction history for a specific account with
        optional date range filtering.
      tags:
        - Transactions
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
          description: The unique account identifier
        - name: fromDate
          in: query
          schema:
            type: string
            format: date
        - name: toDate
          in: query
          schema:
            type: string
            format: date
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionList'
  /payments:
    post:
      operationId: initiatePayment
      summary: Initiate a payment
      description: >-
        Initiates a payment transaction from a treasury account.
      tags:
        - Payments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PaymentRequest'
      responses:
        '201':
          description: Payment initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
        '400':
          description: Bad request
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.huntington.com/oauth/token
          scopes:
            accounts:read: Read account data
            transactions:read: Read transactions
            payments:write: Initiate payments
  schemas:
    AccountList:
      type: object
      properties:
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/Account'
    Account:
      type: object
      properties:
        accountId:
          type: string
        accountType:
          type: string
        accountName:
          type: string
        currency:
          type: string
        status:
          type: string
    AccountBalance:
      type: object
      properties:
        accountId:
          type: string
        currentBalance:
          type: number
        availableBalance:
          type: number
        currency:
          type: string
        asOfDate:
          type: string
          format: date-time
    TransactionList:
      type: object
      properties:
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/Transaction'
    Transaction:
      type: object
      properties:
        transactionId:
          type: string
        date:
          type: string
          format: date-time
        description:
          type: string
        amount:
          type: number
        type:
          type: string
        balance:
          type: number
    PaymentRequest:
      type: object
      properties:
        fromAccountId:
          type: string
        toAccountId:
          type: string
        amount:
          type: number
        currency:
          type: string
        paymentDate:
          type: string
          format: date
        memo:
          type: string
    PaymentResponse:
      type: object
      properties:
        paymentId:
          type: string
        status:
          type: string
        createdAt:
          type: string
          format: date-time