Wire Inquiry

clock 3-minute read calender 1.3.6 | updated Jun. 03, 2026

Look up the status and details about a wire transaction

SummaryEndpoint
Health checkget /wireInquiry/v1/healthCheck
Search wire transferspost /wireInquiry/v1/transactions/list
View the details of a wire transfer by the transaction IDget /wireInquiry/v1/transactions/detail/{transactionId}

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Details about what is required to become an API partner with KeyBank are in the Getting started section to learn more. 

Before using any endpoint, make sure you understand the required parameters and conditions for a valid request.

Account number

When retrieving a list of wire transactions, you need a valid (16-character) accountNumber. This account number pulls all related transactions within the specified date range of the request. 

Date range

Use the fromDate and toDate in the request to specify the date range for settled transactions for the account number provided. 

The start date (fromDate) must be within 100 days of the current day. This date has to occur before the end date (toDate). The end date cannot be a future date. Date formats are in YYYY-MM-DD.

Transaction ID

If you are looking for details about a specific transaction, you must specify the transactionId in the detail request. The transactionId is the unique ID number associated with the original payment request. The maximum amount of characters for a transactionId is 100, but typically they are around 16 characters in length. 

How do I get the transaction ID? 

The transactionId is returned in the response for the List API. Use this ID returned in your detail request to return additional information about a wire transaction. 

Pennies to 1 billion

With the Wire Inquiry API, you can retrieve detailed insights into transactions of any size—from high-value wires up to $1B to penny transactions traced down to the cent. Refer to Amount0To1B for the full range of supported values and input requirements.


get /wireInquiry/v1/healthCheck

Check the health of an API service and verify you can successfully connect. A bearer token is required.

Request example

curl "https://partner-api-qv.key.com/wireInquiry/v1/healthCheck"
--header 'Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
StatusstringStatus of the health check response.
SourcestringOrigin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampstringDate (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpstringClient IP address the gateway receives from the request.
X-Forwarded-ForstringSequence of IP addresses for systems between the client and the gateway.

Response example (200)

copylink
{
    "Status": "Ok",
    "Source": "Roundtrip",
    "Timestamp": "2022-09-15T04:49:03",
    "ClientIp": "192.0.2.1",
    "X-Forwarded-For": "[192.0.2.1]"
}

post /wireInquiry/v1/transactions/list

Based on search criteria provided, get a list of wire transfers. The account number and date range are required for every request.

NAMETYPEDESCRIPTION
accountNumberrequiredstringThe bank account number. This field cannot exceed 16 characters.
fromDaterequiredstringStart date for the date range. This date can be the current day or within 180 days prior to the current date. To search for a single date, this value will be the same as the toDate. Format: YYYY-MM-DD
toDaterequiredstringEnd date for the date range. This date must be the same or later than the start date (fromDate). To search for a single date, this value will be the same as the fromDate. To search for a range of dates, make sure the date range does not exceed 31 days. Format: YYYY-MM-DD
minimumAmountoptionalstringAmount0To1B
maximumAmountoptionalstringAmount0To1B
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 32 characters.
pageNumberoptionalintegerThe number of the page being viewed. This number must be greater than or equal to 1.
pageSizeoptionalintegerThe total number of pages returned. This number must be greater than or equal to 1 and cannot exceed 1000.

Request example

copylink
{
  "accountNumber": "3123456789",
  "fromDate": "2024-02-01",
  "toDate": "2024-02-01",
  "minimumAmount": "0.01",
  "maximumAmount": "100",
  "requestReference": "1122334455",
  "pageNumber": "1",
  "pageSize": "500"
}
NAMETYPEDESCRIPTION
transactionsarrayWireListTransaction
metadataobjectPageMetadata

Response example (200)

copylink
{
  "transactions": [
    {
      "transactionId": "US99999000999999",
      "transactionStatus": "COMPLETED",
      "transactionStatusTimestamp": "2026-01-12T12:18:01",
      "transactionDate": "2026-01-12",
      "transactionAmount": 32772.63,
      "requestReference": "1122334455",
      "sendersReference": "US99999000999999",
      "creditor": {
        "name": "Global Markets LLC"
      },
      "creditorAccount": {
        "accountNumber": "987654321"
      },
      "debtor": {
        "name": "Paul Wilson"
      },
      "debtorAccount": {
        "accountNumber": "123456789"
      },
      "originator": {
        "name": "VAM TEST BANK"
      },
      "beneficiary": {
        "name": "MARKET CAPITAL"
      }
    }
  ],
  "metadata": {
    "page": {
      "pageNumber": 1,
      "pageSize": 25,
      "totalPages": 3,
      "totalRecords": 75,
      "lastPage": false
    }
  }
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (400)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "84293235-5d2c-42ba-afc3-a5d4afc5f88e27097",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/list",
    "ServiceError": {
        "metadata": {
            "messages": [
                {
                    "code": "Wire-List-400-toDate",
                    "message": "toDate format must be YYYY-MM-DD"
                }
            ]
        }
    }
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "0635f201-8fbb-418f-b93a-138d5103e2b91348",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/list"
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (403)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "84293235-5d2c-42ba-afc3-a5d4afc5f88e27097",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/list",
    "ServiceError": {
        "metadata": {
            "messages": [
                {
                    "code": "403-Forbidden",
                    "message": "Entitlements Validation Failed"
                }
            ]
        }
    }
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (408)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "84293235-5d2c-42ba-afc3-a5d4afc5f88e27097",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/list",
    "ServiceError": {
        "metadata": {
            "messages": [
                {
                    "code": "Wire-List-408-timeout",
                    "message": "The request exceeded the timeout limit.  Please adjust your request parameters and try again."
                }
            ]
        }
    }
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (500)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "84293235-5d2c-42ba-afc3-a5d4afc5f88e27097",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/list",
    "ServiceError": {
        "metadata": {
            "messages": [
                {
                    "code": "500-InternalServerError",
                    "message": "An unexpected error occurred.  Please try again later or contact support if the problem persists."
                }
            ]
        }
    }
}

get /wireInquiry/v1/transactions/detail/{transactionId}

Provide the transaction ID to retrieve all available fields for that wire transfer.

path FIELDTYPEDESCRIPTION
transactionIdrequiredstringThe unique ID number associated with the original payment request.
 
NAMETYPEDESCRIPTION
transactionIdstringThe unique ID number associated with the original payment request.
transactionStatusstringThe status of the wire transfer. Valid values: CANCELLED, COMPLETED, FAILED, IN PROCESS, IN REVIEW, RETURNED
transactionStatusTimestampstringTimestamp for the most recent status change on the transaction.
transactionDatestringDate the transfer occurred. Format: YYYY-MM-DD
transactionAmountnumberThe dollar amount of the transaction.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 32 characters.
sendersReferencestringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
creditorObjectPartyDetail
creditorAccountObjectAccountExtended
debtorObjectPartyDetail
debtorAccountObjectAccountExtended
originatorObjectPartyDetail
originatorAccountObjectAccount
beneficiaryObjectPartyDetail
beneficiaryAccountObjectAccount
ultimateCreditorObjectPartyDetail
ultimateCreditorAccountObjectAccount
ultimateDebtorObjectPartyDetail
ultimateDebtorAccountObjectAccount
remittanceInformationstringInformation that stays with a payment as it is transferred from one party to another. This field only displays if there is remittance information for the transaction. Message length cannot exceed 256 characters.
bankToBankInstructionsstringMessages or instructions shared from one bank to another. Data retrieved if part of the original wire transfer.
customDatastringA client-defined free-form text field (up to 500 alphanumeric characters) that remains associated with the transaction throughout its lifecycle in the KeyBank network.
intermediaryBank1ObjectIntermediaryBank
intermediaryBank2ObjectIntermediaryBank
intermediaryBank3ObjectIntermediaryBank
beneficiaryBankObjectBank
originatorBankObjectBank

Response example (200)

copylink
{
    "transactionId": "US99999000999999",
    "transactionStatus": "COMPLETED",
    "transactionStatusTimestamp": "2026-01-12T12:18:01",
    "transactionDate": "2026-01-12",
    "transactionAmount": 32772.63,
    "requestReference": "1122334455",
    "sendersReference": "US99999000999999",
    "remittanceInformation": "Payment 01/12/2026_Invoice 123456789 Cust",
    "bankToBankInstructions": "Final Payment",
    "customData": "USER ID 1",
    "creditor": {
        "name": "Global Markets LLC",
        "postalAddress": {
            "type": "Office",
            "department": "Financial",
            "subDepartment": "Sub financial",
            "street": "Columbus pike",
            "buildingNumber": "123",
            "postalCode": "43240",
            "city": "Columbus",
            "region": "OH",
            "countryCode": "US",
            "addressLine": "123 SIM ST,STE W123 |SIMCITY OH 12345|I/US"
        }
    },
    "creditorAccount": {
        "accountNumber": "987654321",
        "virtualAccountNumber": "95312346654532"
    },
    "debtor": {
        "name": "Paul Wilson",
        "postalAddress": {
            "type": "Office",
            "department": "Financial",
            "subDepartment": "Sub financial",
            "street": "Columbus pike",
            "buildingNumber": "123",
            "postalCode": "43240",
            "city": "Columbus",
            "region": "OH",
            "countryCode": "US",
            "addressLine": "123 SIM ST,STE W123 |SIMCITY OH 12345|I/US"
        }
    },
    "debtorAccount": {
        "accountNumber": "123456789",
        "virtualAccountNumber": "95312346654532"
    },
    "originator": {
        "name": "VAM TEST BANK NA",
        "postalAddress": {
            "type": "Office",
            "department": "Financial",
            "subDepartment": "Sub financial",
            "street": "Columbus pike",
            "buildingNumber": "123",
            "postalCode": "43240",
            "city": "Columbus",
            "region": "OH",
            "countryCode": "US",
            "addressLine": "123 SIM ST,STE W123 |SIMCITY OH 12345|I/US"
        }
    },
    "beneficiary": {
        "name": "SIM IV INC",
        "postalAddress": {
            "type": "Office",
            "department": "Mortgage",
            "subDepartment": "Housing",
            "street": "123 BNFW1 ST",
            "buildingNumber": "123",
            "postalCode": "12334",
            "city": "BNFCITY",
            "region": "OH",
            "countryCode": "US",
            "addressLine": "123 BNFW1 SIM ST,BNFW1 123 |BNFCITY OH 12334|I/US"
        }
    },
    "beneficiaryAccount": {
        "accountNumber": "9350371100"
    },
    "originatorAccount": {
        "accountNumber": "9350371111"
    },
    "ultimateCreditor": {
        "name": "ULTCR Party1",
        "postalAddress": {
            "type": "Office",
            "department": "dept",
            "subDepartment": "subDept",
            "street": "Oak Point Rd",
            "buildingNumber": "100",
            "postalCode": "12335",
            "city": "Amherst",
            "region": "NY",
            "countryCode": "US",
            "addressLine": "dept subDept 100 Oak Point Rd Amherst NY pstC44001d"
        }
    },
    "ultimateCreditorAccount": {
        "accountNumber": "1234321"
    },
    "ultimateDebtor": {
        "name": "ULTDB Party",
        "postalAddress": {
            "type": "Office",
            "department": "dept",
            "subDepartment": "subDept",
            "street": "Oak Point Rd",
            "buildingNumber": "100",
            "postalCode": "12335",
            "city": "Amherst",
            "region": "NY",
            "countryCode": "US",
            "addressLine": "dept subDept 100 Oak Point Rd Amherst NY pstC44001d"
        }
    },
    "ultimateDebtorAccount": {
        "accountNumber": "567651"
    },
    "intermediaryBank1": {
        "name": "SIMW1 BANK",
        "aba": "012345678",
        "bic": "SIMWUS01",
        "addressLine": "0123 INT2W1 ST|NEW YORK 01234 US"
    },
    "intermediaryBank2": {
        "name": "SIMWINT2 BANK",
        "aba": "112345555",
        "bic": "SIMWUS22",
        "addressLine": "0123 INT2W1 ST|NEW YORK 01235 US"
    },
    "intermediaryBank3": {
        "name": "SIMINTW3 CANADA BANK",
        "aba": "112346666",
        "bic": "SIMINT3W1",
        "addressLine": "0123 INT2W1 ST|NEW YORK 01238 US"
    },
    "beneficiaryBank": {
        "aba": "021007821",
        "bic": "SIMCRKEYBUS21"
    },
    "originatorBank": {
        "aba": "011007822",
        "bic": "SIMDBKEYBUS22"
    }
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "0635f201-8fbb-418f-b93a-138d5103e2b91348",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/detail"
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (404)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "84293235-5d2c-42ba-afc3-a5d4afc5f88e27097",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/detail/US99999000999999",
    "ServiceError": {
        "metadata": {
            "messages": [
                {
                    "code": "Wire-Detail-404-no-records",
                    "message": "Record Not Found"
                }
            ]
        }
    }
}
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError

Response example (500)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "84293235-5d2c-42ba-afc3-a5d4afc5f88e27097",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "Api-Url": "https://partner-api-qv.key.com/wireInquiry/v1/transactions/detail/US99999000999999",
    "ServiceError": {
        "metadata": {
            "messages": [
                {
                    "code": "500-InternalServerError",
                    "message": "An unexpected error occurred.  Please try again later or contact support if the problem persists."
                }
            ]
        }
    }
}
NAMETYPEDESCRIPTION
transactionIdstringThe unique ID number associated with the original payment request.
transactionStatusstringThe status of the wire transfer. Valid values: CANCELLED, COMPLETED, FAILED, IN PROCESS, IN REVIEW, RETURNED
transactionStatusTimestampstringTimestamp for the most recent status change on the transaction.
transactionDatestringDate the transfer occurred. Format: YYYY-MM-DD
transactionAmountnumberThe dollar amount of the transaction.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 32 characters.
sendersReferencestringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
creditorObjectPartyDetail
creditorAccountObjectAccountExtended
debtorObjectPartyDetail
debtorAccountObjectAccountExtended
originatorObjectPartyDetail
originatorAccountObjectAccount
beneficiaryObjectPartyDetail
beneficiaryAccountObjectAccount
ultimateCreditorObjectPartyDetail
ultimateCreditorAccountObjectAccount
ultimateDebtorObjectPartyDetail
ultimateDebtorAccountObjectAccount
remittanceInformationstringInformation that stays with a payment as it is transferred from one party to another. This field only displays if there is remittance information for the transaction. Message length cannot exceed 256 characters.
bankToBankInstructionsstringMessages or instructions shared from one bank to another. Data retrieved if part of the original wire transfer.
customDatastringA client-defined free-form text field (up to 500 alphanumeric characters) that remains associated with the transaction throughout its lifecycle in the KeyBank network.
intermediaryBank1ObjectIntermediaryBank
intermediaryBank2ObjectIntermediaryBank
intermediaryBank3ObjectIntermediaryBank
beneficiaryBankObjectBank
originatorBankObjectBank
NAMETYPEDESCRIPTION
transactionIdstringThe unique ID number associated with the original payment request
transactionStatusstringThe status of the wire transfer. Valid values: CANCELLED, COMPLETED, FAILED, IN PROCESS, IN REVIEW, RETURNED
transactionStatusTimestampstringTimestamp for the most recent status change on the transaction.
transactionDatestringDate the transfer occurred. Format: YYYY-MM-DD
transactionAmountnumberThe dollar amount of the transaction.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 32 characters.
sendersReferencestringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
creditorObjectPartySummary
creditorAccountObjectAccount
debtorObjectPartySummary
debtorAccountObjectAccount
originatorObjectPartySummary
beneficiaryObjectPartySummary
NAMETYPEDESCRIPTION
AmountasNumbernumberAmount between 0 and 1 billion.  Decimals are optional.  If present, must contain 1 or 2 digits (e.g., 2433.0, 3939.2, 100.25).
AmountasStringstringString amount may include commas. Must be 1..1,000,000,000 inclusive. Decimals are optional; if present, must be 1 or 2 digits (e.g., 2433.0, 3939.2, 100.25). Note: 1,000,000,000 may only be whole dollars or with a decimal value of .0/.00.
NAMETYPEDESCRIPTION
accountNumberstringAccount number of the party.
NAMETYPEDESCRIPTION
AccountobjectAccount
virtualAccountNumberstringAccount number for the virtual account (VAM).
NAMETYPEDESCRIPTION
namerequiredstringContains the customer name
NAMETYPEDESCRIPTION
PartySummaryobjectPartySummary
postalAddressobjectPostalAddress
NAMETYPEDESCRIPTION
typestringAddress type for the party that specifies if it is a home, business, or mailing address.
departmentstringDepartment name of the mailing address, if applicable.
subDepartmentstringSub-department of the party, if applicable.
streetstringStreet name.
buildingNumberstringBuilding or suite number.
postalCodestringThe postal code or zip code for the address.
citystringName of the town, city, or village.
regionstringName of a region in a country, like a state, county, or province.
countryCodestringTwo-character code country abbreviation.
addressLinestringAn unstructured address line within 140 characters.
NAMETYPEDESCRIPTION
BankobjectBank
namestringName.
addressLinestringAddress line
NAMETYPEDESCRIPTION
abastringAn ABA routing number is a nine-digit code used in the United States to identify specific financial institutions
bicstringBusiness Identifier Code (BIC) is an 8 to 11-character alphanumeric code that uniquely identifies a specific bank or financial institution worldwide
NAMETYPEDESCRIPTION
codestringStatic code assigned by the network or payment system.
messagestringA human-readable message associated with the code.
NAMETYPEDESCRIPTION
pageNumberintegerThe number of the page being viewed.
pageSizeintegerThe number of records per page.
totalPagesintegerThe total number of pages available.
totalRecordsintegerThe total number of transactions (records) available in the result set.
lastPagebooleanIndicates the last page of the total pages.
NAMETYPEDESCRIPTION
pageObjectPage
NAMETYPEDESCRIPTION
ErrorMessagestringA human-readable message that describes the type or source of the error.
TransactionIdstringA unique transaction ID returned with the response, useful for traceability.
X-CorrelationIdstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimestringDate and time the error occurred.
Api-UrlstringThe API URL path of the call that generated the response.
ServiceErroroneOfServiceErrorData ConnectError
NAMETYPEDESCRIPTION
metadataObjectErrorMetadata
NAMETYPEDESCRIPTION
ConnectErrorstringAPI connectivity error information, if available.
NAMETYPEDESCRIPTION
messagesoptionalarrayMessage

For more information about general errors, see Error handling. If you get stuck, check out our Troubleshooting page. 

1.3.6

June 2026 | MID Impact

  • New parameters added to support international wire transfer queries like the PostalAddress schema.
  • Broadened accepted amount values to include commas as thousand separators, decimals than cannot be more than two decimal places, and allowed amounts between 1 and 1,000,000,000.
  • Added intermediaryBank, beneficiary, and originator fields to capture additional bank identification details for participating parties.
  • Party information is more robust with PartySummary, PartyDetail, and AccountExtended objects.

1.3.5

March 2026 | MID Impact

Added transactionStatusTimestamp to both /list and /details response payloads to indicate the date and time the transaction status last changed.

1.3.4

February 2026 | MID impact

Added customData to the RtpDetailTransaction object. The custom data defined during payment initiation can now be recalled in this field for the detail endpoint.

1.3.3

January 2026 | LOW impact

Deprecated /wireInquiry/v1/transactions/details and related schemas. This is still in Production as a legacy product.

1.3.2

September 2025 | LOW impact

Added Api-Url to error responses for the endpoint - /wireInquiry/v1/transactions/details. This field shows which URL path triggered the response.

1.3.1

June 2025 | LOW impact

  • Added a new field, bankToBankInstructions, to the WireDetailTransaction object. With detail inquiry requests, if there is a message between banks, it is now returned as part of the response.
  • Clarified and corrected the descriptions for transactionStatus and remittanceInformation.

1.3.0

April 2025 | HIGH impact

  • To inquire about a wire transfer, use the two new endpoints to search for a list or by transaction ID. Added the following endpoints:
    • Added wireInquiry/v1/transactions/list
    • Added /wireInquiry/v1/transactions/detail/{transactionId}.
  • Endpoint /wireInquiry/v1/transactions/details and related schemas hidden from Developer Portal. This is still live in Production; however, we encourage you to migrate to the new and more dynamic inquiry paths.

1.2.1

May 2024 | MID impact

  • Added the requestReference parameter. In the request, enter a short note, keyword, or descriptor that you can use in the future to trace or verify the transaction. The requestReference value returns in the WireInquiryResult object.
  • Add remittanceInfo to the WireInquiryResult response body. You can enter a line of concatenated values that detail the purpose of wire or a message to the recipients.
  • Added beneficiary party information to the WireInquiryResult response body. Parameters added include: beneficiaryName, beneficiaryAccountNumber, beneficiaryCreditorPostalAddressLine1, beneficiaryCreditorPostalAddressLine2.
  • X-CorrelationId has been removed as a request header field for all endpoints. The parameter is no longer in the request body, but still remains in the code. The system assigns a unique ID when you submit a request and returns the value in the response.

1.1.5

March 2024 | LOW impact

Updated pattern format for the channelCode parameter. This field is no longer case sensitive. You can input a mix of uppercase and/or lowercase letters and still generate a successful return.

1.1.4

December 2023 | HIGH impact

  • Added channelCode (optional) parameter to WireInquiryRequest and WireInquiryResult objects.
  • Add transactionCreateDate parameter to the WireInquiryResult object.
  • Deprecated the mdmId field. Backend services and processes have been enhanced to authenticate client API calls without the need for an MDM ID.

1.1.3

September 2023 | LOW impact

  • The mdmId description has been updated to communicate that this field will soon deprecate in an upcoming release.
  • Added VAM parameters creditVirtualAccount and debitVirtualAccount to the response object, WireInquiryResult. You can now reconcile funds based on virtual account numbers.

1.1.1

July 2023 | MID impact

  • Added the customData parameter. You can append up to 500 characters of free-form text that stays with the transaction through its lifecycle.
  • Removed properties. The addition of the customData parameter rendered the properties object redundant.
  • Added the paySubType parameter on a transaction type response. You can now receive status information about a Fed Drawdown request and if it was successful (1032) or not successful (1033).
  • MDM ID (mdmId) is no longer a required parameter, it is now optional.

1.1.0

May 2023 | MID impact

  • Changed parameter fromEnteredDate to fromDate.
  • Changed toEnteredDate to toDate.
  • Modified the format for the date parameters to match with KeyBank API standard date format of YYYY-MM-DD.
  • The optional source parameter has been deprecated and removed.

1.0.0

December 2022

Released on the Developer Portal.

Impact levels

  • LOW: This is a minor change or enhancement that does not alter the operations of the API. Upgrading to the latest specifications is preferable but not required.
  • MID: The previous API version is valid and operates, but does not contain latest enhancements. You need to update your specifications to get these enhancements.
  • HIGH: The previous API version is no longer operable. You must upgrade to the latest specifications to access and use this API product.

YAML file download