Wire Inquiry

11-minute read 1.1.3 | updated Sep. 26, 2023

Use the Wire Inquiry API to get wire transaction details and its status.

All KeyBank APIs require certificates, user credentials, and certain permissions. Before you begin, see Key concepts to learn more about these fundamental elements as well as other recommended best practices.

Custom data fields

Responses to inquiries about wire transactions include the customData defined in the original request. Custom data is client-specific metadata that you can use to append certain information or use as an identifier for filtering certain types of transactions. The customData field returns any custom fields that were part of the payment request stored for recall after a successful Wire transaction completes. The request uses the traceId to retrieve the custom data. The custom data included in the request remains with the transaction and is not stored in any KeyBank database.

Summary Endpoint
Get wire transaction details post /wireInquiry/v1/transactions/details

post /wireInquiry/v1/transactions/details

Get the details about a wire transaction and its status. Wire transaction data can be recalled from the previous 24 months. When setting the date range (fromDate and toDate), the date range specified cannot exceed more than one year.

header FIELDTYPEDESCRIPTION
X-CorrelationIdoptionalstringA universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
BODY FIELDTYPEDESCRIPTION
getWireInquiryRequestrequiredObjectgetWireInquiryRequest

Request example

{
    "getWireInquiryRequest": {
        "accountNumber": [
            "123456789"
        ],
        "transactionType": null,
        "paymentStatus": null,
        "fromDate": 1669852800,
        "toDate": 1669852800,
        "fromTransmitDate": null,
        "toTransmitDate": null,
        "fromAmount": null,
        "toAmount": null,
        "traceID": null,
        "keyBankTransactionReference": null,
        "sourceChannel": null,
        "mdmId": null,
        "startRowIndex": "1",
        "endRowIndex": "1000"
    }
}
NAMETYPEDESCRIPTION
getWireInquiryResponserequiredObjectgetWireInquiryResponse

Response example (200)

{
    "getWireInquiryResponse": {
        "responseHeader": {
            "status": "Success",
            "statusDescription": "Successfully returned results for the requested range 1 to 1",
            "retreivedRows": "1",
            "totalRows": "1"
        },
        "WireInquiryResult": [
            {
                "amount": "6400",
                "debitCurrencyCode": "USD",
                "transactionType": "INBOUND FED PAYMENT",
                "creditAccountNumber": "987654321",
                "wireEventName": "PaymentWaitForOFCResponse",
                "clearingBankNumber": "21300077",
                "creditAccountBankBranch": "US",
                "creditAccountCurrencyCode": "USD",
                "creditAccountCustomerNumber": "987654321",
                "creditAccountCustomerName": "TEST COMPANY 1, LLC",
                "creditAccountCountry": "US",
                "creditAccountCustomerType": "CORP",
                "wireTransactionDirection": "INBOUND",
                "transactionValueIdentifier": "HVC",
                "creditTransactionCurrency": "USD",
                "settlementPaymentType": "CRD",
                "incomingReferenceNumber": "INVC0012345",
                "paymentEventType": "CRD",
                "sendingBankReferenceNumber": "KTT00049210303842R",
                "initiatingPartyName": "TEST BANK, USA",
                "initiatingPartyPostalAddressLine1": "127 Public Sq, Cleveland",
                "initiatingPartyPostalAddressLine2": "OH 44114",
                "initiatingParty2Name": "TEST COMPANY 2, LLC",
                "initiatingParty2AccountNumber": "123456789",
                "initiatingParty2PostalAddressLine1": "726 Exchange Street,Suite 900,",
                "initiatingParty2PostalAddressLine2": "Buffalo, NY 14210",
                "transactionDetailDocument": "Receivers Reference Information",
                "traceID": "01239240303842R",
                "keybankTransactionReference": "US2201100012345",
                "transmittedDate": "2022-01-10T00:00:00.000-0500",
                "federalClearingReferenceNumber": "20220110B1QDRCQR012345",
                "enteredDate": "2022-01-10T11:38:05.000-0500",
                "creditorAgentBankName": "KeyBank National Association",
                "creditorAgentBankPostalAddressLine1": "250 Delaware Ave Ste",
                "creditorAgentBankPostalAddressLine2": "Buffalo,NY 14202",
                "beneficiaryName": "TEST COMPANY 1, LLC",
                "beneficiaryAccountNumber": "987654321",
                "beneficiaryCreditorPostalAddressLine1": "726 Exchange Street,Suite 900,",
                "beneficiaryCreditorPostalAddressLine2": "Buffalo, NY 14210",
                "sourceChannel": "FRB INITIATED",
                "paymentStatus": "Active",
                "transactionBusinessStatusCode": "Regulatory Filter"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (400)

{
    "ErrorMessage": "Please make sure your request is correct and try again.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (401)

{
    "ErrorMessage": "Please make sure you're using the correct credentials. Then log in again.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (403)

{
    "ErrorMessage": "You don't have access to this resource. Contact your KeyBank Client Success Manager or email developers@keybank.com for help with a resolution.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (404)

{
    "ErrorMessage": "We can't seem to find what you're looking for. Please verify the resource and try again.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (405)

{
    "ErrorMessage": "Looks like something went wrong. Please check your request method and try again.\"",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (415)

{
    "ErrorMessage": "We currently don't support that format. Please check the format type defined in your request and try again. If you experience more issues, contact your KeyBank Client Success Manager or email developers@keybank.com for help with a resolution.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (429)

{
    "ErrorMessage": "Looks like you've sent too many requests. Please wait a moment and try again later.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (500)

{
    "ErrorMessage": "Looks like something went wrong. Please try again when you're ready. If you experience more issues, contact your KeyBank Client Success Manager or email developers@keybank.com for help with a resolution.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

{
    "ErrorMessage": "Looks like something went wrong. Please try again when you're ready. If you experience more issues, contact your KeyBank Client Success Manager or email developers@keybank.com for help with a resolution. ",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "ServiceError": {
        "ConnectError": "A connectivity error occurred with the downstream service(unexpected end of file at the target). Please check with your KeyBank Client Success Manager or email developers@keybank.com before trying the request again."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (503)

{
    "ErrorMessage": "Looks like something went wrong. Please try again later. If you experience more issues, contact your KeyBank Client Success Manager or email developers@keybank.com for help with a resolution.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "This service is currently unavailable(there are no active targets). Please check with your KeyBank Client Success Manager or email developers@keybank.com before trying the request again."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (504)

{
    "ErrorMessage": "Your request took too long to process. Please try again. If you experience more issues, contact your KeyBank Client Success Manager or email developers@keybank.com for help with a resolution.",
    "TransactionId": "rrt-770941720727587-2383364-1",
    "X-CorrelationId": "2ebd0e8d5a70-e91",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "The request could not be processed on time (gateway timeout). Please wait a moment and try again later."
    }
}
NAMETYPEDESCRIPTION
errorCodeoptionalstringBusiness error code
errorDescriptionoptionalstringA human-readable message that describes the type or source of the business error.
NAMETYPEDESCRIPTION
ConnectErroroptionalstringAPI connectivity error information, if available.
NAMETYPEDESCRIPTION
businessFaultoptionalarraybusinessFault
systemFaultoptionalarraysystemFault
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringA human-readable message that describes the type or source of the error.
TransactionIdoptionalstringA unique transaction ID returned with the response, useful for traceability.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError
NAMETYPEDESCRIPTION
accountNumberrequiredarrayOne or more bank account numbers. To look up multiple accounts, separate the account numbers with a comma. This field cannot exceed 16 characters.
transactionTypeoptionalarrayIndicates the type of transaction. Valid values: INBOUND FED PAYMENT, OUTBOUND SWIFT PAYMENT, OUTBOUND FED PAYMENT, INBOUND SWIFT PAYMENT, INTERNAL, OTHER
paymentStatusoptionalarrayIndicates the status of payment. Valid values: Active, Returned, Cancelled, Success, PendingUserAction
fromDaterequiredstringThe starting date range for the originating wire transactions returned. The date must be less than or equal to the current date. Transaction data can be recalled from the previous 24 months. Date range cannot exceed more than one year. Format: YYYY-MM-DD
toDaterequiredstringThe ending date range for the originating wire transactions returned. The date must be be less than or equal to the current date. Transaction data can be recalled from the previous 24 months. Date range cannot exceed more than one year. Format: YYYY-MM-DD
fromTransmitDateoptionalstringThe starting date range for transmitted or settled wire transactions that are returned. The date must be less than or equal to the current date. Transaction data can be recalled from the previous 24 months. Date range cannot exceed more than one year. Format: YYYY-MM-DD
toTransmitDateoptionalstringThe ending date range for transmitted or settled wire transactions that are returned. Should be less than or equal to the current date. Transaction data can be recalled from the previous 24 months. Date range cannot exceed more than one year. Format: YYYY-MM-DD
fromAmountoptionalstringTransaction amount lower limit value to be searched.
toAmountoptionalstringTransaction amount upper limit value to be searched.
traceIDoptionalstringSource transaction identifier for a specific transaction.
keyBankTransactionReferenceoptionalstringUnique wire transaction identifier created by KeyBank.
sourceChanneloptionalarraySource channel that created the given transaction. Denotes where the request is from within a KeyBank application or through API.
mdmIdoptionalstringThe MDM ID will soon deprecate. This is an ID number that can associate with a single account or many accounts for verification and data retrieval.
startRowIndexoptionalstringPagination parameter that indicates the starting count available for the records. If this parameter is not provided, value will default to 1.
endRowIndexoptionalstringPagination parameter that indicates the last count available for the records. If this parameter is not provided, value will default to 1000. The request can't exceed more than 1000 records from the startRowIndex.
NAMETYPEDESCRIPTION
responseHeaderrequiredObjectresponseHeader
WireInquiryResultoptionalarraygetWireInquiryResult
errorResponseoptionalObjecterrorResponse
NAMETYPEDESCRIPTION
amountoptionalstringTransaction amount
debitCurrencyCodeoptionalstringDebit currency code
transactionTypeoptionalstringIndicates the type of transaction. Valid values: INBOUND FED PAYMENT, OUTBOUND SWIFT PAYMENT, OUTBOUND FED PAYMENT, INBOUND SWIFT PAYMENT, INTERNAL, OTHER
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
wireEventNameoptionalstringPayment status code
clearingBankNumberoptionalstringBank number of the clearing bank.
creditAccountBankBranchoptionalstringBank branch holding the credit account.
creditAccountCurrencyCodeoptionalstringTransaction currency code of the credit account.
creditAccountCustomerNumberoptionalstringCustomer number associated with the credit account.
creditAccountCustomerNameoptionalstringCustomer name associated with the credit account.
creditAccountCountryoptionalstringCountry of the credit account.
creditAccountCustomerTypeoptionalstringCustomer type associated with the credit account.
debitAccountTypeoptionalstringDebit account type
debitAccountBankNumberoptionalstringBank number holding the debit account.
debitAccountBankBranchoptionalstringBank branch holding the debit account.
debitAccountCurrencyCodeoptionalstringTransaction currency code associated with the debit account.
debitAccountCustomerNumberoptionalstringCustomer number associated with the debit account.
debitAccountCustomerNameoptionalstringCustomer name associated with the debit account.
cancelCommentoptionalstringMessage provided by the operator who canceled a transaction.
wireTransactionDirectionoptionalstringIndicates the direction of the transaction. Valid values: UNKNOWN, INBOUND, OUTBOUND, BOOK
transactionValueIdentifieroptionalstringIndicates the value of the transaction. Valid values: HVC, HVB, LVC
paymentClearingStateoptionalstringPayment clearing status of the wire transaction.
creditTransactionCurrencyoptionalstringCurrency of the amount credited.
settlementPaymentTypeoptionalstringThe mechanism or method by which settlement occurs.
incomingReferenceNumberoptionalstringThe incoming reference number, which is provided by the sending bank.
executionDateoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction is executed.
paymentEventTypeoptionalstringPayment type of PEN message.
transactionTypeCodeoptionalstringType of wire transaction code.
sendingBankReferenceNumberoptionalstringReference number issued by the sending bank.
bankToBankMemooptionalstringFree-form text transmitted between the banks.
initiatingPartyNameoptionalstringInitiating party name
initiatingPartyAccountNumberoptionalstringInitiating party account number
initiatingPartyPostalAddressLine1optionalstringInitiating party address line 1
initiatingPartyPostalAddressLine2optionalstringInitiating party address line 2
initiatingParty2NameoptionalstringInitiating party 2 name
initiatingParty2AccountNumberoptionalstringInitiating party 2 account number
initiatingParty2PostalAddressLine1optionalstringInitiating party 2 address line 1
initiatingParty2PostalAddressLine2optionalstringInitiating party 2 address line 2
transactionDetailDocumentoptionalstringDetail document or related reference
traceIDoptionalstringSource transaction identifier
keybankTransactionReferenceoptionalstringUnique wire transaction identifier created by KeyBank.
transmittedDateoptionalstringTransaction settled date
federalClearingReferenceNumberoptionalstringFederal reference number
exchangeRateoptionalstringExchange rate
enteredDateoptionalstringEntered date
creditorAgentBankNameoptionalstringCreditor agent bank name
creditorAgentBankABAoptionalstringCreditor agent bank ABA
creditorAgentBICoptionalstringCreditor agent BIC (business identifier code)
creditorAgentBankPostalAddressLine1optionalstringCreditor agent bank postal address line 1
creditorAgentBankPostalAddressLine2optionalstringCreditor agent bank postal address line 2
beneficiaryNameoptionalstringBeneficiary name
beneficiaryAccountNumberoptionalstringBeneficiary account number
beneficiaryCreditorPostalAddressLine1optionalstringBeneficiary postal address line 1
beneficiaryCreditorPostalAddressLine2optionalstringBeneficiary postal address line 2
sourceChanneloptionalstringSource channel that created the given transaction. Denotes where the request is from within a KeyBank application or through API.
paymentStatusoptionalstringIndicates the status of payment. Valid values: Active, Returned, Cancelled, Success, PendingUserAction
transactionBusinessStatusCodeoptionalstringTransaction business status code
paySubTypeoptionalstringA four-digit code that identifies the type of the wire transaction and if it is a drawdown request (1031), drawdown funds (1032) or drawdown refusal (1033). Valid values: 1031, 1032, 1033
sourceSubTypeoptionalstringThree-character code that defines the source of the paySubType.
correlationIdoptionalstringA universal ID to trace the transaction.
channelCodeoptionalstringThree-character code for the wire channel.
channelModeoptionalstringThe mode of the wire transfer.
relatedReferenceIdoptionalstringReference identification for the wire transaction.
creditVirtualAccountoptionalstringThe VAM credit account number. VAM account numbers are 15 digits and start with 953.
debitVirtualAccountoptionalstringThe VAM debit account number. VAM account numbers are 15 digits and start with 953.
customDataoptionalstringThe values for custom data is defined by the client. This free-form text field can contain up to 500 alphanumeric characters. Custom information stays with the transaction through its lifecycle.
NAMETYPEDESCRIPTION
statusrequiredstringIndicates whether the result was successfully retrieved.
statusDescriptionrequiredstringDescription of the status
retreivedRowsoptionalstringTotal number of transactions retrieved
totalRowsoptionalstringTotal number of transactions matching the requested criteria
NAMETYPEDESCRIPTION
getWireInquiryResponseoptionalObjectgetWireInquiryResponse
NAMETYPEDESCRIPTION
errorCodeoptionalstringSystem error code
errorDescriptionoptionalstringA human-readable message that describes the type or source of the system error.
NAMETYPEDESCRIPTION
getWireInquiryRequestrequiredObjectgetWireInquiryRequest
NAMETYPEDESCRIPTION
getWireInquiryResponserequiredObjectgetWireInquiryResponse

For more information about errors, see Error handling.

Standard errors use the typical HTTP status codes. Messages specific to KeyBank have an asterisk (*) after the message code number. The ServiceError or errorResponse object with additional information specific to the API.

KeyBank error codes start with ECA-W with a three-digit number that follows. The number increases by one digit for each error message. If you have an issue with your request that generates two error messages specific to the API, the codes will be ECA-W-001 and ECA-W-002.

HTTP STATUS CODE CUSTOM STATUS CODE DESCRIPTION
200* S Transaction not found.

The request was received, but there is no result for the requested criteria.

299* W Request processing completed with warnings.

This message occurs when multiple request parameters are provided, and some of the data are not available as part of response.

400* ECA-W-001F Request Validation failed.

There is missing mandatory information like accountNumber, fromDate, or toDate. Review values for mandatory request fields.

400* ECA-W-001F Requested records range is greater than the allowed limit - 1000

Response goes beyond 1000 transactions for the requested account. Change the request criteria to help limit returned transactions to the allowed amount.


YAML file