Western Alliance Bank Intrabank Transfer API

Initiates an intra-bank transfer between two Western Alliance Bank accounts and searches intra-bank transfers as originator or beneficiary. The transfer returns a Payment Message Reference that is the universal identifier for the payment across the Intrabank Search, Intraday, Prior Day and Date Range APIs and the webhook. Family: Transactional APIs on the WAB API Developer Portal; 2 operations captured.

Operations 1

POST /trnsct-ibt-eapi/api/v1/transactions/intraBankTransfer Initiate an intra-bank transfer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/western-alliance-bancorporation:western-alliance-bancorporation-intrabank-transfer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

western-alliance-bancorporation-intrabank-transfer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Western Alliance Bank Intrabank Transfer API
  version: v1-v2
  description: 'Initiates an intra-bank transfer between two Western Alliance Bank accounts and searches

    intra-bank transfers as originator or beneficiary.'
  contact:
    name: Western Alliance Bank API Developer Portal
    url: https://developer.westernalliancebank.com/s/
  termsOfService: https://www.westernalliancebancorporation.com/sites/default/files/2025-05/api-services-terms-conditions.pdf
  x-family: Transactional
  x-generated-from: documentation
  x-source: https://developer.westernalliancebank.com/sfsites/c/cms/delivery/media/MC2GPNZ5A6AFBB7FPCQ6YISYCQY4
  x-source-page: https://developer.westernalliancebank.com/s/cms-document/user-guide-wab-intrabank-transfer-api-MC2GPNZ5A6AFBB7FPCQ6YISYCQY4
  x-provenance:
    generated: '2026-09-17'
    method: derived
    source: postman/western-alliance-bancorporation-intrabank-transfer-api-user-guide.pdf
    note: Hand transcription of the provider's user guide; the guide documents endpoints, request/response JSON and an error index but no full schema, so field types are inferred from the sample values only.
servers:
- url: https://api-connect.westernalliancebank.com
  description: Production (the host used in every cURL sample in the guide)
- url: https://api-connect.westernalliancebanktest.com
  description: Client UAT environment (API Services Terms 6(b) - all data must be fake / masked test data)
security:
- bearerToken: []
tags:
- name: Intrabank Transfer
  description: Initiate an intra-bank transfer. "Accepted" means the request was formatted correctly, not that funds have posted.
paths:
  /trnsct-ibt-eapi/api/v1/transactions/intraBankTransfer:
    post:
      operationId: initiateIntraBankTransfer
      summary: Initiate an intra-bank transfer
      description: 'Submits a transfer from the originating account to the beneficiary account. Capture the

        PaymentMessageReference and PaymentId from the response; they are the identifiers used to

        trace the payment in the webhook and the Intraday, Prior Day, Date Range and Search APIs.

        The response "Accepted" (StatusCode W02) confirms format validation only. A resubmitted

        PaymentId is rejected as a duplicate (409).'
      tags:
      - Intrabank Transfer
      parameters:
      - $ref: '#/components/parameters/XCorrelationId'
      - name: appClientId
        in: header
        required: true
        schema:
          type: string
        description: Client ID assigned by WAB at enrollment (shown alongside the bearer token in the guide's sample).
      - name: appClientSecret
        in: header
        required: true
        schema:
          type: string
        description: Client Secret known only to the client and the WAB API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntraBankTransferRequest'
            example:
              SystemIdentifier: ECG
              PaymentId: 09232025124
              ProcessingDate: '20250923'
              Amount: '0124'
              Currency: USD
              OriginatorAccountId: '1212121212'
              BeneficiaryAccountId: '1313131313'
              BeneficiaryName: Internal Account
              RemittanceInformation: TestTransaction
      responses:
        '200':
          description: Transfer accepted for processing (not final - funds have not necessarily posted).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntraBankTransferResponse'
              examples:
                accepted:
                  summary: Accepted (W02)
                  value:
                    Status: Accepted
                    StatusCode: W02
                    StatusMessage: Intrabank transfer is accepted
                    PaymentId: 09232025124
                    PaymentMessageReference: '526605645490'
                rejectedInvalidDebitAccount:
                  summary: Rejected (W21) - returned in the same envelope
                  value:
                    Status: Rejected
                    StatusCode: W21
                    StatusMessage: Intrabank transfer is rejected due to invalid debit account
                    PaymentId: 2025UATTEST3
                    PaymentMessageReference: ''
        '400':
          description: Rejected - invalid processing date, or the transfer was cancelled while in processing (resubmit with a new PaymentId).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              examples:
                invalidProcessingDate:
                  value:
                    errors:
                    - code: 400
                      message: Rejected
                      additionalInfo: Processing Date is Invalid
                cancelledWhileProcessing:
                  value:
                    errors:
                    - code: 400
                      message: Rejected
                      additionalInfo: Intrabank transfer is rejected due to Cancelled while in Processing. Please resubmit with new PaymentId
        '403':
          description: Not authorized for Intra Bank transaction on the supplied account / system identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                errors:
                - code: 403
                  message: Not authorized for Intra Bank transaction
                  additionalInfo: Please pass valid account details and/or system identifier
        '409':
          description: Duplicate - an intrabank transfer request with this PaymentId already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
              example:
                errors:
                - code: 409
                  message: Duplicate
                  additionalInfo: Intrabank transfer request already exists
components:
  schemas:
    ErrorEnvelope:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: integer
              message:
                type: string
              additionalInfo:
                type: string
    IntraBankTransferResponse:
      type: object
      properties:
        Status:
          type: string
          description: Accepted or Rejected.
        StatusCode:
          type: string
          description: W02 = accepted; W21 = rejected due to invalid debit account (codes shown in the guide).
        StatusMessage:
          type: string
        PaymentId:
          type: string
        PaymentMessageReference:
          type: string
          description: System-generated reference; the primary key for matching the transfer in every other API and the webhook.
    IntraBankTransferRequest:
      type: object
      required:
      - SystemIdentifier
      - PaymentId
      - ProcessingDate
      - Amount
      - Currency
      - OriginatorAccountId
      - BeneficiaryAccountId
      properties:
        SystemIdentifier:
          type: string
          description: Client system identifier agreed at enrollment (samples use ECG and GEM).
        PaymentId:
          type: string
          description: Client-assigned unique payment reference; echoed back and used for duplicate detection.
        ProcessingDate:
          type: string
          description: Processing date, yyyyMMdd (e.g. 20250923).
        Amount:
          type: string
          description: Amount in cents as a zero-padded string (0124 = $1.24).
        Currency:
          type: string
          example: USD
        OriginatorAccountId:
          type: string
          description: Account number sending the payment.
        BeneficiaryAccountId:
          type: string
          description: Account number receiving the payment.
        BeneficiaryName:
          type: string
        RemittanceInformation:
          type: string
  parameters:
    XCorrelationId:
      name: X-Correlation-Id
      in: header
      required: true
      schema:
        type: string
        format: uuid
      description: Client-generated GUID used to correlate the request across WAB systems.
  securitySchemes:
    bearerToken:
      type: http
      scheme: bearer
      description: Bearer token from GET /entitlements-get-token-eapi/api/v1/token (Token API); the guide labels it "IBT Token". Tokens are valid for a limited period (API Services Terms 6(c)(iii)).