Data values

clock 8-minute read calender 3.1.0 | updated Aug. 07, 2024

Decrypting and decoding API parameters

There are fields present across KeyBank APIs, in both request and response objects, that have predefined values. Some of these values are specific to KeyBank and others are industry-standard values. The purpose of this page is to catalog as many of these data values as possible and provide definitions for their usage within our APIs.

Each data value definition contains a brief description, the specific fields and APIs where the data value can be found, and a tabular listing of possible values and what these values mean.

Data valuesField namesApplicable APIsDescription
Addenda type codesaddendaTypeCodeACH Origination, ACH InquiryA two-digit code that defines the specific interpretation and format for the addenda information contained in the addenda record.
BAI codesbaiCode, amountTypeCode, derivedBaiCode,transactionCodeBAI2ACH Inquiry, Intraday Reporting, Previous Day ReportingA BAI (Bank Administration Institute) code is a three-digit code identifying a banking transaction and are divided into balance codes and transaction codes.
Change codeschangeCode, nocChangeCodeACH Inquiry, Webhooks (ACH alerts)In the case of a Notification of Change (NOC), this is a three-character code beginning with the letter 'C' that indicates the information being changed.
Foreign bank type codesforeignBankSystemTypeWire Transfer, RTP Send PaymentFive-character global routing/clearing codes for payments in foreign countries.
ID type codesidTypeAccount ValidationOne-character code that indicates the type of ID used to verify account ownership.
Pay subtype codespaySubTypeWire InquiryA four-digit code that corresponds to a particular wire drawdown scenario.
Return reason codesreturnReasonCode, retReturnReasonCodeACH Inquiry, Webhooks (ACH alerts)In the case of a returned ACH payment, this is a three-character code beginning with the letter 'R' that identify a reason an ACH payment was returned.
Transaction codestransactionCode, retTranCode, tranCodeACH Inquiry, ACH Origination, Intraday Reporting, Webhooks (ACH alerts)A two-digit code identifying various types of debit and credit entries.
Wire and RTP alert statusestransBusnStatusCodeWebhooks (Wire/RTP alerts)The intermittent or final statuses possible for Wire and RTP webhook alerts.

A two-digit code that defines the specific interpretation and format for the addenda information contained in the addenda record.

Addenda type codes can be found in the following fields:

CodeDescription
02Point of Sale Entry (POS), Shared Network Transaction (SHR), or Machine Transfer Entry (MTE)
05Corporate Credit or Debit (CCD), Customer Initiated Entries (CIE), Corporate Trade Exchange (CTX), Prearranged Payment and Deposit (PPD), Internet Initiated/Mobile Entries (WEB)
10-161st-7th addenda records for International ACH Transaction (IAT)
17IAT Remittance Information addenda record
18IAT Foreign Correspondent Bank addenda record
98Used for Notification of Change (NOC) entries
99Used for Return entries

A BAI (Bank Administration Institute) code is a three-digit code identifying a banking transaction and are divided into balance codes and transaction codes.

BAI codes can be found in the following fields:

Balance codes

CodeDescription
010Opening Ledger
015Closing Ledger
040Opening Available
045Closing Available
072One Day Float
074Two or More Day Float
100Total Credits
109Current Day Total Lockbox Deposits
111Lockbox Deposit - Zero Day Float
112Lockbox Deposit - One Day Float
113Lockbox Deposit - Two Day Float
115Lockbox Deposit
140Total ACH Credits
190Total Incoming Money Transfers
400Total Debits
450Total ACH Debits
490Total Outgoing Money Transfers
580Total Controlled Disbursement Debits
584Total Disbursements Late Amount
585Disbursing Funding Requirement
602Total CDA Adjustments

Transaction codes

CodeDescription
158Real Time Payment Credit
165Pre-authorized ACH Credit
171Individual Loan Deposit
172Deposit Correction
195Incoming Money Transfer
201Individual Automatic Transfer Credit
206Book Transfer Credit
213Letter of Credit
214Foreign Exchange Credit
229Miscellaneous International Credit
237Individual Collection Credit
238Collection of Dividends
244Interest / Matured Principle Payment
252Debit Reversal
258ACH Reversal Credit
275ZBA Credit
295ATM Credit
301Commercial Deposit
306Fed Funds Sold
351Individual Investment Sold
354Interest Credit
357Credit Adjustment
359Interest Adjustment Credit
395Check Reversal
398Miscellaneous Fee Refund
399Miscellaneous Credit
451ACH Debit Received
455Pre-authorized ACH Debit
458Real Time Payment Debit
475Check Paid
481Individual Loan Payment
495Outgoing Money Transfer
501Individual Automatic Transfer Debit
506Book Transfer Debit
512Letter of Credit Debit
513Letter of Credit
514Foreign Exchange Debit
529Miscellaneous International Debit
544Interest / Matured Principle Payment
552Credit Reversal
555Deposited Item Returned
558ACH Reversal Debit
564Overdraft Fee
567Return Item Fee
575ZBA Debit
595ATM Debit
627Fed Funds Purchased
631Debit Adjustment
651Individual Investment Purchased
654Interest Debit
659Interest Adjustment Debit
661Account Analysis Fee
666Currency and Coin Shipped
690Miscellaneous Debit
694Deposit Reversal
695Deposit Correction Debit
698Miscellaneous Fees
699Miscellaneous Debit
760Commercial Loan Debit

In the case of a Notification of Change (NOC), this is a three-character code beginning with the letter 'C' that indicates the information being changed.

Change codes can be found in the following fields:

CodeDescription
C01Incorrect bank account number
C02Incorrect transit/routing number
C03Incorrect transit/routing number and bank account number
C04Bank account name change
C05Incorrect transaction code
C06Incorrect bank account number and transaction code
C07Incorrect transit/routing number, bank account number, and transaction code
C08Incorrect Receiving DFI Identification (IAT only)
C09Incorrect individual identification
C10Incorrect company name
C11Incorrect company identification
C12Incorrect company name and identification
C13Addenda format error

Five-character global routing/clearing codes for payments in foreign countries.

Foreign bank type codes can be found in the following field:

CodeDescription
ATBLZAustria
AUBSBAustralia
CACPACanada
CHSICSwitzerland
DEBLZGermany
ESNCCSpain
GBDSCGreat Britain
HKNCCHong Kong
IENCCIreland
INFSCIndia
ITNCCItaly
NZNCCNew Zealand
PTNCCPortugal
USABAUS FedWire
ZANCCSouth Africa

The idType indicated the type of identification used to verify the identification of an account owner.

ID type codes can be found in the Account Validation API.

CodeIdentification type
0Driver's license (USA)
1Military (USA)
2Passport
3Resident alien ID
4State identification
5Student identification
6Driver's license (intercontinental)
7Driver's license (Canada)
8Driver's license (Mexico)
9Other primary ID (intercontinental)
AMatricula Consular card
BSouth America Cedula No.

A four-digit code that corresponds to a particular wire drawdown scenario.

Pay subtype codes can be found in the following field:

CodeDescription
1031Request for customer drawdown
1032Transfer honoring customer drawdown request
1033Refusal of customer drawdown request
1631Request for bank-to-bank drawdown
1632Transfer honoring bank-to-bank drawdown request
1633Refusal of bank-to-bank drawdown request

In the case of a returned ACH payment, this is a three-character code beginning with the letter 'R' that identify a reason an ACH payment was returned.

Return reason codes can be found in the following fields:

CodeDescription
R01Insufficient funds - The available and/or cash reserve balance is not sufficient to cover the dollar value of the debit entry.
R02Account closed – A previously active account has been closed by action of the customer or the RDFI.
R03No account/unable to locate account – The account number structure is valid and it passes the check digit validation, but the account number does not correspond to the individual identified in the entry, or the account number designated is not an existing account.
R04Invalid account number structure – The account number structure is not valid.
R05Unauthorized debit to consumer account using corporate SEC code – CCD or CTX debit entry was transmitted to a Consumer Account of the receiver and was not authorized by the receiver.
R06Returned per ODFI’s request – The ODFI has requested that the RDFI return an erroneous entry.
R07Authorization revoked by customer – The RDFI’s customer (the receiver) revoked the authorization previously provided to the originator for this debit entry.
R08Payment stopped – The receiver has placed a stop payment order on this debit entry.
R09Uncollected funds – A sufficient ledger balance exists to satisfy the dollar value of the transaction, but the available balance is below the dollar value of the debit entry.
R10Customer advises unauthorized, improper, ineligible, or part of an incomplete transaction – The RDFI has been notified by the receiver that the entry is unauthorized, improper, ineligible, or part of an Incomplete Transaction.

A two-digit code identifying various types of debit and credit entries.

Transaction codes can be found in the following fields:

DDA credits

CodeDescription
20Reserved
21Return or Notification of Change for original transaction code 22, 23, or 24
22Demand credit (checking deposit)
23Prenotification for a demand credit; death notification (non-dollar); automated enrollment entry (non-dollar)
24Zero dollar with remittance data (for CCD, CTX, and IAT entries); acknowledgement entries (ACK and ATX entries)

DDA debits

CodeDescription
25Reserved
26Return or Notification of Change for original transaction code 27, 28, or 29
27Demand debit (checking withdrawal)
28Prenotification for a demand debit (non-dollar)
29Zero dollar with remittance data (for CCD, CTX, and IAT entries)

Savings credits

CodeDescription
30Reserved
31Return or Notification of Change for original transaction code 32, 33, or 34
32Savings credit (savings deposit)
33Prenotification for a savings credit; death notification (non-dollar); automated enrollment entry (non-dollar)
34Zero dollar with remittance data (for CCD, CTX, and IAT entries); acknowledgement entries (ACK and ATX entries)

Savings debits

CodeDescription
35Reserved
36Return or Notification of Change for original transaction code 37, 38, or 39
37Savings debit (savings withdrawal)
38Prenotification for a savings debit (non-dollar)
39Zero dollar with remittance data (for CCD, CTX, and IAT entries)

Loan credits

CodeDescription
51Return or Notification of Change for original transaction code 52, 53, or 54
52Loan account credit
53Prenotification for a loan account credit
54Zero dollar with remittance data (for CCD, CTX, and IAT entries)

Loan debits

CodeDescription
55Loan account debit (reversals only)
56Return or Notification of Change for original transaction code 55

Review the tranBusnStatusCode in the alertBody object in Webhooks. The status value identifies the payment event in an intermittent (payment under processing), final (completed payment processed), and success (payment successfully completed) status.

StatusDescriptionInterim StatusFinal StatusSuccess
Pre QualifyingPayment is being evaluated for errors by the Network.X  
Funds ReleasePayment is waiting for OLDS memo post response.X  
PaymentNotificationPayment stopped pending manual release for various reasons.X  
RepairPayment needs correction before it continues processing.X  
Duplicate ContentPayment matches criteria of another payment. Requires action to process further.X  
Regulatory FilterPayment is waiting for response from Fraud or OFAC check.X  
ClearingPayment is waiting for a response from the Payment Network.X  
Product SelectionEPP determines the product for the payment that drives which steps in the workflow will execute.X  
Limit checkChecks EPP for any applicable account or customer limits.X  
AdvisingMost of our customer advising is done outside of EPP, but this could be performing payment network advising of some sort as well.X  
PricingBilling codes and/or network channel fees are applied to the paymentX  
Held Requiring CoverThis payment requires an Operator to clear it out of the Direct and Cover Matching-in Payment Intervention.X  
Internal FilterScans EPP filters for alternate or special processing of the paymentX  
Future WarehouseThe payment is moved to a future business date because it missed the payment network cutoff time. When that future business date arrives and the payment network opens for business, the payment will re-enter the workflow to ultimately reach a FINAL status.X  
CancelledPayment was cancelled. X 
ReturnedPayment was returned by receiving bank. X 
FatalA serious error has occurred. Payment will not complete workflow. X 
RejectedPayment was rejected by Network. Payment will not complete workflow. X 
Future Warehouse CancelledPayment was cancelled from Future Warehouse Queue. X 
AbandonedPayment was manually forced to not complete in EPP. X 
CompletedPayment processed successfully through workflow.  X

clock 31-minute read calender 4.0 | updated Sep. 15, 2024

Tips and tricks to leverage the suite of ACH API’s quickly and efficiently

Key takeaways

TL;DR so here are the hits:

  • Use our ACH Origination API to make or collect authorized payments. You can also inquire on the transactions before they are officially submitted for processing.
  • Sometimes we make mistakes. With ACH you can undo a payment typically within a period of 10 minutes from origination.
  • Inquiring minds want to know? Monitor and report on ACH transactions at any point in the payment process.
  • Look at our Webhooks specs to learn more about automatic push notifications for ACH transactions.

Try it out!

Wanna check out our ACH APIs? You first need to complete the KeyBank onboarding process.

Check out our Getting Started Guide or contact a KeyBank Payment Advisor to learn more. 
 

 

With the ACH Origination API, you can originate a credit or debit transaction to an authorized receiver.

See the specs

To make or collect a payment there has to be an authorized agreement between the originator and the receiver. An authorized agreement means that the payee has an agreement with their financial institution or commercial entity that funds can be exchanged between the originator and the receiver.

The ACH Origination API uses only POST methods to generate new ACH transactions. In the request, you indicate if you are pushing or pulling funds and the method of authorization to transfer funds.

  • The creditDebitCode defines the action of the request, if you are taking funds (debit) or receiving funds (credit).
  • The secCode defines the authorized method to transfer funds, like from a corporate account, online account, by phone, etc. There is a path for each SEC code. Use the correct endpoint path and identify the secCode in the request.

All ACH payments, credit or debit, must include a SEC code. The code is implicit in how payment authorization is arranged (by standing, written, oral, online, etc.). A SEC code also helps determine the rules and requirements that apply to the transaction, including timing of settlement and eligibility for same-day processing.

KeyBank allows ACH origination payment types for the following SEC codes: CCD, CTX, PPD, TEL, and WEB.

CCDCorporate Credit or Debit
  • Deposits and withdrawals to corporate accounts.
  • Does not require individual consumer authorization for each payment.
  • Remittance information available with the transaction as an addendum record.
CTXCorporate Trade Exchange
  • One business pays another for goods or services.
  • An electronic payment that includes an invoice (addenda) intended for the receiving financial institution.
PPDPrearranged Payments and Deposits
  • Specify a certain amount to be transferred from one financial account to another.
  • Requires consumer authorization or prearrangement for the payment or deposit to occur.
  • Some examples are direct deposit of payroll, pension, and dividends, or payment of utility bills, mortgages, rent, membership dues, loans and other recurring payments.
TELTelephone
  • Send a payment via the telephone.
  • Must provide verbal consent during the phone call to initiate the payment transaction.
WEBOnline
  • Initiate a transaction through the web or online banking.
  • Requires consumer authorization for the payment or deposit to occur.

Nacha business, not your problem

With ACH, transaction processing happens in real-time while the file processing for Nacha occurs behind the scenes. We follow Nacha standards and recommend there are no more than 100 transactions per request.

The Nacha file format is the standard file format used for ACH electronic fund transfers (EFT) in the United States. Nacha stands for National Automated Clearing House Association, the organization responsible for managing the rules and regulations governing the ACH network in the US. The Nacha file format is used to create batch files that contain multiple transactions, like direct deposits, bill payments, and other types of electronic payments. These files are commonly used by businesses, financial institutions, and other organizations to initiate and process ACH transactions.

An addendum is an ACH record type that carries supplemental data like remittance information. This data may be needed to identify an electronic payment to the receiving financial institution and the payee, or it may contain additional information relating to the prior entry detail record.

This addenda record is optional. It is primarily used for business-to-business transactions, like CCD and CTX.

Addenda record settings and limitations:

  • CCD, PPD, and WEB payment transactions can have one addenda record. The addenda record displays as one line, not to exceed the 88-character limit.
  • A CTX payment transaction can have multiple addenda records, up to 9,999 records to be exact.
  • KeyBank does not allow more than 20 addenda records per request.
  • If you need additional records, there is a different request available to add addenda records and that endpoint is limited to 100 records per request.

To manage the status of the addenda records, our system tracks it for the entire business day. The status changes from Waiting to Completed, indicating that the addenda records were successfully received, and the ACH transaction is ready to be processed.

Same-day ACH transactions are when the receiving depository financial institution (RDFI) posts the credit or debit to the payee account on the same day the transaction originated. Same-day ACH transactions cannot exceed a set maximum dollar amount per day. Typically, the total same-day ACH transactions cannot exceed $100,000 in a single business day.

This is an automatic setting for our clients. If you do not want the default option of same-day ACH transactions, you can choose to opt out. There is a surcharge for same-day transactions.

For the ACH Origination API, there are cutoff times for the ACH transaction to be posted the same day it originated:

SAME-DAY FLOWWindow 1Window 2Window 3
Client cutoff09:15 a.m. (EST)11:15 a.m. (EST)03:00 p.m. (EST)
File sent from KeyBank
to the ACH operator
09:30 a.m. (EST)11:30 a.m. (EST)03:45 p.m. (EST)
ACH transaction to RDFI12:00 p.m. (EST)04:00 p.m. (EST)05:30 p.m. (EST)
Posted to payee account01:30 p.m. (local)05:00 p.m. (local)RDFI end of day

Did you know?

With the ACH Origination API, you can inquire on the transactions before they are officially submitted for processing. The status endpoint tells you if the transaction was accepted (transaction request data is valid), rejected (there is missing or erroneous data in the request), or extracted (transaction received by the ACH core processing system).

Common terms

ACH operator

The central clearing facility managed by the Federal Reserve Bank.

ACH processor

The ACH core processing system takes the incoming transactions from the originating financial institution, which are then sorted, batched, and verified. After the transaction is legitimized, the funds are forwarded to the receiver’s financial institution.

Collected

The status when the originating transaction is received by the ACH processor.

Credit

To push funds to other accounts.

Debit

To pull funds from an account.

ODFI

Originating Depository Financial Institution is the financial institution of the originator. This ODFI has an active relationship with ACH services and sends transactions to the ACH network on behalf of the originator.

Originator

The company or business that initiates a transaction to the receiver (payee). Before a transaction can be sent, the originator has authorized the receiver to credit or debit their account.

PAR number

Payment Assigned Reference number is a unique identifier assigned by the ACH processor used to identify the transaction without exposing any sensitive consumer identification information. When you submit a request with the ACH Origination API, it creates a PAR number and returns the value in the response.

Posted

The status when a transaction is received by the ACH processor, reviewed by the ACH operator, and currently with core banking applications to secure and transfer funds. It could also indicate that the funds have been completely settled between originator and receiver.

RDFI

Receiving Depository Financial Institution is the financial institution of the receiver. The ACH operator processes the transactions and sends the funds to the financial institution before the money is posted to the receiver's account.

Receiver

The individual or company that receives the funds. Before a transaction can be received, the receiver has authorized the originator to credit or debit their account. The receiver may also be referred to as the payee.

Returned

The status when a transaction is reviewed by the ACH operator and the transaction is not cleared for transfer for reasons like insufficient funds or erroneous data.

Reversal

Request to cancel a payment after it has posted. Reversals are not guaranteed.

Trace number

The trace number is a unique identifier for an ACH transaction generated by the ACH Origination API. Use this number for your ACH Inquiry API requests.

Undo

Stop a transaction before it is received by the ACH processor. This window is typically 10 minutes in length.


With the ACH Inquiry API, you can check on the progress of a payment transaction after the ACH processor receives them.

See the specs

Use the account number, PAR number, or trace number from the ACH Origination transaction request to inquire about the status or get additional details of a transaction.

Account number

Use the KeyBank originator account number associated with ACH transaction to inquire about transactions that are posted. With the ACH List inquiry, all you need is an account number to look up ACH transactions.

PAR number

The PAR (Payment Assigned Reference) number is a unique identifier assigned by the ACH processor after you submit a request with the ACH Origination API. This is used to identify the transaction without exposing any sensitive consumer identification information.

In the ACH Inquiry API request, use the PAR number (parNumber) in the ACH Detail request to inquire about an account with this unique identifier.

Trace number

When you submit a request with the ACH Origination API, the ACH processor immediately creates a trace number unique to that transaction (traceNumber). Save this trace number if you intend to check on the progress of the ACH transaction or to use it for verification.

In the table below we associate each endpoint in the ACH Inquiry API, including legacy endpoints, with the key identifiers you can use to request the status of an ACH transaction.

ENDPOINTIDENTIFIER EXAMPLE 
ACH List/accounts/transactions/v1/ach/listaccountNumber: 222333448 
ACH Detail/accounts/transactions/v1/ach/detail/{parNumber}parNumber: 1234567891113 

A good reminder...

We recommend that you check on the status after 06:00 a.m. EST the following business day. By this time, the ACH processor has run the batch and consolidation processes.

 

The ACH List endpoint is a comprehensive search of all ACH transactions with a single account number. Use the date parameters or identify the ACH transaction status to better define the response. 

Request and response example

  • If you want to search with a date range, make sure to include the fromDate and toDate. You can search up to two years of past records. We recommend that you limit the date range to 31 days.
  • If you are want to inquire about only a certain status of ACH transaction, use the dateSearchType parameter. You can filter the results by Collected, Returned, or Settled transactions.
Request
"accountNumber": "3123456789",
"dateSearchType": "COLLECTED",
"fromDate": 2024-03-15,
"toDate": 2024-05-31,
"minimumAmount": 100,
"maximumAmount": 75020.5,
"traceNumber": "041001030016002",
"pageNumber": 1,
"pageSize": 150
Response
"transactions": [
  {
  "parNumber": "22018007665985",
  "transactionStatus": "COLLECTED",
  "traceNumber": "000000000000000",
  "transactionAmount": 10.01,
  "settlementDate": "2021-03-08",
  "transactionCode": "22",
  "authorizedCustomerName": "TEST CUSTOMER1",
  "standardEntryClassCode": "CCD",
  "receivingAccount": {
    "accountNumber": "123456789012"
   },
  "receivingParty": {
    "customerIdentificationNumber": "099999999",
  "companyName": "MERCHANT"
  },
  "originatingAccount": {
    "accountNumber": "123456789012"
  },
  "originatingParty": {
    "customerIdentificationNumber": "1234567",
    "companyName": "COMPANY NAME 1"
},
  "returnDate": "2024-02-01",
  "returnReasonCode": "R02",
  "returnReasonDescription": "Account Closed",
  "addendaCount": 1,
  "notificationOfChangeAddendaCount": 1,
  "internationalAddendaCount": 0
  }
 ],
  "metadata": {
    "messages": [
    {
    "code": "099",
    "message": "Search results match the criteria"
    }
  ],
  "page": {
    "pageNumber": 1,
    "pageSize": 10,
    "totalPages": 10,
    "totalRecords": 28,
    "lastPage": true
    }
  }
}

 

What to expect

  1. In the transactions response, you can expect to see the status, general transaction information, identification for the originating and receiving parties involved, return reason if applicable, and addenda counts. 
  2. A metadata object is part of the response that gives details about the inquiry results and size of response. 
 

 

The ACH Detail endpoint retrieves details about an ACH transaction with a single PAR number.

Details returned include transaction IDs, originating parties, receiving parties, return reasons, transaction status, and Nacha SEC data.

Request and response example

Use the parNumber from the originating transaction to get additional details about the transaction. 

Request
curl --location: '{host}/v1/ach/detail/22018007665985'
--header 'Accept: application/json'
--header 'Authorization: Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
                            
Response
{
"parNumber": "22018007665985",
"transactionStatus": "COLLECTED",
"traceNumber": "000000000000000",
"transactionAmount": 10.01,
"settlementDate": "2021-03-08",
"transactionCode": "22",
"transactionCodeDescription": "Automated Deposit",
"transactionDescription": DEPOSIT",
"authorizedCustomerName": "TEST CUSTOMER1",
"standardEntryClassCode": "CCD",
"standardEntryClassDescription": "Cash Concentration or Disbursement",
"receivingAccount": {
  "accountNumber": "123456789012",
  "bankNumber": "0000",
  "routingNumber": "1234567890"
},
"receivingParty": {
  "customerIdentificationNumber": "099999999",
  "companyName": "MERCHANT",
  "customerName": "TEST MERCHANT"
},
"originatingAccount": {
  "accountNumber": "123456789012",
  "bankNumber": "0000",
  "routingNumber": "1234567890"
},
"originatingParty": {
  "customerIdentificationNumber": "1234567",
  "companyName": "COMPANY NAME 1",
  "customerName": "CUSTOMER NAME 1"
},
"returnDate": "2024-02-01",
"returnReasonCode": "R02",
"returnReasonDescription": "Account Closed",
"addendaCount": 1,
"notificationOfChangeAddendaCount": 1,
"internationalAddendaCount": 0,
"customData": "merchant:status",
"checkSerialNumber": "4345",
"transactionDirection": "Receiving Item",
"addenda": [
{
  "sequenceNumber": 1,
  "entryDetailSequenceNumber": "188",
  "paymentRelatedInformation": "Addenda Record (Applies to CCD, CTX, PPD, and WEB entries)"
}
],
"notificationOfChange": [
{
  "changeCode": "C02",
  "changeDescription": "Incorrect transit\/routing number",
  "correctedData": "1234567890"
}
]
}

 

What to expect

You receive a detailed response for the transaction associated with the provided PAR number. Details include information about the parties involved. the identification and account associated with the PAR number, and additional transaction information in addenda records. 

 

 

We all make mistakes. Sometimes we need to pull things back before we can move forward. KeyBank understands and our API Origination API has a few ways to do that.

You can undo a payment before it is collected by the ACH processor. Use the undo endpoint to stop the transaction before it is received by the ACH processor. The time window to undo is dependent upon the collection windows. The typical window to undo a payment is about 10 minutes but it can be more depending on when the payment is submitted and the collection schedule.

If the payment was collected and you still need to delete the payment, you can reverse the transaction within five banking days from the original effective date. When you reverse the transaction, it generates a reversal to the receiver’s account to pull back payments that were originated erroneously. While reversals are not a guaranteed success, it is an option to undo the original payment submitted after collection.

To reverse a payment, you have one of two options. You cannot do both of these options if one does not work.  

Option 1: Submit the file maintenance form for a payment reversal.

Option 2: Complete an ACH Originate API request with the opposite credit or debit indicator in the creditDebitCode field of the request body. Update the companyEntryDescription in the request body to reflect REVERSAL.

A payment can be returned for various reasons like insufficient funds, unable to verify accounts, incorrect data in the request, or a security concern.

KeyBank recommends that you inquire about returns daily with the ACH Inquiry API. Here’s how:

  • To inquire about one or more transactions, use the account number and date fields to look up information.
  • To look up a specific returned transaction, use the PAR number. The PAR number is generated by the API and provided in the response. It is a unique identifier that matches the returned transaction to the original transaction.

Unauthorized returns apply mainly to disputed transactions where the person or company being charged does not consent to the funds transfer. There are different return time frames by SEC code so consider the exposure to unauthorized returns when you originate a payment with a certain SEC code.

 Consumer transactionsCommercial transactions
SEC codePPD, TEL, WEBCCD, CTX
Unauthorized returns windowup to 60 calendar days24 hours (two banking days)
 
 

Does ACH stand for Actual Common Help? It sure doesn’t, but we can answer some questions for you!

 

Where is my transaction? How can I get more information?

You submitted a request with the ACH Origination API to send or get money. Get the traceNumber or parNumber from the ACH Origination API response and use that identifier with the ACH Inquiry API request to track the status of the ACH transaction (or batch of transactions).

See our information on the ACH Inquiry API to learn more.

I got an error. What went wrong?

Everything went wrong. And you forgot to send that birthday card too!

OK, it’s not that serious. We can’t fix the birthday card situation, but we can help with that API error.

Check out more information in the Errors section of the API documentation for the ACH Origination API or the ACH Inquiry API.

What’s the difference between undo, reversal, and returned?

When you undo a transaction, you stop the ACH processor from receiving the request before the collection window.

For example, let’s say there is a 10-minute window to undo a payment before it is received by the ACH processor. You submit a transaction with the API at 08:15 a.m. EST. You have until 08:25 a.m. EST to undo this transaction before the ACH processor begins to process the transaction.

When you reverse a transaction, you missed the window to undo a request and now need to either submit the file maintenance form for a payment reversal or attempt to reverse it with another transaction

When a transaction is returned, it means that something was not right when going through core banking applications for review and settlement. The transaction is returned to the originator without ever being posted.

CCD and PPD seem similar. What is the difference?

PPD transactions are typically from a corporate account to an individual account. Like if you are sending payroll to your employees, you are sending money from a corporate account to a personal account of the employee.

CCD transactions are usually from one commercial or business account to another. It could also be an individual account sending money to a vendor account. One example could be a renter (individual account) sending their rent check to the property management office (business account).

Is there a way to input a value in the request that I recall when using the ACH Inquiry API?

There are two fields available to attached additional information to a transaction.

  1. The entry description (companyEntryDescripiton) describes the purpose of the payment as defined by you. This is required for reporting and helps identify any differences between the transactions. This information is visible to the originator and the receiver.
  2. Use the custom data (customData) field to append specific information to a payment transaction. This information is only visible to the originator and can be recalled by the originator after a payment is collected.

    The custom data does not transmit with the payment as it is processed. The custom data is safely stored in KeyBank’s database. The traceNumber links the incoming collected or posted payment to the custom data, recalled from the request input.

What is the timing with payments?

ACH transactions are collected/distributed several times throughout the day. KeyBank’s final cutoff time for clients to send us an ACH file is 10:30 p.m. EST. The schedule is as follows:

ACH collection/distribution schedule

  1. Collection only, 05:00 a.m. EST
  2. Collection and distribution, 06:00 a.m. EST
  3. Collection and distribution, 09:30 a.m. EST
  4. Collection and distribution, 11:30 a.m. EST
  5. Collection and distribution, 01:30 p.m. EST
  6. Collection and distribution, 03:30 p.m. EST
  7. Collection and distribution, 07:00 p.m. EST
  8. Collection and distribution, 09:30 p.m. EST
  9. Collection and distribution, 10:30 p.m. EST

Can I do same-day payment?

For an additional fee, you can make same-day payments until approximately 03:00 p.m. EST. Funds are withdrawn the date the payment is processed and delivered by the following business day. The account’s available balance is updated when the payment is processed. The account ledger is updated the day after the payment is sent.

What about future date payments?

You can future date a transaction. The payment transaction is processed as normal and collected, but the payment does not post to the bank until the date specified.

Use effectiveDate in the request to specify when a collected transaction is posted. The effective date can be up to 30 days in the future. Typically, the effective date is set 1-2 days before it is posted. When setting the effective date, consider the schedule for collection windows and supporting processes.

Is there a limit to how many transactions I can send in a single request?

 

The ACH Origination API request is limited to 100 transactions per request for each of KeyBank’s clients. For each of the requests submitted, the clients will receive a message acknowledging either a successful transaction or a transaction error.

Is there a limit to how much money I can send in a same-day transaction?

 

Total same-day ACH payments cannot exceed $100,000 in a single business day.

Are there client requirements I should know about?

There are some required fields to initiate an ACH transaction. After you complete the KeyBank onboarding process, we will assign you values for point and collection application ID parameters that map to a legitimate bank account.

  • Point (point) is a short name specific to your company that’s assigned by KeyBank. The point name is nine characters long, but KeyBank limits the assigned name to eight characters. One character is used to match the input data of the request associated with this point value to the shared services payment system before batch processing. The point value is included in the file name and improves security for file transfers.
  • Collection application ID (collectionApplicationId) is a sub-level to the point value assigned by KeyBank. Every point requires at least one collection application identifier. The ID must not exceed 9 characters. If you have different settlement accounts, you'll need multiple collection application IDs, each connected to a specific settlement account.

There is another important parameter that is not required, but strongly encouraged. The universal unique identifier (uuid) is a custom value used to identify each transaction created by you. The UUID is required to undo a payment. The ID must not exceed 45 alphanumeric characters. The UUID is only part of the ACH Originate API and is not used to trace a transaction across its lifecycle, meaning it cannot be used as a lookup field in the ACH Inquiry API. The UUID is at the transaction level and provides the status of a specific transaction as Accepted, Waiting for Addenda, Consolidated, or Failed.

How do I send a prenote versus a live transaction?

A prenote (or as my grandfather calls it formerly - the prenotification entry) is a non-monetary entry submitted by an originator to a RDFI before sending a credit or debit entry to the receiver’s account with the RDFI.

A live transaction is a monetary entry submitted by an originator to a RDFI to send a credit or debit to the receiver’s account with the RDFI.

Word soup, right? Basically, a prenote is a notification the tells the RDFI to verify the account information. A live transaction is an actual payment.

In the request, define if the transaction is a prenote (P) or a live (L) transaction with the transactionType field.

 

What's next

Webhooks

clock 8-minute read calender 2.2.0 | updated Aug. 15, 2024

Timely and automated payment status notifications

KeyBank’s payment webhooks provide timely and automated payment status notifications without the need for constant API polling or manual checks.

We currently facilitate alerts for ACH, wire, and RTP transaction status changes. You get near real-time updates whenever a specific payment event occurs, like a posted ACH transaction or a completed wire transfer.

Subscribe to webhook alert notifications if you are a commercial customer or fintech partner with KeyBank. It takes about 5-10 days to complete the alert notification setup. To subscribe for payment notifications, you have to onboard with KeyBank (see our Getting Started Guide for the basic process) and share some information about your application/system.

For existing clients, reach out to your Payments Advisor to start the subscription process. For new clients, you will need to provide a few more details like:

  • Basic client information (name, phone, email, etc.)
  • Bank account number and routing number
  • Type of alert subscription (see alert codes)
  • A decision if the pre-production and production subscriptions accounts will be the same or different
  • Expected volumes per day/month/year
  • Estimated schedule to start testing in the pre-production environment and to go live in the production environment

Got you hooked?

Check out some more content about our webhooks:


Alert notifications are triggered by specific payment status events and are sent in the form of an HTTP POST request. KeyBank can send up to 100 alerts per API call. After receiving an alert notification, KeyBank expects you to send an HTTP 2XX status code in response within 10 seconds and the response needs to adhere to KeyBank's format for an alert response.

Each payment webhook alert notification has an alertNotification object that is made up of two parts:

  • alertHeader: The header information gives you basic information about the request: date and time sent, the alert code, and a unique notification identifier.
  • alertBody: The body information contains transaction details. Each of the fields will be present in the request even if there is no data retrieved for a particular field. Fields that have no data show the null value.

Both the alertHeader and alertBody can vary by event type, ACH or Wire/RTP. The alertHeader for Wire/RTP notification contains the payType field that specifies if is a wire or RTP alert while the ACH alert header does not have a payType field. The alertBody fields are different based on each event type as defined by the alert code.

Each alert notification contains the alert code for the payment status event that occurred. There is an alert code for Wire/RTP and ACH to monitor all payment status events related to that transaction type.

Alert code types
  • Wire/RTP alert code: AL00901
  • ACH alert code: AL00906

Legacy ACH alert codes include AL00902 (ACH Collected), AL00903 (ACH Posted), AL00904 (ACH Returned), AL00905 (ACH Notification of Change). All ACH payment events are now managed with alert code AL00906.

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

HEADER FIELDTYPEDESCRIPTION
alertSentDateAndTimestringDate and time the alert was sent. Format: (YYYY-MM-DD)T(HH:MM:SS)Z
alertCodestringAlert code. Valid values:  AL00906
eapAlertGUIDstringUnique alert notification identifier.
BODY FIELDTYPEDESCRIPTION
transactionStatusstringThe status of the ACH transaction. Valid values: COLLECTED, RETURNED, SETTLED
traceNumberstringThe unique number for the transaction provided by the originator.
parNumberstringThe unique PAR number assigned to the the transaction by the ACH product processor.
transactionAmountnumberThe dollar amount of the transaction.
collectionDatestringDate the transaction was processed. Format: YYYY-MM-DD
settlementDatestringThe date the transaction settlement occurred. Format: YYYY-MM-DD
transactionCodestringTwo-digit code identifying the account type at the receiving financial institution.
transactionDescriptionstringDescription about the purpose of the transaction.
authorizedCustomerNamestringAuthorized customer name
standardEntryClassCodestringThree-digit Standard Entry Class (SEC) code based on Nacha rules. Valid values: CCD, CTX, PPD, TEL, WEB
receivingAccountNumberstringAccount number of the person or institution receiving the funds. 
receivingCustomerIdentificationNumberstringThe customer identification number for the person receiving the transaction.
receivingCompanyNamestringCompany name of the institution getting the funds. 
originatingAccountNumberstringAccount number of the ACH transaction originator.
originatingCustomerIdentificationNumberstringOriginating customer identification number
returnReasonCodestringThe code associated with the reason for returning the ACH transaction. The code is the letter 'R' for reason followed by a two-digit numeric code. Format: R00
returnReasonDescriptionstringDescription as to why the ACH transaction is returned.
returnDatestringDate of the returned transaction to the ACH system. Format: YYYY-MM-DD
notificationOfChangeAddendaCountstringCount of change notifications for addenda records.
internationalAddendaCountstringCount of international addenda records.
addendaCountstringCount of addenda records.

Request example (ACH)

{
  "alertNotificationRequest": [
    {
    "alertNotification": {
      "alertHeader": {
        "alertSentDateAndTime": "2024-07-07T16:25:08Z",
        "alertCode": "AL00906",
        "eapAlertGUID": "4g0fda4b-156f-483c-98ae-bd8ccab266h0"
        },
      "alertBody": {
        "transactionStatus": "COLLECTED",
        "traceNumber": "41033956478656",
        "parNumber": "22010008879477",
        "transactionAmount": "287.40",
        "collectionDate": "12-JAN-22",
        "settlementDate": "12-JAN-22",
        "transactionCode": "22",
        "transactionDescription": "PAYMENT",
        "authorizedCustomerName": "HIGHMARK INC.",
        "standardEntryClassCode": "CCD",
        "receivingAccountNumber": "00000000001000004133",
        "receivingCustomerIdentificationNumber": "65A658990",
        "receivingCompanyName": "LEHIGH GASTROENTEROLOG",
        "originatingAccountNumber": "00000000001000005244",
        "originatingCustomerIdentificationNumber": "7498659450",
        "originatingCompanyName": "HIGHMARK INC.",
        "returnReasonCode": "R29",
        "returnReasonDescription": "Corporate Customer Advises Not Authorized",
        "returnDate": "07-DEC-21",
        "notificationOfChangeAddendaCount": "1",
        "internationalAddendaCount": "0",
        "addendaCount": "0"
        }
      }
    }
  ]
}

 


The Wire/RTP alertBody identifies the status of the payment event in the tranBusnStatusCode field. 

The Wire and RTP statuses listed show the final status values. You may get an intermittent status that is not list in this table. Go to Data values > Wire and RTP webhook statuses to view the full list.

STATUSDESCRIPTION
AbandonedPayment is manually forced to not complete payment processing. Payment will not complete workflow.
CancelledPayment was cancelled. Payment will not complete workflow.
CompletedPayment processed successfully and completes the workflow.
FatalA serious error has occurred. Payment will not complete workflow.
Future Warehouse CancelledPayment was cancelled from Future Warehouse queue. Payments enter the Future Warehouse queue if the payment missed the payment network cutoff time and moves to a future business date. When the future business date arrives, the payment network re-enters the payment in the workflow to reach Future Warehouse Cancelled.
RejectedPayment was rejected by the network. Payment will not complete workflow.
ReturnedPayment was returned by receiving bank.
 

 

HEADER FIELDTYPEDESCRIPTION
alertSentDateAndTimestringDate and time the alert was sent. Format: (YYYY-MM-DD)T(HH:MM:SS)Z
alertCodestringAlert code. Valid values: AL00901
payTypestringIdentifies if the payment type was a Wire or RTP transaction. Valid values: WIRE, RTP
eapAlertGUIDstringUnique alert notification identifier.
BODY FIELDTYPEDESCRIPTION
crOrDbCodestringIdentifies the transaction type as credit or debit. Valid values: C (credit), D (debit)
crArngNumstringAccount number of the credit account.
crArngTypeCodestringType code of the credit account.
crArngBankNumstringBank number of the credit account.
crTranCurrencyCodestringTransaction currency code of the credit account.
dbArngTypeCodestringType code of the debit account
dbTranCurrencyCodestringTransaction currency code of the debit account.
requestReferenceNumberstringUnique identification number for an originating wire or RTP transaction. This number is limited to 32 characters.
crIpIdstringCustomer number associated with the credit account.
crIpNmstringCustomer name associated with the credit account.
dbArngNumstringAccount number of the debit account.
dbArngBankNumstringBank number of the debit account.
dbIpIdstringCustomer number associated with the debit account.
dbIpINmstringCustomer name associated with the debit account.
payNotifyTsstringTimestamp of the payment event.
wireEventNmstringPayment status code
tranAmtstringDollar amount of the transaction.
tranExecutedDtstringDate the transaction is executed. Format: YYYYMMDD
federalReferNumstringFederal reference number
sndngBankReferNumstringReference number attached to a wire, issued by the sending bank.
tranIdstringUnique transaction identifier
tranBusnStatusCodestringTransaction business status code
wireDirectionCodestringIndicates the direction of the transaction.
tranTypestringType of transaction.
tranValueTypeCodestringIdentifies the value of a transaction.
wireProcessTypeCodestringWire processing type code
benefitAbastringABA routing number of the beneficiary.
benefitArngNumstringAccount number of the beneficiary.
benefitIpAddrLinestringAddress lines 1-7 (array) of the beneficiary.
benefitBicCodestringBIC number of the beneficiary.
benefitBankAbaNumstringABA routing number of the beneficiary's bank.
benefitBankArngNumstringAccount number of the beneficiary's bank.
benefirBankAddrLinestringAddress lines 1-7 (array) of the beneficiary's bank.
benefitBankBicCodestringBIC number of the beneficiary's bank.
benefitBankNmstringName of the beneficiary's bank.
intrmdryBankAbaNum1stringABA routing number of the intermediary bank 1.
intrmdryBNankAddrLine1stringAddress lines 1-7 (array) of the intermediary bank 1.
intrmdryBankNm1stringName of the intermediary bank 1.
intrmdryBicCode1stringBIC number of the intermediary bank 1.
intrmdryBankAbaNum2stringABA routing number of the intermediary bank 2.
intramdryBankAddrLine2stringAddress lines 1-7 (array) of the intermediary bank 2.
intrmdryBankNm2stringName of the intermediary bank 2.
intrmdryBicCode2stringBIC number of the intermediary bank 2.
intrmdryBankAbaNum3stringABA routing number of the intermediary bank 3.
intrmdryBankAddrLine3stringAddress lines 1-7 (array) of the intermediary bank 3.
intrmdryBankNm3stringName of the intermediary bank 3.
intrmdryBicCode3stringBIC number of the intermediary bank 3.
orgntngBankAbaNumstringABA routing number of the wire originator's bank.
orgntngBankAddrLinestringAddress lines 1-7 (array) of the wire originator's bank.
orgntngBankBicCodestringBIC number of the wire originator's bank.
orgntngBankNmstringName of the wire originator's bank.
orgntngAba1stringABA routing number of the originator 1.
orgntngArngNum1stringAccount number of the originator 1.
orgntngIpNm1stringName of the originator 1.
orgntngIpAddrLine1stringAddress lines 1-7 (array) of the originator 1.
orgntngAba2stringABA routing number of the originator 2.
orgntngArngNum2stringAccount number of the originator 2.
orgntngIpNm2stringName of the originator 2.
orgntngIpAddrLine2stringAddress lines 1-7 (array) of the originator 2.
orgntngAba3stringABA routing number of the originator 3.
orgntngArngNum3stringAccount number of the originator 3.
orgntngIpNm3stringName of the originator 3.
orgntngIpAddrLine3stringAddress lines 1-7 (array) of the originator 3.
crVirtualNumstringVirtual account number of the credit account.
dbVirtualNumstringVirtual account number of the debit account.

Request example (Wire/RTP)

{
  "alertNotificationRequest": [
    {
    "alertNotification": {
      "alertHeader": {
        "alertSentDateAndTime": "2023-02-1159T10:20:56Z",
        "alertCode": "AL00901",
        "payType": "WIRE",
        "eapAlertGUID": "f4d88cd2-446c-3cc4-9330-aa123456789"
        },
      "alertBody": {
        "crOrDbCode": "C",
        "crArngNum": "359123456789",
        "crArngTypeCode": "DDA",
        "crArngBankNum": "0101",
        "crTranCurrencyCode": "USD",
        "dbArngTypeCode": "DDA",
        "dbTranCurrencyCode": "USD",
        "requestReferenceNumber": "4630123-20240212161123",
        "crIpId": "999997",
        "crIpNm": "BANKOFTEST",
        "dbArngNum": "201907987654321",
        "dbArngBankNum": "0101",
        "dbIpId": "30472222",
        "dbIpNm": "Test Name",
        "payNotifyTs": "1673615327943",
        "wireEventNm": "WirePaymentTransactionEvent",
        "tranAmt": "12.79",
        "tranExecutedDt": "20230112",
        "federalReferNum": "null",
        "sndngBankReferNum": "null",
        "tranId": "US23010987654321",
        "tranBusnStatusCode": "RegulatoryFilter",
        "wireDirectionCode": "OUTBOUND",
        "tranType": "null",
        "tranValueTypeCode": "N",
        "wireProcessTypeCode": "null",
        "benefitAba": "null",
        "benefitArngNum": "3435656765",
        "benefitIpAddrLine": "250 Delaware Ave St",
        "benefitBicCode": "KEYBUS33 XXX",
        "benefitBankAbaNum": "null",
        "benefitBankArngNum": "null",
        "benefitBankAddrLine": "250 Delaware Ave St",
        "benefitBankBicCode": "KEYBUS33 XXX",
        "benefitBankNm": "KeyBank National Association",
        "intrmdryBankAbaNum1": "null",
        "intrmdryBankAddrLine1": "null",
        "intrmdryBankNm1": "KeyBank National Association",
        "intrmdryBicCode1": "21300077",
        "intrmdryBankAbaNum2": "null",
        "intrmdryBankAddrLine2": "null",
        "intrmdryBankNm2": "BANKOFTEST",
        "intrmdryBicCode2": "KEYBUS33 XXX",
        "intrmdryBankAbaNum3": "null",
        "intrmdryBankAddrLine3": "null",
        "intrmdryBankNm3": "null",
        "intrmdryBicCode3": "null",
        "orgntngBankAbaNum": "null",
        "orgntngBankAddrLine": "null",
        "orgntngBankBicCode": "null",
        "orgntngBankNm": "null",
        "orgntngAba1": "null",
        "orgntngArngNum1": "123456789",
        "orgntngIpNm1": "TEST COMPANY 1, LLC",
        "orgntngIpAddrLine1": "127 Public Sq, Cleveland,OH 44114,US",
        "orgntngAba2": "null",
        "orgntngArngNum2": "null",
        "orgntngIpNm2": "null",
        "orgntngIpAddrLine2": "null",
        "orgntngAba3": "null",
        "orgntngArngNum3": "null",
        "orgntngIpNm3": "null",
        "orgntngIpAddrLine3": "null",
        "crVirtualNum": "953456789",
        "dbVirtualNum": "953654321"
        }
      }
    }
  ]
}

The top level alertNotificationResponse object is an array of alertAcknowledgment objects. Because KeyBank can send up to 100 alerts per API call, each alert notification sent must be responded to with its own alertAcknowledgment object. The format of the response needs to adhere to the format specified here.

 
FIELDTYPEDESCRIPTION
alertStatusstringStatus of the alert notification.
confirmationGUIDstringAPI customer unique ID for the alert notification.
alertRecievedDateAndTimestringDate and time the alert was received. Format: (YYYY-MM-DD)T(HH:MM:SS)Z
eapAlertGUIDstringUnique alert notification identifier passed through from the request.
messagestringFree-form text field to describe the response.

Successful response

{
"alertNotificationResponse": [
  {
  "alertAcknowledgment": {
    "alertStatus": "SUCCESS",
    "confirmationGUID": "5f0ada5b-056f-483c-98ae-ac6ccab269c1",
    "alertRecievedDateAndTime": "2021-11-19T10:31:12Z",
    "eapAlertGUID": "f4d88cd2-446c-3cc4-9330-aa123456789",
    "message": "Successfully submitted the request"
    }
  }
 ]
}

 

Unsuccessful response

{
  "alertNotificationResponse": [
  {
    "alertAcknowledgment": {
      "alertStatus": "FAILURE",
      "confirmationGUID": "5f0ada5b-056f-483c-98ae-ac6ccab269c1",
      "alertRecievedDateAndTime": "2021-11-19T10:31:12Z",
      "eapAlertGUID": "f4d88cd2-446c-3cc4-9330-aa123456789",
      "message": "Required parameter(s) not found: [fieldName(s)]"
      }
    }
  ]
}

If your webhook receiver/handler encounters an error, KeyBank expects you to send one of the following HTTP status codes:

  • 400 Invalid input
  • 401 Authentication error
  • 403 Authorization error
  • 500 Internal error

Only the HTTP 500 error codes will prompt the retry mechanism. If you have one of the HTTP 400 error codes, you are expected to troubleshoot the issue. If you cannot find a resolution, please contact your Payments Advisor or Technical Account Manager.

 

The retry mechanism is trigger for any backend error issues, typically associated with HTTP 500's status codes. With a unsuccessful HTTP 5XX response, the KeyBank retry mechanism will attempt to deliver a failed alert notification for 24 hours after the original failed notification. The retry attempts follow this schedule:

  • 3 attempts, each attempt every 30 seconds
  • 6 attempts, each attempt every 90 minutes
  • 3 attempts, each attempt every 5 hours
Attempt numberTime between attemptsTime elapsed since first alert
1-330 seconds30 seconds - 1.5 minutes
4-990 minutes1.5 - 9 hours
10-125 hours14 - 24 hours

After the 24-hour window, the notification fails and there are no more additional retry attempts. Notify your KeyBank Client Success Manager if there is an outage for more than 24 hours or if you have an outage planned for your systems that extends past a 24-hour period. You can also notify us with our Support form.

To inquire about a payment event after 24 hours, you must use the ACH Inquiry or Wire Inquiry APIs.

 

YAML file download

Wire Transfer

clock 6-minute read calender 1.2.4 | updated Aug. 07, 2024

Transfer money by wire for urgent payments or large volume transactions

What you can doEndpoint
Health checkget /rtp/v1/payment/healthCheck
Get the status with the transaction IDget /rtp/v1/payment/status/transactionId/{transactionId}
Get the status with the request reference numberget /rtp/v1/payment/status/debitAccount/{debitAccount}/reference/{reference}
Send a wire transferpost /rtp/v1/payment/initiate
Perform validation checkspost /rtp/v1/payment/validate

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

 

Two in one

At KeyBank, the RTP and wire payment APIs are a single API product with two service capabilities. You need specific permissions to access either the RTP Send Payment API or the Wires Transfer API.

Wire transfers are great for urgent payments and suitable for large volume transactions. Use the Wire Origination API for urgent or time-sensitive transactions, such as large business payments or real estate transactions.

Wire transfers move money from one bank account to another. KeyBank transfers your funds using the secure SWIFT (Society for Worldwide Interbank Financial Telecommunication) system and Fedwire Clearing House. Through our secure network, wire transfers typically involve a processing time that can vary from a few hours to several business days depending on factors such as banks involved and any other intermediary institutions. Banks typically initiate and process wire transfers to provide a direct and expedited method of transferring funds. Usually, wire transfers involve a fee per transmission which can vary depending on the banks involved and the currency used.

The main difference between RTP payments and wire transfers is in their speed and settlement process. RTP payments are designed for real-time transfers, providing immediate availability of funds, while wire transfers may take longer to process and settle.

Payment chain parties

The two calls - initiate a payment and validate a payment - have the party object. This is a reusable object that has details about the person or entity sending a payment and the one receiving the payment. The party object reflects the payment chain of events. Use the request fields to direct the payment transaction from one account to another.

 

ORDERPAYMENT CHAINREQUEST FIELDS TO USE
1The individual or organization sends the payment.Enter the debit account number of the individual or organization in debitParty.
2The financial institution of the debit account holder transfers the funds.We assume this is KeyBank. Enter the ABA or routing number for the financial institution in debitPartyBank.
3The financial institution that services the recipient’s account receives the funds.Enter the US ABA number for the financial institution in creditPartyBank.
4The beneficiary party receives the funds.Enter the account number of the beneficiary in creditParty.

 

API requirements

KeyClientId: When you initiate or validate a payment, you are required to provide the KeyClientId in the request header. The KeyClientId is a 32-character string provided by KeyBank during the onboarding process. This field is not the same as your client credentials (part of your API keys needed to obtain an access token).

 

Psst...pass this note

Want to apply a custom message or tags to your transaction? The custom data feature is available when you send or validate a payment. Define the custom data in the request payload. Learn more about our custom data feature here.


get /rtp/v1/payment/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAMETYPEDESCRIPTION
StatusoptionalstringThe status of the health check response.
SourceoptionalstringThe system that produces the health response. The origin of the response can be 'Gateway' or 'Roundtrip.' Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringThe date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringThe client IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringThe sequence of the IP addresses for systems between the client and the gateway. Addresses are separated by a comma.

Response example (200)

copylink
{
    "Status": "Ok",
    "Source": "Roundtrip",
    "Timestamp": "2022-09-16T02:36:20",
    "ClientIp": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

get /rtp/v1/payment/status/transactionId/{transactionId}

Get the status of a wire transfer.

With GET methods, use a cURL command to generate your request. Select Copy code for easy copy and paste into your command line. Modify the required fields with your information.

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
path FIELDTYPEDESCRIPTION
transactionIdrequiredstringThe unique ID number associated with the original payment request.

Request example

curl --location: 'https://partner-api-qv.keybank.com/rtp/v1/payment/status/transactionId/test123321'
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Authorization: Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "COMPLETED",
    "transactionId": "US21052400000000",
    "requestReference": "RR-KEY-999999-01",
    "sendersReference": "SR-KEY-999999-01",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "12345",
    "creditAccountNumber": "987654321",
    "valueDate": "2023-05-08",
    "transferAmount": 10,
    "transferCurrency": "USD",
    "doddFrank": "NO"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Your request took too long to process. Please try again.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

get /rtp/v1/payment/status/debitAccount/{debitAccount}/reference/{reference}

Get the status of a payment with the debit account number of the payment originator and the request reference number. This call is typically used for troubleshooting an issue with timing or a technical error with a payment transaction. You can assign a request reference number when you initiate or validate a payment. This number is metadata for backend traceability and is not sent with the payment. Use this number with the debit account number for the originating payment. The account number and request reference number must be unique; you cannot use the same request reference number for different transactions.

With GET methods, use a cURL command to generate your request. Select Copy code for easy copy and paste into your command line. Modify the required fields with your information.

 

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
path FIELDTYPEDESCRIPTION
debitAccountrequiredstringThe debit account number of the originator.
referencerequiredstringThe unique request reference number from the original payment request.

Request example

curl --location: 'https://partner-api-qv.keybank.com/rtp/v1/payment/status/debitAccount/12345/reference/RR-KEY-999999-01'
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Authorization: Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "COMPLETED",
    "transactionId": "US21052400000000",
    "requestReference": "RR-KEY-999999-01",
    "sendersReference": "SR-KEY-999999-01",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "12345",
    "creditAccountNumber": "987654321",
    "valueDate": "2023-05-08",
    "transferAmount": 10,
    "transferCurrency": "USD",
    "doddFrank": "NO"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

post /rtp/v1/payment/initiate

Send a wire transfer. Use the requestedService parameter to define the transaction as Wire. With the party object, you can define the receiver as an individual, corporation, or financial institution in the payment chain.

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
BODY FIELDTYPEDESCRIPTION
requestedServicerequiredstringThe type of payment transaction. The transaction request is valid only for the API products with granted access. Valid values: RTP, WIRE
requestReferencerequiredstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
typerequiredstringFor RTP, the type can show if the transaction is a PAYMENT or a DRAFT. For Wire transfers, the type is always DRAFT. 
requestedValueDaterequiredstringDate (YYYY-MM-DD) the transfer will occur.
originatorReferenceoptionalstringAn additional reference value that is meaningful to the party originating the payment.
sendersReferencerequiredstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
bankToBankInstructionsoptionalstringArea to share messages or instructions from one bank to another bank.
ultimateDebitPartyoptionalObjectultParty
debitPartyrequiredObjectparty
debitPartyBankoptionalObjectparty
intermediaryBank1optionalObjectparty
intermediaryBank2optionalObjectparty
intermediaryBank3optionalObjectparty
creditPartyBankrequiredObjectparty
creditPartyrequiredObjectparty
transferAmountrequirednumberAmount of money to transfer in the correct currency format.
transferCurrencyrequiredstringCurrency code for the transfer amount.
externalTemplateNameoptionalstringTBD
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.

Request example

copylink
{
    "requestedService": "WIRE",
    "requestReference": "AZX01234567891011",
    "type": "PAYMENT",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "requestedValueDate": 1621814400,
    "debitParty": {
        "name": "YOUR COMPANY NAME HERE",
        "accountNumber": "001122334455"
    },
    "creditPartyBank": {
        "name": "BENEFICIARY BANK NAME",
        "aba": "000000000"
    },
    "creditParty": {
        "name": "BENEFICIARY NAME",
        "accountNumber": "987654321",
        "postalAddress": {
            "adrLine": [
                "BENEFICIARY ADDRESS LINE 1",
                "BENEFICIARY ADDRESS LINE 2"
            ]
        }
    },
    "transferAmount": 10,
    "transferCurrency": "USD"
}
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "IN_PROCESS",
    "transactionId": "US23050800214592",
    "requestReference": "AZX01234567891011",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "001122334455",
    "creditAccountNumber": "987654321",
    "valueDate": "2023-05-08",
    "transferAmount": 10,
    "transferCurrency": "USD"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "RR-RMC-210720-0123458981",
        "sendersReference": "SR-RMC-210729-11081",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

post /rtp/v1/payment/validate

This call performs all the validation checks needed to initiate a payment without creating a payment.

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
BODY FIELDTYPEDESCRIPTION
requestedServicerequiredstringThe type of payment transaction. The transaction request is valid only for the API products with granted access. Valid values: RTP, WIRE
requestReferencerequiredstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
typerequiredstringFor RTP, the type can show if the transaction is a PAYMENT or a DRAFT. For Wire transfers, the type is always DRAFT. 
requestedValueDaterequiredstringDate (YYYY-MM-DD) the transfer will occur.
originatorReferenceoptionalstringAn additional reference value that is meaningful to the party originating the payment.
sendersReferencerequiredstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
bankToBankInstructionsoptionalstringArea to share messages or instructions from one bank to another bank.
ultimateDebitPartyoptionalObjectultParty
debitPartyrequiredObjectparty
debitPartyBankoptionalObjectparty
intermediaryBank1optionalObjectparty
intermediaryBank2optionalObjectparty
intermediaryBank3optionalObjectparty
creditPartyBankrequiredObjectparty
creditPartyrequiredObjectparty
transferAmountrequirednumberAmount of money to transfer in the correct currency format.
transferCurrencyrequiredstringCurrency code for the transfer amount.
externalTemplateNameoptionalstringTBD
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.

Request example

copylink
{
    "requestedService": "WIRE",
    "requestReference": "AZX01234567891011",
    "type": "PAYMENT",
    "requestedValueDate": 1621814400,
    "originatorReference": "",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "ultimateDebitParty": {
        "name": ""
    },
    "debitParty": {
        "name": "YOUR COMPANY NAME HERE",
        "accountNumber": "001122334455"
    },
    "debitPartyBank": {
        "name": ""
    },
    "creditPartyBank": {
        "name": "BENEFICIARY BANK NAME",
        "aba": "000000000"
    },
    "creditParty": {
        "name": "BENEFICIARY NAME",
        "accountNumber": "987654321",
        "postalAddress": {
            "adrLine": [
                "BENEFICIARY ADDRESS LINE 1",
                "BENEFICIARY ADDRESS LINE 2"
            ]
        }
    },
    "transferAmount": 10,
    "transferCurrency": "USD",
    "customData": ""
}
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "VALID",
    "transactionId": "XZ23050714000000",
    "requestReference": "testWBB25889710252",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "12345",
    "creditAccountNumber": "987654321",
    "transferAmount": 10,
    "transferCurrency": "USD"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials.",
            "detail": {
                "code": "KEY-1005",
                "title": "Error",
                "description": "Additional information about error code."
            }
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Your request took too long to process. Please try again.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}
NAMETYPEDESCRIPTION
ConnectErroroptionalstringAPI connectivity error information, if available.
NAMETYPEDESCRIPTION
coderequiredstringA static code assigned by the network or payment system.
titlerequiredstringBrief title about the error associated with the status code.
descriptionoptionalstringDescription of the error.
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
StatusoptionalstringThe status of the health check response.
SourceoptionalstringThe system that produces the health response. The origin of the response can be 'Gateway' or 'Roundtrip.' Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringThe date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringThe client IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringThe sequence of the IP addresses for systems between the client and the gateway. Addresses are separated by a comma.
NAMETYPEDESCRIPTION
noYesTypeoptionalstringThis field indicates whether the transaction qualifies for Dodd-Frank.
NAMETYPEDESCRIPTION
countrequiredstringThe count of records that match the initial query.
limitrequiredintegerThe maximum number of records returned in the response.
offsetrequiredintegerThe number of records skipped before the response is returned.
partiesoptionalObjectparty
NAMETYPEDESCRIPTION
namerequiredstringName of the party. This can be an individual, a financial institution, or a beneficiary. The name cannot exceed 140 characters.
accountNumberoptionalstringAccount number of the party.
abaoptionalstringIf the party is a financial institution, this is the ABA number or routing number.
bicoptionalstringThe bank identifier code (BIC) for the party. This is a combination code that identifies the bank, country, location, and possibly the bank branch.
txidoptionalstringThe tax identification number for the party.
adrLineoptionalarrayAn unstructured address line. You can have up to three lines of text.
NAMETYPEDESCRIPTION
coderequiredstringStatus code assigned to each error type.
titlerequiredstringBrief title about the error associated with the status code.
descriptionoptionalstringDescription of the error.
detailoptionalObjectdetail
NAMETYPEDESCRIPTION
requestedServicerequiredstringThe type of payment transaction. The transaction request is valid only for the API products with granted access. Valid values: RTP, WIRE
requestReferencerequiredstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
typerequiredstring
For RTP, the type can show if the transaction is a PAYMENT or a DRAFT. For Wire transfers, the type is always DRAFT.
requestedValueDaterequiredstringDate (YYYY-MM-DD) the transfer will occur.
originatorReferenceoptionalstringAn additional reference value that is meaningful to the party originating the payment.
sendersReferencerequiredstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
bankToBankInstructionsoptionalstringArea to share messages or instructions from one bank to another bank.
ultimateDebitPartyoptionalObjectultParty
debitPartyrequiredObjectparty
debitPartyBankoptionalObjectparty
intermediaryBank1optionalObjectparty
intermediaryBank2optionalObjectparty
intermediaryBank3optionalObjectparty
creditPartyBankrequiredObjectparty
creditPartyrequiredObjectparty
transferAmountrequirednumberAmount of money to transfer in the correct currency format.
transferCurrencyrequiredstringCurrency code for the transfer amount.
externalTemplateNameoptionalstringTBD
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
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.
NAMETYPEDESCRIPTION
paymentStatusoptionalstringThe status of the payment transaction. Valid values: IN_PROCESS, IN_REVIEW, COMPLETED, FAILED, RETURNED, ERROR, VALID
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringThe sender reference value from the original request. This is useful for traceability and reporting.
debitAccountNumberoptionalstringThe sender reference value from the original request. This is useful for traceability and reporting.
creditAccountNumberoptionalstringThe sender reference value from the original request. This is useful for traceability and reporting.
valueDateoptionalstringThe date (YYYY-MM-DD) the transferred occurred.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
NAMETYPEDESCRIPTION
nameoptionalstringTypically this is the name of the party that instructed the debit party to initiate a payment. This value cannot exceed 140 characters.
NAMETYPEDESCRIPTION
typeoptionalstringThe five-digit global routing code for a foreign financial institution.
idoptionalstringThe identification number associated with the foreign financial institution.

When an error occurs, the paymentTransactionResponse object returns with the paymentStatus of ERROR. Some errors are reported with the standard HTTP error response. Certain violations report with an HTTP 200 response for issues where the API service successfully receives the request, but it encounters errors. KeyBank may include additional information about the error in API-specific error messages.

For more information about errors, see Error handling.

API-specific KeyBank error codes and details are in the error object of the response payload. Issues can be about account restrictions, network timeout, invalid data in the request, etc., and represent a failed payment.

CODEMESSAGE
KEY-0001Not authorized
KEY-0002Not authorized for requested action
KEY-0003Request exceeds authorized limit
KEY-0004Unauthorized for account
KEY-0005Internal use only fields
KEY-0006Not authorized for requested service
KEY-0008NSF
KEY-1000Transformation Error
KEY-1001Invalid Data
KEY-1002Invalid Bank Identifier
KEY-1003Invalid or unknown template
KEY-1004Invalid account
KEY-1005Invalid Currency
KEY-1006Required field missing
KEY-1007Transaction Not Found
KEY-1008Insufficient Funds
KEY-1009Account has restrictions
KEY-1010Duplicate Request
KEY-1011Payor Account Restrictions
KEY-1012Payee Account Restrictions
KEY-3003Payment network timeout. Please retry.
KEY-3004Payment rejected by payment network
KEY-9997Failed payment review
KEY-9998Payment failed during processing
KEY-9999Unknown error

 

API-specific error example

paymentTransactionResponse:
                      { 
                          "status": "FAILED", 
                          "requestReference": "RR-999999-01", 
                          "sendersReference": "SR-999999-01", 
                          "error": { 
                              "code": "KEY-1002", 
                              "title": "Invalid Bank Identifier", 
                              "description": "Credit Party Bank must be a valid USRTP Participant" 
                          } 
                      }
                    

YAML file download

Account Validation v1

clock 4-minute read calender 1.0.4 | updated May. 29, 2024

Verify an account and its owner with confidence

Important note: This version will soon deprecate and be replaced with Account Validation API v2. We recommend using the latest version and for existing clients to upgrade to v2.

What you can do Endpoint
Health check GET /accounts/validations/v1/healthCheck
Verify an account POST /accounts/validations/v1/verifyAccount

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

When you submit a request to the Account Validation API, the data in that request is compared to information in the National Shared Database. The National Shared Database is the financial industry's leading source of up-to-date, collaborative financial data. Results from the database comparison are evaluated and then returns a response to you in real time, verifying the account owner status quickly.

The following response rules apply for all fields:

  • The account data matched in the database is determined based on the account number (accountNumber) and routing number (routingNumber) in the request.

  • Account matching will be performed only if a request contains firstName and lastName, and/or businessName.

  • All fields included in the request will be matched against the database.

  • Case, spacing, and punctuation are ignored.

Account Validation responses include specific service-level processing information and account-level information as shown below:

 

Service-level

  • System error codes (errorCode)
  • Inquiry field validation error codes

Account-level

  • Condition codes (conditionCode)
  • Account status codes (primaryStatusCode)
  • Account owner field matching (accountOwnerResponse)

 


get /accounts/validations/v1/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAME TYPE DESCRIPTION
Statusoptional string Status of the health check response.
Sourceoptional string Origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string Date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string Client IP address the gateway receives from the request.
X-Forwarded-Foroptional string Sequence 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": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

post /accounts/validations/v1/verifyAccount

Verify that an account owner's name, address, and other identifying elements match the account information in the National Shared Database Resource and that they are authorized to transact on the account. The National Shared Database Resource is the financial industry's leading source of up-to-date, collaborative financial data.

BODY FIELDTYPEDESCRIPTION
accountValidationRequestoptionalObjectaccountValidationRequest

Request example

copylink
{
    "accountValidationRequest": {
        "AOARequest": {
            "Inquiry": {
                "serviceType": "Owner",
                "secondaryId": "KeyCli01",
                "additionalId": "",
                "routingNumber": "122199983",
                "accountNumber": "123456789",
                "amount": "50.50",
                "serialNumber": "",
                "AcctOwner": {
                    "firstName": "Paul",
                    "lastName": "Wilson",
                    "middleName": "V",
                    "namePrefix": "Mr",
                    "nameSuffix": "Son",
                    "businessName": "Business by Paul",
                    "addressLine1": "127 Public Square",
                    "addressLine2": "Suite A",
                    "city": "Cleveland",
                    "state": "OH",
                    "zipCode": "44114",
                    "homePhone": "",
                    "workPhone": "",
                    "ssn": "9976",
                    "dob": "19730801",
                    "idType": "2",
                    "idNo": "6788",
                    "idState": "AL"
                },
                "Client": {
                    "clientDate": "2022-04-08",
                    "clientTime": "11:45:05",
                    "userDefined": "1234567890"
                }
            }
        }
    }
}
NAMETYPEDESCRIPTION
accountValidationResponseoptionalObjectaccountValidationResponse

Response example (200)

copylink
{
    "accountValidationResponse": {
        "AOAResponse": {
            "Result": {
                "errorCode": "000",
                "systemRecordId": "650580221072984",
                "primaryId": "TROM122101",
                "secondaryId": "KeyCli01",
                "routingNumber": "122199983",
                "accountNumber": "123456789",
                "feeAttrib": "HH",
                "amount": "50.50",
                "AcctOwner": {
                    "conditionCode": "000",
                    "nameMatch": "Y",
                    "firstNameMatch": "Y",
                    "lastNameMatch": "Y",
                    "middleNameMatch": "N",
                    "namePrefixMatch": "U",
                    "nameSuffixMatch": "U",
                    "addressMatch": "Y",
                    "cityMatch": "Y",
                    "stateMatch": "Y",
                    "zipCodeMatch": "Y",
                    "ssnMatch": "N",
                    "dobMatch": "Y",
                    "idTypeMatch": "Y",
                    "idNoMatch": "N",
                    "idStateMatch": "Y",
                    "overallMatchScore": "62"
                },
                "AcctStatus": {
                    "primaryStatusCode": "099",
                    "primMessage": "Open Valid"
                },
                "Client": {
                    "clientDate": "2022-04-08",
                    "clientTime": "11:45:05",
                    "userDefined": "1234567890"
                }
            }
        }
    }
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (400)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "abcgd133",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "AOAResponse": {
            "Result": {
                "errorCode": "104"
            }
        }
    }
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "X-CorrelationId": "abcgd133",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access Denied for client ip",
    "X-CorrelationId": "abcgd133",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "X-CorrelationId": "abcgd133",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "X-CorrelationId": "abcgd133",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "X-CorrelationId": "abcgd133",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "X-CorrelationId": "abcgd133",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable(NoActiveTargets), please check with appplication support before resubmitting the request."
    }
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request"
    }
}
NAMETYPEDESCRIPTION
firstNameoptionalstringFirst name of the account owner. Required with lastName if businessName is null.
lastNameoptionalstringLast name of the account owner. Required with firstName if businessName is null.
middleNameoptionalstringMiddle name of the account owner.
namePrefixoptionalstringOptional name prefix of the account owner. This field cannot exceed four characters. Example: Dr., Mr., Mrs.
nameSuffixoptionalstringOptional name suffix of the account owner. This field cannot exceed four characters. Example: Jr., PhD
businessNameoptionalstringBusiness name that owns the account. Required if lastName is null.
addressLine1optionalstringFirst line of the address on the account. This field cannot exceed 40 characters.
addressLine2optionalstringSecond line of the address on the account.
cityoptionalstringCity on the account.
stateoptionalstringTwo-character state abbreviation on the account.
zipCodeoptionalstringZIP code on the account. This can either be five digits or nine digits. If a nine-digit ZIP code is provided, a dash between the groups of digits is acceptable. Do not use a space.
homePhoneoptionalstring10-digit home phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
workPhoneoptionalstring10-digit work phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
ssnoptionalstringFull social security/tax ID number or the last four digits of the social security number of the account owner.
doboptionalstringDate of birth for the individual on the account. Format: YYYYMMDD
idTypeoptionalstringOne-character code that represents the type of identification used to verify the account owner.
idNooptionalstringID number for the account owner's form of identification. This field cannot exceed 28 characters.
idStateoptionalstringTwo-character state of issuance for the account owner's form of identification. If not a US state, enter the place of issuance. This field cannot exceed 6 characters.
NAMETYPEDESCRIPTION
firstNamerequiredstringFirst name of the account owner. Required with lastName if businessName is null.
lastNamerequiredstringLast name of the account owner. Required with firstName if businessName is null.
middleNameoptionalstringMiddle name of the account owner.
namePrefixoptionalstringOptional name prefix of the account owner. This field cannot exceed four characters. Example: Dr., Mr., Mrs.
nameSuffixoptionalstringOptional name suffix of the account owner. This field cannot exceed four characters. Example: Jr., PhD
businessNamerequiredstringBusiness name that owns the account. Required if lastName is null.
addressLine1optionalstringFirst line of the address on the account. This field cannot exceed 40 characters.
addressLine2optionalstringSecond line of the address on the account.
cityoptionalstringCity on the account.
stateoptionalstringTwo-character state abbreviation on the account.
zipCodeoptionalstringZIP code on the account. This can either be five digits or nine digits. If a nine-digit ZIP code is provided, a dash between the groups of digits is acceptable. Do not use a space.
homePhoneoptionalstring10-digit home phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
workPhoneoptionalstring10-digit work phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
ssnoptionalstringFull social security/tax ID number or the last four digits of the social security number of the account owner.
doboptionalstringDate of birth for the individual on the account. Format: YYYYMMDD
idTypeoptionalstringOne-character code that represents the type of identification used to verify the account owner.
idNooptionalstringID number for the account owner's form of identification. This field cannot exceed 28 characters.
idStateoptionalstringTwo-character state of issuance for the account owner's form of identification. If not a US state, enter the place of issuance. This field cannot exceed 6 characters.
NAMETYPEDESCRIPTION
firstNameoptionalstringFirst name of the account owner. Required with lastName if businessName is null.
lastNamerequiredstringLast name of the account owner. Required with firstName if businessName is null.
middleNameoptionalstringMiddle name of the account owner.
namePrefixoptionalstringOptional name prefix of the account owner. This field cannot exceed four characters. Example: Dr., Mr., Mrs.
nameSuffixoptionalstringOptional name suffix of the account owner. This field cannot exceed four characters. Example: Jr., PhD
businessNamerequiredstringBusiness name that owns the account. Required if lastName is null.
addressLine1optionalstringFirst line of the address on the account. This field cannot exceed 40 characters.
addressLine2optionalstringSecond line of the address on the account.
cityoptionalstringCity on the account.
stateoptionalstringTwo-character state abbreviation on the account.
zipCodeoptionalstringZIP code on the account. This can either be five digits or nine digits. If a nine-digit ZIP code is provided, a dash between the groups of digits is acceptable. Do not use a space.
homePhoneoptionalstring10-digit home phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
workPhoneoptionalstring10-digit work phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
ssnoptionalstringFull social security/tax ID number or the last four digits of the social security number of the account owner.
doboptionalstringDate of birth for the individual on the account. Format: YYYYMMDD
idTypeoptionalstringOne-character code that represents the type of identification used to verify the account owner.
idNooptionalstringID number for the account owner's form of identification. This field cannot exceed 28 characters.
idStateoptionalstringTwo-character state of issuance for the account owner's form of identification. If not a US state, enter the place of issuance. This field cannot exceed 6 characters.
NAMETYPEDESCRIPTION
firstNameoptionalstringFirst name of the account owner. Required with lastName if businessName is null.
lastNameoptionalstringLast name of the account owner. Required with firstName if businessName is null.
middleNameoptionalstringMiddle name of the account owner.
namePrefixoptionalstringOptional name prefix of the account owner. This field cannot exceed four characters. Example: Dr., Mr., Mrs.
nameSuffixoptionalstringOptional name suffix of the account owner. This field cannot exceed four characters. Example: Jr., PhD
businessNameoptionalstringBusiness name that owns the account. Required if lastName is null.
addressLine1optionalstringFirst line of the address on the account. This field cannot exceed 40 characters.
addressLine2optionalstringSecond line of the address on the account.
cityoptionalstringCity on the account.
stateoptionalstringTwo-character state abbreviation on the account.
zipCodeoptionalstringZIP code on the account. This can either be five digits or nine digits. If a nine-digit ZIP code is provided, a dash between the groups of digits is acceptable. Do not use a space.
homePhoneoptionalstring10-digit home phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
workPhoneoptionalstring10-digit work phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
ssnoptionalstringFull social security/tax ID number or the last four digits of the social security number of the account owner.
doboptionalstringDate of birth for the individual on the account. Format: YYYYMMDD
idTypeoptionalstringOne-character code that represents the type of identification used to verify the account owner.
idNooptionalstringID number for the account owner's form of identification. This field cannot exceed 28 characters.
idStateoptionalstringTwo-character state of issuance for the account owner's form of identification. If not a US state, enter the place of issuance. This field cannot exceed 6 characters.
NAMETYPEDESCRIPTION
firstNameoptionalstringFirst name of the account owner. Required with lastName if businessName is null.
lastNameoptionalstringLast name of the account owner. Required with firstName if businessName is null.
middleNameoptionalstringMiddle name of the account owner.
namePrefixoptionalstringOptional name prefix of the account owner. This field cannot exceed four characters. Example: Dr., Mr., Mrs.
nameSuffixoptionalstringOptional name suffix of the account owner. This field cannot exceed four characters. Example: Jr., PhD
businessNameoptionalstringBusiness name that owns the account. Required if lastName is null.
addressLine1optionalstringFirst line of the address on the account. This field cannot exceed 40 characters.
addressLine2optionalstringSecond line of the address on the account. This field cannot exceed 40 characters.
cityoptionalstringCity on the account.
stateoptionalstringTwo-character state abbreviation on the account.
zipCodeoptionalstringZIP code on the account. This can either be five digits or nine digits. If a nine-digit ZIP code is provided, a dash between the groups of digits is acceptable. Do not use a space.
homePhoneoptionalstring10-digit home phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
workPhoneoptionalstring10-digit work phone number on the account. Do not add dashes, parenthesis, or any other non-numeric value.
ssnoptionalstringFull social security/tax ID number or the last four digits of the social security number of the account owner.
doboptionalstringDate of birth for the individual on the account. Format: YYYYMMDD
idTypeoptionalstringOne-character code that represents the type of identification used to verify the account owner.
idNooptionalstringID number for the account owner's form of identification. This field cannot exceed 28 characters.
idStateoptionalstringTwo-character state of issuance for the account owner's form of identification. If not a US state, enter the place of issuance. This field cannot exceed 6 characters.
NAME TYPE DESCRIPTION
conditionCodeoptional string Three-digit system response code that reflects the state of the account owner provided.
nameMatchoptional string First name, middle name, and last name match status. Valid values: Y, N, C, U
firstNameMatchoptional string First name match status. Valid values: Y, N, U
lastNameMatchoptional string Last name match status. Valid values: Y, N, U
middleNameMatchoptional string Middle name or initial match status. Valid values: Y, N, U
namePrefixMatchoptional string Name prefix match status. U will always be returned for a name prefix if included in the request. Valid values: Y, N, U
nameSuffixMatchoptional string Name suffix match status. U will always be returned for a name suffix if included in the request. Valid values: Y, N, U
businessNameMatchoptional string Business name match status. Valid values: Y, N, C, U
addressMatchoptional string Combined address line one and two match status. Valid values: Y, N, C, U
cityMatchoptional string City match status. Valid values: Y, N, C, U
stateMatchoptional string State match status. Valid values: Y, N, U
zipCodeMatchoptional string ZIP code match status. Valid values: Y, N, C, U
homePhoneMatchoptional string Home phone number match status. Valid values: Y, N, C, U
workPhoneMatchoptional string Work phone number match status. Valid values: Y, N, C, U
ssnMatchoptional string SSN/TIN or last four digits of SSN match status. Valid values: Y, N, C, U
dobMatchoptional string Date of birth match status. Valid values: Y, N, C, U
idTypeMatchoptional string ID type match status. Valid values: Y, N, U
idNoMatchoptional string ID number match status. Valid values: Y, N, C, U
idStateMatchoptional string State or place of issuance match status. Valid values: Y, N, U
overallMatchScoreoptional string The measure of how closely the inquiry request attributes match the actual account ownership data. This number is calculated based on the analysis of all information sent. Valid values: 0-100
NAMETYPEDESCRIPTION
primaryStatusCodeoptionalstringPrimary three-digit account status code. This is an informational response code that represents the status of an account.
primMessageoptionalstringMessage associated with the primary status code.
NAMETYPEDESCRIPTION
InquiryoptionalObjectinquiry
NAMETYPEDESCRIPTION
errorCodeoptionalstringThree-digit error code. Returns a "000" when no errors are present.
systemRecordIdoptionalstringUnique, system-generated transaction ID.
primaryIdoptionalstringPrimary client ID returned via a KeyBank lookup.
secondaryIdoptionalstringSecondary client ID provided in the original request.
additionalIdoptionalstringAdditional client ID, if provided in the original request.
routingNumberoptionalstringNine-digit routing number for the account provided in the original request.
accountNumberoptionalstringFull bank account number provided in the original request.
feeAttriboptionalstringTwo-character code that represents how a transaction took place. Currently, the only value reported is "HH", which represents an ACH transaction.
amountoptionalstringAmount of the transaction, if provided in the original request.
serialNumberoptionalstringSerial number of the check, if provided in the original request.
AcctOwneroptionalObjectaccountOwnerResponse
AcctStatusoptionalObjectaccountStatus
ClientoptionalObjectclient
NAMETYPEDESCRIPTION
accountValidationRequestoptionalObjectaccountValidationRequest
NAMETYPEDESCRIPTION
accountValidationResponseoptionalObjectaccountValidationResponse
NAMETYPEDESCRIPTION
clientDateoptionalstringClient-provided date the inquiry request was made. Format: YYYY-MM-DD
clientTimeoptionalstringClient-provided time the inquiry request was made. Format: HH:MM:SS
userDefinedoptionalstringClient-provided descriptive text about the inquiry request. This field cannot exceed 255 characters.
NAMETYPEDESCRIPTION
ConnectErroroptionalstringAPI connectivity error information, if available.
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError
NAMETYPEDESCRIPTION
StatusoptionalstringStatus of the health check response.
SourceoptionalstringOrigin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringClient IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringSequence of IP addresses for systems between the client and the gateway.
NAMETYPEDESCRIPTION
serviceTyperequiredstringRepresents the type of request made to the API. This value is case-sensitive and must be set to "Owner".
secondaryIdrequiredstringSecondary client ID provided by KeyBank.
additionalIdoptionalstringAdditional client ID provided by KeyBank. This is only required if provided during onboarding.
routingNumberrequiredstringNine-digit routing number for the account, including leading zeroes.
accountNumberrequiredstringFull bank account number, without separators or leading zeroes. The length and format depends on the bank. This field cannot exceed 17 characters.
amountoptionalstringDollar amount of the transaction. The amount can be formatted as a whole dollar amount or with cents. This field cannot exceed 12 characters.
serialNumberoptionalstringSerial number of the check. Serial number does not apply to ACH inquiries.
AcctOwneroptionalanyOfaccountOwnerFirstLastName accountOwnerBusinessFirstName accountOwnerBusinessName accountOwnerBusinessLastName accountOwnerBusinessFirstLastName
ClientoptionalObjectclient
NAMETYPEDESCRIPTION
errorCodeoptionalstringThree-digit error code. Returns a "000" when no errors are present.

For more information about errors, see Error handling.

When a problem occurs with the capture of the account information from a draftable account item or the evaluation of the request message fields, a 3-digit error code is provided in the response payload (errorCode). If no errors are present, this field is filled with three zeroes.

ERROR CODE DESCRIPTION
000 Normal response - no errors
001 Invalid routing number
003 Invalid account number
005 Invalid serial number
006 Missing a required field
008 Length of account number is incorrect
010 Inquiry field length too short
011 Inquiry field length too long
013 Invalid amount field
103 Client ID does not match
104 Improper data type or value
105 Bad layout or format
106 Missing client record ID
107 Invalid required format
997 Authorization unavailable
998 System failure
999 Timeout

 

Condition codes reflect the state of the account owner data provided. When a condition code is returned in the response payload (conditionCode), users may still receive a partial response, such as an account status.

CONDITION CODE DESCRIPTION
000 Normal response - no system errors
300 Valid routing number, but not a participant
301 Valid participant, but not an account owner authentication contributor
302 Valid participant, but account owner authentication data is unavailable
304 No name field populated - first, last, or business name
396 No known information for the account number
900/901 No account owner response requested or provided

 

Account status codes are the specific account codes that may result from an account validation request and are returned in the response payload in the primaryStatusCode field.

STATUS CODE DESCRIPTION
000 Routing number/account number combination cannot be located
012 Account is closed
096 No positive or negative information is known about the account
099 Account is present in participant's master account file and contains no other status code

 

Depending on the service type configured, the accountOwnerResponse object can contain several fields that end in “Match”. Each of these match fields contains a single-character code that signifies whether or not an account owner element was found.

You can get a confirmation of Y (Yes), N (No), C (Conditional), or U (Unknown). If you get a U with the businessNameMatch it could indicate that the routing and account numbers have been found in the database, but there is no business name associated with the account.

CODE DESCRIPTION Applies to match fields
Y Close or exact match firstNameMatch, lastNameMatch, middleNameMatch, namePrefixMatch, nameSuffixMatch, stateMatch, ssnMatch (if the last four digits are provided in the request), idType, idState
N No match
C Conditional match nameMatch, businessNameMatch, addressMatch, cityMatch, zipCodeMatch,homePhoneMatch, workPhoneMatch, ssnMatch (if nine digits are provided in the request),dobMatch, idNoMatch
U No identifying data is available Applies to all fields

 

ACH Origination

clock 8-minute read calender 1.3.1 | updated May. 29, 2024

Send or collect an ACH transaction, report on the status, or undo a payment

 

What you can do Endpoint
Health check get /ach/payments/v1/healthCheck
Check the status of a payment request post /ach/payments/v1/status
Check the status of addenda records post /ach/payments/v1/status/addenda
Send or collect a payment post /ach/payments/v1/ccd
Make or collect payments to or from a corporate account with attached records post /ach/payments/v1/ctx
Make deposits and withdrawals to or from consumer accounts post /ach/payments/v1/ppd
Send a payment over the phone post /ach/payments/v1/tel
Send an online payment post /ach/payments/v1/web
Undo a payment request post /ach/payments/v1/undo
Send additional addenda information post /ach/payments/v1/addenda

 

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

 

Sometimes it's the details

You can add details to your transaction. Use custom data feature when you send or validate a payment. Define the customData in the request payload. Learn more about our custom data feature here.

ACH stands for Automated Clearing House. ACH payments are electronic funds transfers (EFTs), a type of electronic payment that transfers funds between bank accounts within the United States. ACH payments are often less expensive than wire transfers, with lower or no transaction fees. Most commonly, ACH payments are used for direct deposit of payroll, recurring bill payments, online purchases, and person-to-person transfers.

How does it work?

The ACH Origination process starts with a payment or collection request made by a financial institution or client (business or individual). In the request, the payment method (SEC code) and transaction type (credit or debit) must be defined. The API automatically assigns the effective date and other data, like the trace number.

You get a trace number after you initiate an ACH transaction. The trace number is a unique identifier for an ACH transaction generated by the API. The trace number is useful for transaction inquiries and traceability. Save this trace number if you intend to check on the progress of the ACH transaction. For multiple payment requests, the trace number may not be in sequential order.

A request generates a batch response that includes the status and payment details by SEC code. For the consolidation, we store records from the batch, detail, and addenda schemas. You can include up to ten accounts with each request. For each submitted request, you can check on the status and progress of the payment or addenda report.

Except for TEL type transaction, all the SEC code types can include addenda information with the response. If an addenda item returns a large set of records (common with CTX), it initiates the addenda request. This request adds additional addenda records to a detail item. Currently, only details that are associated to a batch having a CTX SEC code can have additional addenda records added.

API requirements

 

UUID: UUID stands for Universally Unique Identifier. This is a useful attribute to recall a transaction before the next batch cycle runs. Since the UUID field is required to undo an ACH payment request, KeyBank strongly encourages the UUID is included with all ACH Origination calls.

The batch and the individual UUID can be the same, but KeyBank recommends that you use different UUID values.


Client information values: After you have completed the onboarding process with KeyBank, KeyBank provides the client (point) and client account (colllectionApplicationId, collectionApplicationType) information via secure email. These fields are required for any ACH Origination call with a SEC code.


SEC code: In the request payload, you must specify the Standard Entry Class (SEC) code for the transaction. The ACH Origination API supports these SEC codes: CCD, CTX, PPD, TEL, WEB. Review the details on SEC codes in our user guide.


get /ach/payments/v1/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAME TYPE DESCRIPTION
Statusoptional string The status of the health check response.
Sourceoptional string The origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string The date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string The client IP address the gateway receives from the request.
X-Forwarded-Foroptional string The sequence of the 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": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

post /ach/payments/v1/status

Check the return status of one or more transactions. Use this request to see if the originated item failed, was accepted, is waiting for one or more addenda items, or is being processed.

BODY FIELDTYPEDESCRIPTION
detailStatusoptionalarraypaymentInquiryDetailRequest

Request example

copylink
{
    "detailStatus": [
        {
            "uuid": "qas220602x-49eb-47664-b94rhd1-e52e2re11001"
        }
    ]
}
NAMETYPEDESCRIPTION
detailsoptionalarraydetailStatusResponse
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/status/addenda

Check the return status of one or more addenda records

BODY FIELDTYPEDESCRIPTION
uuidrequiredstringA custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pageSizeoptionalstringThe number of records to be returned in the pagination search.
startAddendaSequenceNumberoptionalstringThe starting number for the addenda record sequence.

Request example

copylink
{
    "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001",
    "pageSize": "10",
    "startAddendaSequenceNumber": "0001"
}
NAMETYPEDESCRIPTION
uuidoptionalstringA custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptionalstringThe status of the batch can be accepted or rejected.
errorMessagesoptionalarraydetailMessage
traceNumberoptionalstringThe unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
informationMessagesoptionalarraydetailMessage
addendaoptionalarraybaseAddendaDetailResponse

Response example (200)

copylink
{
    "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001",
    "status": "accepted",
    "traceNumber": "041001030009004",
    "informationMessages": [
        {
            "code": "1002040-50I",
            "moreInfo": "All addenda have been received."
        }
    ],
    "errorMessages": [],
    "addenda": [
        {
            "addendaTypeCode": "05",
            "addendaSequenceNumber": "0001",
            "paymentRelatedInformation": "Undo WEB PAYMENT GOOD ITEM"
        }
    ]
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/ccd

Make or collect payments to a corporate account. This call originates an ACH transaction for SEC code CCD (Corporate Credit or Debit). Use this request to send or collect cash, debit, or credit transactions between the buyer and seller financial institution accounts. This can also be used by companies to move funds and deposit to a central bank account.

BODY FIELDTYPEDESCRIPTION
batchrequiredObjectbatchRequestCCDDetailRequest
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.

Request example

copylink
{
    "batch": {
        "collectionApplicationId": "TEST",
        "point": "APITEST1",
        "secCode": "CCD",
        "uuid": "daily001-qas230109-010300-005",
        "collectionApplicationType": "",
        "effectiveDate": "230211",
        "companyDescriptiveDate": "230211",
        "companyEntryDescription": "Payroll",
        "details": [
            {
                "DFIAccountNumber": "123456",
                "accountType": "C",
                "amount": "0.01",
                "checkDigit": "9",
                "creditDebitCode": "C",
                "receivingCompanyName": "ProdTest001",
                "receivingDFIId": "04100103",
                "transactionType": "L",
                "uuid": "daily001-qas230109-010301-0026",
                "identificationNumber": "099999999a",
                "discretionaryData": "AB",
                "addenda": [
                    {
                        "paymentRelatedInformation": "DAILYTEST0103A"
                    }
                ]
            }
        ]
    }
}
NAMETYPEDESCRIPTION
batchrequiredObjectacceptedBatchResponseAcceptedDetailResponse

Response example (200)

copylink
{
    "batch": {
        "uuid": "daily001-qas230109-010300-005",
        "status": "accepted",
        "requestAcceptedUTCTime": "2023-05-03T17:04:03Z",
        "effectiveDate": "230211",
        "informationMessages": [
            {
                "code": "1006040-65I",
                "moreInfo": "Effective date assigned 230211."
            }
        ],
        "errorMessages": [],
        "details": [
            {
                "uuid": "daily001-qas230109-010301-0026",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030013025",
                "requestAcceptedUTCTime": "2023-05-03T17:04:03Z"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/ctx

Submit or collect a payment from one business/entity to another. This call originates an ACH transaction for SEC code CTX (Corporate Trade Exchange). Use this request to send or collect an electronic payment with remittance information.

BODY FIELDTYPEDESCRIPTION
batchrequiredObjectbatchRequestCTXDetailRequest
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.

Request example

copylink
{
    "batch": {
        "collectionApplicationId": "TEST2",
        "point": "APITEST1",
        "secCode": "CTX",
        "uuid": "test3c377-bat338-ctxf-bcd6fehdd0-031103",
        "collectionApplicationType": "",
        "effectiveDate": "230411",
        "companyDescriptiveDate": "230411",
        "companyEntryDescription": "Payroll",
        "details": [
            {
                "DFIAccountNumber": "111011",
                "accountType": "S",
                "checkDigit": "0",
                "creditDebitCode": "C",
                "numberOfAddendaRecords": "1",
                "receivingCompanyNameIDNumber": "YourTest301",
                "receivingDFIId": "06100001",
                "totalAmount": "1.31",
                "transactionType": "L",
                "uuid": "test3c377-det338-ctxf-dcd6fehdd0-030104",
                "identificationNumber": "099999999",
                "discretionaryData": "AK",
                "addenda": [
                    {
                        "paymentRelatedInformation": "YourTest03.01"
                    }
                ]
            }
        ]
    }
}
NAMETYPEDESCRIPTION
batchrequiredObjectacceptedBatchResponseAcceptedDetailResponse

Response example (200)

copylink
{
    "batch": {
        "uuid": "test3c377-bat338-ctxf-bcd6fehdd0-031103",
        "status": "accepted",
        "requestAcceptedUTCTime": "2023-05-03T17:06:02Z",
        "effectiveDate": "230411",
        "informationMessages": [
            {
                "code": "1006040-65I",
                "moreInfo": "Effective date assigned 230411."
            }
        ],
        "errorMessages": [],
        "details": [
            {
                "uuid": "test3c377-det338-ctxf-dcd6fehdd0-030104",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030013026",
                "requestAcceptedUTCTime": "2023-05-03T17:06:02Z"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/ppd

Submit or collect a payment based on consumer authorization and terms of service. This call originates an ACH transaction for SEC code PPD (Prearranged Payments and Debits). Use this request to send or collect a routine electronic payment, like a subscription or monthly payment plan.

BODY FIELDTYPEDESCRIPTION
batchrequiredObjectbatchRequestPPDDetailRequest
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.

Request example

copylink
{
    "batch": {
        "collectionApplicationId": "TEST",
        "point": "APITEST1",
        "secCode": "PPD",
        "uuid": "qas22517-4d3338-4c6f-bcd6fehdd0-1234360",
        "collectionApplicationType": "",
        "effectiveDate": "230211",
        "companyDescriptiveDate": "230211",
        "companyEntryDescription": "Payroll",
        "details": [
            {
                "DFIAccountNumber": "123456789",
                "accountType": "S",
                "amount": "520.25",
                "checkDigit": "9",
                "creditDebitCode": "C",
                "individualName": "QASTest005",
                "receivingDFIId": "04100103",
                "transactionType": "L",
                "uuid": "qas220330A-49eb-47664-b94rhd1-12361",
                "individualIdentificationNumber": "099999999a",
                "discretionaryData": "AB",
                "addenda": [
                    {
                        "paymentRelatedInformation": "QASTest02.02A"
                    }
                ]
            },
            {
                "DFIAccountNumber": "234567891",
                "accountType": "S",
                "amount": "0.00",
                "checkDigit": "2",
                "creditDebitCode": "C",
                "individualName": "QASTest006",
                "receivingDFIId": "24107121",
                "transactionType": "P",
                "uuid": "qas220330A-49eb-47664-b94rhd1-12362",
                "individualIdentificationNumber": "099999999b",
                "discretionaryData": "BC"
            },
            {
                "DFIAccountNumber": "345678912",
                "accountType": "S",
                "amount": "1794.91",
                "checkDigit": "2",
                "creditDebitCode": "D",
                "individualName": "QASTest006",
                "receivingDFIId": "24107121",
                "transactionType": "L",
                "uuid": "qas220330A-49eb-47664-b94rhd1-12363",
                "individualIdentificationNumber": "099999999c",
                "discretionaryData": "BC",
                "addenda": [
                    {
                        "paymentRelatedInformation": "QASTest02.02C"
                    }
                ]
            }
        ]
    }
}
NAMETYPEDESCRIPTION
batchrequiredObjectacceptedBatchResponseAcceptedDetailResponse

Response example (200)

copylink
{
    "batch": {
        "uuid": "qas22517-4d3338-4c6f-bcd6fehdd0-1234360",
        "status": "accepted",
        "requestAcceptedUTCTime": "2023-05-03T17:08:45Z",
        "effectiveDate": "230211",
        "informationMessages": [
            {
                "code": "1006040-65I",
                "moreInfo": "Effective date assigned 230211."
            }
        ],
        "errorMessages": [],
        "details": [
            {
                "uuid": "qas220330A-49eb-47664-b94rhd1-12361",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030012784",
                "requestAcceptedUTCTime": "2023-05-03T17:08:45Z"
            },
            {
                "uuid": "qas220330A-49eb-47664-b94rhd1-12362",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030012785",
                "requestAcceptedUTCTime": "2023-05-03T17:08:45Z"
            },
            {
                "uuid": "qas220330A-49eb-47664-b94rhd1-12363",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030012786",
                "requestAcceptedUTCTime": "2023-05-03T17:08:45Z"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/tel

Authorize and submit a payment by the phone.

BODY FIELDTYPEDESCRIPTION
batchrequiredObjectbatchRequestTELDetailRequest
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.

Request example

copylink
{
    "batch": {
        "collectionApplicationId": "TEST",
        "point": "APITEST1",
        "secCode": "TEL",
        "uuid": "qas22523-4d3338-4c6f-bcd6fehdd0-12349",
        "collectionApplicationType": "",
        "effectiveDate": "230211",
        "companyDescriptiveDate": "230211",
        "companyEntryDescription": "Payroll",
        "details": [
            {
                "DFIAccountNumber": "1234567890123452",
                "accountType": "C",
                "amount": "5963.88",
                "checkDigit": "0",
                "creditDebitCode": "D",
                "individualName": "QASTest014",
                "receivingDFIId": "06100001",
                "transactionType": "L",
                "uuid": "qas22523-f76-44eb-a7014041047",
                "individualIdentificationNumber": "099999999",
                "paymentTypeCode": "R"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
batchrequiredObjectacceptedBatchResponseAcceptedDetailResponse

Response example (200)

copylink
{
    "batch": {
        "uuid": "qas22523-4d3338-4c6f-bcd6fehdd0-12349",
        "status": "accepted",
        "requestAcceptedUTCTime": "2023-05-03T17:10:58Z",
        "effectiveDate": "230211",
        "informationMessages": [
            {
                "code": "1006040-65I",
                "moreInfo": "Effective date assigned 230211."
            }
        ],
        "errorMessages": [],
        "details": [
            {
                "uuid": "qas22523-f76-44eb-a7014041047",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030013030",
                "requestAcceptedUTCTime": "2023-05-03T17:10:58Z"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/web

Authorize and submit a payment on a website.

BODY FIELDTYPEDESCRIPTION
batchrequiredObjectbatchRequestWEBDetailRequest
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.

Request example

copylink
{
    "batch": {
        "collectionApplicationId": "TEST",
        "point": "APITEST1",
        "secCode": "WEB",
        "uuid": "qas22523-4d3338-4c6f-bcd6fehdd0-41033",
        "collectionApplicationType": "",
        "effectiveDate": "230211",
        "companyDescriptiveDate": "",
        "companyEntryDescription": "Payroll",
        "details": [
            {
                "DFIAccountNumber": "123546789",
                "accountType": "C",
                "amount": "0.00",
                "checkDigit": "0",
                "creditDebitCode": "D",
                "individualName": "QASTest014",
                "receivingDFIId": "06100001",
                "transactionType": "P",
                "uuid": "qas22523-f76-44eb-a7014041034",
                "individualIdentificationNumber": "099999999",
                "paymentTypeCode": "R",
                "addenda": [
                    {
                        "paymentRelatedInformation": "DAILYTEST0103A"
                    }
                ]
            }
        ]
    }
}
NAMETYPEDESCRIPTION
batchrequiredObjectacceptedBatchResponseAcceptedDetailResponse

Response example (200)

copylink
{
    "batch": {
        "uuid": "qas22523-4d3338-4c6f-bcd6fehdd0-41033",
        "status": "accepted",
        "requestAcceptedUTCTime": "2023-05-03T17:13:45Z",
        "effectiveDate": "230211",
        "informationMessages": [
            {
                "code": "1006040-65I",
                "moreInfo": "Effective date assigned 230211."
            }
        ],
        "errorMessages": [],
        "details": [
            {
                "uuid": "qas22523-f76-44eb-a7014041034",
                "status": "accepted",
                "errorMessages": [],
                "informationMessages": [],
                "traceNumber": "041001030012787",
                "requestAcceptedUTCTime": "2023-05-03T17:13:45Z"
            }
        ]
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/undo

Reverse a payment request before it enters consolidation.

BODY FIELDTYPEDESCRIPTION
uuidrequiredstringA custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.

Request example

copylink
{
    "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001"
}
NAMETYPEDESCRIPTION
uuidrequiredstringA custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptionalstringThe status of a batch record can be accepted or rejected. The status of a detailed record can be deleted, accepted, rejected, notFound, or waitingForAddenda.
errorMessagesoptionalarraydetailMessage
informationMessagesoptionalarraydetailMessage
traceNumberoptionalstringThe unique number for the ACH transaction. Record this number for possible ACH inquiry requests.

Response example (200)

copylink
{
    "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001",
    "status": "accepted",
    "errorMessages": [
        {
            "code": "1006040-651"
        },
        {
            "moreInfo": "Effective date assigned 220411"
        }
    ],
    "informationMessages": [
        {
            "code": "1006040-651"
        },
        {
            "moreInfo": "Effective date assigned 220411"
        }
    ],
    "traceNumber": "041001030008013"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}

post /ach/payments/v1/addenda

Add records to an existing ACH transaction.

BODY FIELDTYPEDESCRIPTION
addendarequiredarrayaddendaRequest
uuidrequiredstringA custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.

Request example

copylink
{
    "addenda": [
        {
            "paymentRelatedInformation": "0410*820412***PER*AP*QAS TESTING*IT*N1*PR*THE QAS COMPANY*         0",
            "addendaSequenceNumber": "002"
        },
        {
            "paymentRelatedInformation": "3*ROUTE 1234*BOX 1234\\N5*TESTING*",
            "addendaSequenceNumber": "003"
        },
        {
            "paymentRelatedInformation": "TM*003*820311\\RMT*IV*0302892**252640\\DTM*003*820315\\RMT*IV*0302960**593835\\",
            "addendaSequenceNumber": "004"
        }
    ],
    "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001"
}
NAMETYPEDESCRIPTION
uuidoptionalstringA custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptionalstringThe overall status of the addenda request can be accepted or rejected.
traceNumberoptionalstringThe unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
informationMessagesoptionalarraydetailMessage
errorMessagesoptionalarraydetailMessage
addendaoptionalarrayaddendaResponse
requestAcceptedUTCTimeoptionalstringThe date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ

Response example (200)

copylink
{
    "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001",
    "status": "accepted",
    "traceNumber": "41001030008011",
    "informationMessages": [
        {
            "code": "1002040-50II",
            "moreInfo": "All addenda have been received."
        }
    ],
    "errorMessages": [],
    "addenda": [
        {
            "status": "accepted",
            "errorMessages": [],
            "informationMessages": []
        }
    ],
    "requestAcceptedUTCTime": "2022-05-25T16:33:46Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
NAMETYPEDESCRIPTION
ErrorMessageoptionalstringError message related to system generating this error.
TransactionIdoptionalstringUnique functional identifier from the data to identify a message.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringTime of the occurrence of the error of the message.
ServiceErroroptionaloneOfdetailMessage connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}
NAME TYPE DESCRIPTION
uuidoptional string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptional string The overall status of the addenda request can be accepted or rejected.
traceNumberoptional string The unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
informationMessagesoptional array detailMessage
errorMessagesoptional array detailMessage
addendaoptional array addendaResponse
requestAcceptedUTCTimeoptional string The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SS.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusrequired string The status of the batch can be accepted or rejected.
requestAcceptedUTCTimeoptional string The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SS.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
informationMessagesoptional array detailMessage
errorMessagesoptional array detailMessage
detailsoptional array acceptedDetailResponse
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptional string The overall status of the addenda can be accepted or rejected.
errorMessagesoptional array detailMessage
informationMessagesoptional array detailMessage
traceNumberoptional string The unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
requestAcceptedUTCTimeoptional string The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SS.
NAME TYPE DESCRIPTION
paymentRelatedInformationrequired string The related payment information for the addenda records. The limit is 80 characters.
addendaSequenceNumberrequired string The sequence number of the addenda. The number cannot exceed 4 digits.
NAME TYPE DESCRIPTION
addendarequired array addendaRequest
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
NAME TYPE DESCRIPTION
statusoptional string The overall status of the addenda request can be accepted or rejected.
errorMessagesoptional array detailMessage
informationMessagesoptional array detailMessage
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pageSizeoptional string The number of records to be returned in the pagination search.
startAddendaSequenceNumberoptional string The starting number for the addenda record sequence.
NAME TYPE DESCRIPTION
uuidoptional string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptional string The status of the batch can be accepted or rejected.
errorMessagesoptional array detailMessage
traceNumberoptional string The unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
informationMessagesoptional array detailMessage
addendaoptional array baseAddendaDetailResponse
NAME TYPE DESCRIPTION
addendaTypeCodeoptional string The type code for the addenda. The value is '05'.
addendaSequenceNumberoptional string The sequence number of the addenda. The number cannot exceed 4 digits.
paymentRelatedInformationoptional string The related payment information from the addenda records. The maximum character limit is 80.
NAME TYPE DESCRIPTION
paymentRelatedInformationrequired string The related payment information for the addenda records. The limit is 80 characters.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptional string The status of a batch record can be accepted or rejected. The status of a detailed record can be deleted, accepted, rejected, notFound, or waitingForAddenda.
errorMessagesoptional array detailMessage
informationMessagesoptional array detailMessage
traceNumberoptional string The unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pointrequired string A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
collectionApplicationIdrequired string This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
collectionApplicationTypeoptional string A subset of the collection application parameters. This is not commonly used and by default, left blank. If there is a collection application type, the value is provided by KeyBank during onboarding and cannot exceed 6 characters.
secCoderequired string The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, PPD, TEL, WEB.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
companyDescriptiveDateoptional string Company descriptive date. Format: YMMDD
companyEntryDescriptionrequired string Provides the receiver a description of the payment purpose, like “Payroll”, “REFUND”, “CLOSING”, or “Payment”. The value cannot exceed 10 characters and cannot be blank.
detailsoptional array cCDDetailRequest
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pointrequired string A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
collectionApplicationIdrequired string This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
collectionApplicationTypeoptional string A subset of the collection application parameters. This is not commonly used and by default, left blank. If there is a collection application type, the value is provided by KeyBank during onboarding and cannot exceed 6 characters.
secCoderequired string The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, PPD, TEL, WEB.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
companyDescriptiveDateoptional string Company descriptive date. Format: YMMDD
companyEntryDescriptionrequired string Provides the receiver a description of the payment purpose, like “Payroll”, “REFUND”, “CLOSING”, or “Payment”. The value cannot exceed 10 characters and cannot be blank.
detailsoptional array cTXDetailRequest
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pointrequired string A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
collectionApplicationIdrequired string This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
collectionApplicationTypeoptional string A subset of the collection application parameters. This is not commonly used and by default, left blank. If there is a collection application type, the value is provided by KeyBank during onboarding and cannot exceed 6 characters.
secCoderequired string The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, PPD, TEL, WEB.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
companyDescriptiveDateoptional string Company descriptive date. Format: YMMDD
companyEntryDescriptionrequired string Provides the receiver a description of the payment purpose, like “Payroll”, “REFUND”, “CLOSING”, or “Payment”. The value cannot exceed 10 characters and cannot be blank.
detailsoptional array pPDDetailRequest
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pointrequired string A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
collectionApplicationIdrequired string This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
collectionApplicationTypeoptional string A subset of the collection application parameters. This is not commonly used and by default, left blank. If there is a collection application type, the value is provided by KeyBank during onboarding and cannot exceed 6 characters.
secCoderequired string Standard Entry Class Code. Length must be exactly 3 alphabetical characters and adhere to Nacha rules.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
companyDescriptiveDateoptional string Company descriptive date. Format: YMMDD
companyEntryDescriptionrequired string Provides the receiver a description of the payment purpose, like “Payroll”, “REFUND”, “CLOSING”, or “Payment”. The value cannot exceed 10 characters and cannot be blank.
detailsoptional array telDetailRequest
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
pointrequired string A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
collectionApplicationIdrequired string This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
collectionApplicationTypeoptional string A subset of the collection application parameters. This is not commonly used and by default, left blank. If there is a collection application type, the value is provided by KeyBank during onboarding and cannot exceed 6 characters.
secCoderequired string The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, PPD, TEL, WEB.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
companyDescriptiveDateoptional string Company descriptive date. Format: YMMDD
companyEntryDescriptionrequired string Provides the receiver a description of the payment purpose, like “Payroll”, “REFUND”, “CLOSING”, or “Payment”. The value cannot exceed 10 characters and cannot be blank.
detailsoptional array webDetailRequest
NAME TYPE DESCRIPTION
batchrequired Object batchRequestCCDDetailRequest
customDataoptional string The 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.
NAME TYPE DESCRIPTION
batchrequired Object batchRequestCTXDetailRequest
customDataoptional string The 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.
NAME TYPE DESCRIPTION
batchrequired Object batchRequestPPDDetailRequest
customDataoptional string The 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.
NAME TYPE DESCRIPTION
batchrequired Object batchRequestTELDetailRequest
customDataoptional string The 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.
NAME TYPE DESCRIPTION
batchrequired Object batchRequestWEBDetailRequest
customDataoptional string The 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.
NAME TYPE DESCRIPTION
batchrequired Object acceptedBatchResponseAcceptedDetailResponse
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to idenitfy each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
accountTyperequired string The account type can be checking (C) or savings (S). Valid values: C, S.
creditDebitCoderequired string One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.
transactionTyperequired string NACHA-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z.
receivingDFIIdrequired string Receiving DFI ID can be maximum of 8 digits.
checkDigitrequired string The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
DFIAccountNumberrequired string The account number of the depository financial institution (the recipient's bank). The account number can be a maximum of 17 characters.
amountrequired string The transaction amount in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
identificationNumberoptional string Identifcation number for the detail record. The number cannot exceed 15 characters.
receivingCompanyNamerequired string The name of the receiving company. The name cannot exceed a maximum of 22 characters.
discretionaryDataoptional string Further identification of the company or used to describe the type of entries being processed. The ID can be a maximum of 2 characters.
addendaoptional array baseAddendaRequest
NAME TYPE DESCRIPTION
ConnectErroroptional string Error information of the connectivity with downstream service.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
accountTyperequired string The account type can be checking (C) or savings (S). Valid values: C, S.
creditDebitCoderequired string One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.
transactionTyperequired string NACHA-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z.
receivingDFIIdrequired string The bank routing number (ABA number) of the recipient's bank. The routing number can be a maximum of 8 digits.
checkDigitrequired string The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
DFIAccountNumberrequired string The recipient account number at the recipient's bank. The account number can be a maximum of 17 characters.
totalAmountrequired string The total amount of the transactions in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
identificationNumberoptional string Identification number for the detail record. The number cannot exceed 15 characters.
numberOfAddendaRecordsrequired string Count of addenda records. This cannot exceed 4 digits.
receivingCompanyNameIDNumberrequired string The name and ID of the receiving company. This field cannot exceed 16 characters.
discretionaryDataoptional string Discretionary Data can be a maximum of 2 characters.
addendaoptional array baseAddendaRequest
NAME TYPE DESCRIPTION
codeoptional string A static status code assigned by the network or payment system.
moreInfooptional string Detailed descriptive message.
NAME TYPE DESCRIPTION
detailStatusoptional array paymentInquiryDetailRequest
NAME TYPE DESCRIPTION
detailsoptional array detailStatusResponse
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
statusoptional string The status of the batch can be accepted or rejected.
errorMessagesoptional array detailMessage
informationMessagesoptional array detailMessage
traceNumberoptional string The unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
requestAcceptedUTCTimeoptional string The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SS.
requestDeletedUTCTimeoptional string The date and time the request was deleted in UTC time. Format: YYYY-MM-DDTHH:MM:SS.
requestLastUpdatedUTCTimeoptional string The date and time the request was updated in UTC time. Format: YYYY-MM-DDTHH:MM:SS.
pointoptional string A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
collectionApplicationIdoptional string This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
collectionApplicationTypeoptional string A subset of the collection application parameters. This is not commonly used and by default, left blank. If there is a collection application type, the value is provided by KeyBank during onboarding and cannot exceed 6 characters.
secCodeoptional string The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, PPD, TEL, WEB.
effectiveDateoptional string The date the transaction is posted. This date must be within 90 days of the current date. Format:YYMMDD
companyDescriptiveDateoptional string Company descriptive date. Format: YMMDD
batchNumberoptional string The number associated with the batch. It can be a maximum of 7 digits.
companyNameoptional string The name of the corporation or institution making the request. The name cannot exceed 16 characters or have spaces.
companyDiscretionaryDataoptional string Discretionary data for the company.
companyIdentificationoptional string The identification number of the company. This cannot exceed 15 digits.
companyEntryDescriptionoptional string The entry description for the company.
originatingDFIIdoptional string The ID of the originating depository financial institution. This cannot exceed the maximum of 8 digits.
accountTypeoptional string The account type can be checking (C) or savings (S). Valid values: C, S.
creditDebitCodeoptional string One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.
transactionTypeoptional string NACHA-defined transaction types can be L (live), P (prenote), or Z (zero). Valid values: L, P, Z.
transcationCodeoptional string A two-character field that specifies the billing credit transaction code.
receivingDFIIdoptional string The bank routing number (ABA number) of the recipient's bank. The routing number can be a maximum of 8 digits.
checkDigitoptional string The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
dfiAccountNumberoptional string The recipient account number at the recipient's bank.
amountoptional string The transaction amount in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
identificationNumberoptional string Identification number for the detail record. The number cannot exceed 15 characters.
receivingCompanyNameoptional string The name of the receiving company. The name cannot exceed a maximum of 22 characters.
discretionaryDataoptional string Further identification of the company or used to describe the type of entries being processed. The ID cannot exceed the maximum of 20 characters.
totalAmountoptional string The total amount of the transactions in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
receivingCompanyNameIDNumberoptional string The name and ID of the receiving company. This field cannot exceed 16 characters.
individualIdentificationNumberoptional string The ID number for the individual. This cannot exceed 15 characters.
individualNameoptional string The name of the individual. This cannot exceed 22 characters.
paymentTypeCodeoptional string The code is a maximum of four characters. This field returns two empty spaces if the code is not provided by the client.
numberOfAddendaRecordsoptional string Count of addenda records. This cannot exceed 4 digits.
numberOfAddendaReceivedoptional string Count of addenda records received.
addendaoptional array baseAddendaDetailResponse
fileCreationDateoptional string The date the file was create in YYMMDD format.
fileCreationTimeoptional string The time the file was created.
fileIdModifieroptional string The file ID modifier to control the totals with a single alphanumeric value.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
NAME TYPE DESCRIPTION
ErrorMessageoptional string Error message related to system generating this error.
TransactionIdoptional string Unique functional identifier from the data to identify a message.
X-CorrelationIdoptional string A unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptional string Time of the occurrence of the error of the message.
ServiceErroroptional oneOf detailMessage connectError
NAME TYPE DESCRIPTION
Statusoptional string The status of the health check response.
Sourceoptional string The origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string The date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string The client IP address the gateway receives from the request.
X-Forwarded-Foroptional string The sequence of the IP addresses for systems between the client and the gateway.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
accountTyperequired string The account type can be checking (C) or savings (S). Valid values: C, S.
creditDebitCoderequired string One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.
transactionTyperequired string NACHA-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z.
receivingDFIIdrequired string The bank routing number (ABA number) of the recipient's bank. The routing number can be a maximum of 8 digits.
checkDigitrequired string The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
DFIAccountNumberrequired string The account number of the depository financial institution (the recipient's bank). The account number can be a maximum of 17 characters.
amountrequired string The transaction amount in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
individualNamerequired string The name of the individual. This cannot exceed 22 characters.
individualIdentificationNumberoptional string The ID number for the individual. This cannot exceed 15 characters.
discretionaryDataoptional string Further identification of the company or used to describe the type of entries being processed. The ID can be a maximum of 2 characters.
addendaoptional array baseAddendaRequest
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
accountTyperequired string The account type can be checking (C) or savings (S). Valid values: C, S.
creditDebitCoderequired string One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.
transactionTyperequired string NACHA-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z.
receivingDFIIdrequired string The bank routing number (ABA number) of the recipient's bank. The routing number can be a maximum of 8 digits.
checkDigitrequired string The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
DFIAccountNumberrequired string The recipient account number at the recipient's bank. The account number can be a maximum of 17 characters.
amountrequired string The transaction amount in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
individualIdentificationNumberoptional string The ID number for the individual. This cannot exceed 15 characters.
individualNamerequired string The name of the individual. This cannot exceed 22 characters.
paymentTypeCodeoptional string The code is a maximum of two characters. The code is two empty spaces if the code is not provided by the client.
NAME TYPE DESCRIPTION
uuidrequired string A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
accountTyperequired string The account type can be checking (C) or savings (S). Valid values: C, S.
creditDebitCoderequired string One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.
transactionTyperequired string NACHA-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z.
receivingDFIIdrequired string The bank routing number (ABA number) of the recipient's bank. The routing number can be a maximum of 8 digits.
checkDigitrequired string The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
DFIAccountNumberrequired string The recipient account number at the recipient's bank. The account number can be a maximum of 17 characters.
amountrequired string The transaction amount in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
individualIdentificationNumberoptional string The ID number for the individual. This cannot exceed 15 characters.
individualNamerequired string The name of the individual. This cannot exceed 22 characters.
paymentTypeCodeoptional string The code is a maximum of two characters. The code is two empty spaces if the code is not provided by the client.
addendaoptional array baseAddendaRequest

For more information about errors, see Error handling.


YAML file download

RTP Send Payment

clock 5-minute read calender 1.2.3 | updated May. 29, 2024

Transfer money immediately and at any time

What you can doEndpoint
Health checkget /rtp/v1/payment/healthCheck
Get a list of RTP participantsget /rtp/v1/payment/rtp/participant
Get information about one RTP participantget /rtp/v1/payment/rtp/participant/{routingNumber}
Get the status with the transaction IDget /rtp/v1/payment/status/transactionId/{transactionId}
Get the status with the request reference numberget /rtp/v1/payment/status/debitAccount/{debitAccount}/reference/{reference}
Send a real-time paymentpost /rtp/v1/payment/initiate
Perform validation checkspost /rtp/v1/payment/validate

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

 

Two in one

At KeyBank, the RTP and wire payment APIs are a single API product with two service capabilities. You need specific permissions to access either the RTP Send Payment API or the Wire Transfer API.

You can initiate a real-time payment, check on its status, and get information about participating parties.

RTP stands for Real-Time Payment. It is a modern payment system that enables immediate and real-time fund transfers between financial institution or individuals. RTP transactions use the clearing house’s RTP network, which operates 24/7, allowing for instant payment settlement. RTP payments are often used for person-to person transfers, bill payments, and business-to-business transactions.

The main difference between RTP payments and wire transfers is in their speed and settlement process. RTP payments are designed for real-time transfers, providing immediate availability of funds, while wire transfers may take longer to process and settle.

The two calls - initiate a payment and validate a payment - have the party object. This is a reusable object that has details about the person or entity sending a payment and the one receiving the payment. The party object reflects the payment chain of events. Use the request fields to direct the payment transaction from one account to another.

ORDERPAYMENT CHAINREQUEST FIELDS TO USE
1The individual or organization sends the payment.Enter the debit account number of the individual or organization in debitParty.
2The financial institution of the debit account holder transfers the funds.We assume this is KeyBank. Enter the ABA or routing number for the financial institution in debitPartyBank.
3The financial institution that services the recipient’s account receives the funds.Enter the US ABA number for the financial institution in creditPartyBank.
4The beneficiary party receives the funds.Enter the account number of the beneficiary in creditParty.

 

API requirements

KeyClientId: When you initiate or validate a payment, you are required to provide the KeyClientId in the request header. The KeyClientId is a 32-character string provided by KeyBank during the onboarding process. This field is not the same as your client credentials (part of your API keys needed to obtain an access token).


get /rtp/v1/payment/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAMETYPEDESCRIPTION
StatusoptionalstringThe status of the health check response.
SourceoptionalstringThe system that produces the health response. The origin of the response can be 'Gateway' or 'Roundtrip.' Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringThe date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringThe client IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringThe sequence of the IP addresses for systems between the client and the gateway. Addresses are separated by a comma.

Response example (200)

copylink
{
    "Status": "Ok",
    "Source": "Roundtrip",
    "Timestamp": "2022-09-16T02:36:20",
    "ClientIp": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

get /rtp/v1/payment/rtp/participant

Retrieve a list of active, online RTP banks. Use the limit and offset fields to control how many records to return and what records to skip.

With GET methods, use a cURL command to generate your request. Select Copy code for easy copy and paste into your command line. Modify the required fields with your information.

 

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
query FIELDTYPEDESCRIPTION
limitrequiredintegerPagination parameter that indicates the maximum number of records to return in the response.
offsetrequiredintegerPagination parameter that indicates the number of records skipped before generating the output.

Request example

curl --location: 'https://partner-api-qv.keybank.com/rtp/v1/payment/rtp/participant?limit=15&offset=0'
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
countrequiredstringThe count of records that match the initial query.
limitrequiredintegerThe maximum number of records returned in the response.
offsetrequiredintegerThe number of records skipped before the response is returned.
partiesoptionalObjectparty

Response example (200)

copylink
{
    "count": "65",
    "limit": 10,
    "offset": 0,
    "parties": {
        "name": "CITIZENS BANK, NA",
        "accountNumber": "102258001",
        "aba": "100001995",
        "bic": "CITZUSL2XXX",
        "txid": "fa1354bkg3153kj13b4h34",
        "foreignBankSystemId": {
            "type": "USABA"
        },
        "postalAddress": {
            "adrLine": [
                "BENEFICIARY ADDRESS LINE 1",
                "BENEFICIARY ADDRESS LINE 2"
            ]
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "RR-RMC-210720-0123458981",
        "sendersReference": "SR-RMC-210729-11081",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials.",
            "detail": {
                "code": "KEY-9999",
                "title": "Unknown error",
                "description": "Additional information about error code."
            }
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Your request took too long to process. Please try again.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

get /rtp/v1/payment/rtp/participant/{routingNumber}

This call returns information about a single RTP participant. Use the routing number of the financial institution to search for the RTP participant.

With GET methods, use a cURL command to generate your request. Select Copy code for easy copy and paste into your command line. Modify the required fields with your information.

 

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
path FIELDTYPEDESCRIPTION
routingNumberrequiredstringRouting number of the participating RTP bank.

Request example

curl --location: 'https://partner-api-qv.keybank.com/rtp/v1/payment/rtp/participant/12345678
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Authorization: Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
namerequiredstringName of the party. This can be an individual, a financial institution, or a beneficiary. The name cannot exceed 140 characters.
accountNumberoptionalstringAccount number of the party.
abaoptionalstringIf the party is a financial institution, this is the ABA number or routing number.
bicoptionalstringThe bank identifier code (BIC) for the party. This is a combination code that identifies the bank, country, location, and possibly the bank branch.
txidoptionalstringThe tax identification number for the party.
foreignBankSystemIdoptionalObjectforeignBankSystemType
adrLineoptionalarrayAn unstructured address line. You can have up to three lines of text.

Response example (200)

copylink
{
    "name": "KeyBank National Association",
    "accountNumber": "8756654",
    "aba": "125200879",
    "bic": "KEYUSL2XXX",
    "txid": "fa125da513hj135j42b5",
    "foreignBankSystemId": {
        "type": "USABA"
    },
    "postalAddress": {
        "adrLine": [
            "123 Keybank Street",
            "Cleveland, OH"
        ]
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

get /rtp/v1/payment/status/transactionId/{transactionId}

Get the status of a RTP payment.

With GET methods, use a cURL command to generate your request. Select Copy code for easy copy and paste into your command line. Modify the required fields with your information.

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
path FIELDTYPEDESCRIPTION
transactionIdrequiredstringThe unique ID number associated with the original payment request.

Request example

curl --location: 'https://partner-api-qv.keybank.com/rtp/v1/payment/status/transactionId/test123321'
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Authorization: Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "COMPLETED",
    "transactionId": "US21052400000000",
    "requestReference": "RR-KEY-999999-01",
    "sendersReference": "SR-KEY-999999-01",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "12345",
    "creditAccountNumber": "987654321",
    "valueDate": "2023-05-08",
    "transferAmount": 10,
    "transferCurrency": "USD",
    "doddFrank": "NO"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Your request took too long to process. Please try again.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

get /rtp/v1/payment/status/debitAccount/{debitAccount}/reference/{reference}

Get the status of a payment with the debit account number of the payment originator and the request reference number. This call is typically used for troubleshooting an issue with timing or a technical error with a payment transaction. You can assign a request reference number when you initiate or validate a payment. This number is metadata for backend traceability and is not sent with the payment. Use this number with the debit account number for the originating payment. The account number and request reference number must be unique; you cannot use the same request reference number for different transactions.

With GET methods, use a cURL command to generate your request. Select Copy code for easy copy and paste into your command line. Modify the required fields with your information.

 

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
path FIELDTYPEDESCRIPTION
debitAccountrequiredstringThe debit account number of the originator.
referencerequiredstringThe unique request reference number from the original payment request.

Request example

curl --location: 'https://partner-api-qv.keybank.com/rtp/v1/payment/status/debitAccount/12345/reference/RR-KEY-999999-01'
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Authorization: Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "COMPLETED",
    "transactionId": "US21052400000000",
    "requestReference": "RR-KEY-999999-01",
    "sendersReference": "SR-KEY-999999-01",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "12345",
    "creditAccountNumber": "987654321",
    "valueDate": "2023-05-08",
    "transferAmount": 10,
    "transferCurrency": "USD",
    "doddFrank": "NO"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

post /rtp/v1/payment/initiate

Initiate a RTP payment. Use the requestedService parameter to define the transaction as RTP or Wire. With the party object, you can define the receiver as an individual, corporation, or financial institution in the payment chain.

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
BODY FIELDTYPEDESCRIPTION
requestedServicerequiredstringThe type of payment transaction. The transaction request is valid only for the API products with granted access. Valid values: RTP, WIRE
requestReferencerequiredstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
typerequiredstringFor RTP, the type can show if the transaction is a PAYMENT or a DRAFT. For Wire transfers, the type is always DRAFT. 
requestedValueDaterequiredstringDate (YYYY-MM-DD) the transfer will occur.
originatorReferenceoptionalstringAn additional reference value that is meaningful to the party originating the payment.
sendersReferencerequiredstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
bankToBankInstructionsoptionalstringArea to share messages or instructions from one bank to another bank.
ultimateDebitPartyoptionalObjectultParty
debitPartyrequiredObjectparty
debitPartyBankoptionalObjectparty
intermediaryBank1optionalObjectparty
intermediaryBank2optionalObjectparty
intermediaryBank3optionalObjectparty
creditPartyBankrequiredObjectparty
creditPartyrequiredObjectparty
transferAmountrequirednumberAmount of money to transfer in the correct currency format.
transferCurrencyrequiredstringCurrency code for the transfer amount.
externalTemplateNameoptionalstringTBD
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.

Request example

copylink
{
    "requestedService": "RTP",
    "requestReference": "AZX01234567891011",
    "type": "PAYMENT",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "requestedValueDate": 2023-05-03,
    "debitParty": {
        "name": "YOUR COMPANY NAME HERE",
        "accountNumber": "001122334455"
    },
    "creditPartyBank": {
        "name": "BENEFICIARY BANK NAME",
        "aba": "000000000"
    },
    "creditParty": {
        "name": "BENEFICIARY NAME",
        "accountNumber": "987654321",
        "postalAddress": {
            "adrLine": [
                "BENEFICIARY ADDRESS LINE 1",
                "BENEFICIARY ADDRESS LINE 2"
            ]
        }
    },
    "transferAmount": 10,
    "transferCurrency": "USD"
}
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "IN_PROCESS",
    "transactionId": "US23050800214592",
    "requestReference": "AZX01234567891011",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "001122334455",
    "creditAccountNumber": "987654321",
    "valueDate": "2023-05-08",
    "transferAmount": 10,
    "transferCurrency": "USD"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "RR-RMC-210720-0123458981",
        "sendersReference": "SR-RMC-210729-11081",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}

post /rtp/v1/payment/validate

This call performs all the validation checks needed to initiate a payment without creating a payment.

header FIELDTYPEDESCRIPTION
KeyClientIdrequiredstringThis value is provided by KeyBank during onboarding and is different from your client credentials. This is required for each call for RTP or Wire transactions.
BODY FIELDTYPEDESCRIPTION
requestedServicerequiredstringThe type of payment transaction. The transaction request is valid only for the API products with granted access. Valid values: RTP, WIRE
requestReferencerequiredstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
typerequiredstringFor RTP, the type can show if the transaction is a PAYMENT or a DRAFT. For Wire transfers, the type is always DRAFT. 
requestedValueDaterequiredstringDate (YYYY-MM-DD) the transfer will occur.
originatorReferenceoptionalstringAn additional reference value that is meaningful to the party originating the payment.
sendersReferencerequiredstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
bankToBankInstructionsoptionalstringArea to share messages or instructions from one bank to another bank.
ultimateDebitPartyoptionalObjectultParty
debitPartyrequiredObjectparty
debitPartyBankoptionalObjectparty
intermediaryBank1optionalObjectparty
intermediaryBank2optionalObjectparty
intermediaryBank3optionalObjectparty
creditPartyBankrequiredObjectparty
creditPartyrequiredObjectparty
transferAmountrequirednumberAmount of money to transfer in the correct currency format.
transferCurrencyrequiredstringCurrency code for the transfer amount.
externalTemplateNameoptionalstringTBD
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.

Request example

copylink
{
    "requestedService": "RTP",
    "requestReference": "AZX01234567891011",
    "type": "PAYMENT",
    "requestedValueDate": 1621814400,
    "originatorReference": "",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "ultimateDebitParty": {
        "name": ""
    },
    "debitParty": {
        "name": "YOUR COMPANY NAME HERE",
        "accountNumber": "001122334455"
    },
    "debitPartyBank": {
        "name": ""
    },
    "creditPartyBank": {
        "name": "BENEFICIARY BANK NAME",
        "aba": "000000000"
    },
    "creditParty": {
        "name": "BENEFICIARY NAME",
        "accountNumber": "987654321",
        "postalAddress": {
            "adrLine": [
                "BENEFICIARY ADDRESS LINE 1",
                "BENEFICIARY ADDRESS LINE 2"
            ]
        }
    },
    "transferAmount": 10,
    "transferCurrency": "USD",
    "customData": ""
}
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.

Response example (200)

copylink
{
    "status": "VALID",
    "transactionId": "XZ23050714000000",
    "requestReference": "testWBB25889710252",
    "sendersReference": "INVC0012345",
    "receiversReference": "INVC0054321",
    "debitAccountNumber": "12345",
    "creditAccountNumber": "987654321",
    "transferAmount": 10,
    "transferCurrency": "USD"
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "US21052400000000",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "status": "FAILED",
        "transactionId": "rrt-770941720727587-2383364-1",
        "requestReference": "RR-220818-01",
        "sendersReference": "SR-220818-01",
        "valueDate": 1683676800,
        "error": {
            "code": "KEY-1006",
            "title": "Required field missing",
            "description": "The object creditPartyBank is required in the request."
        }
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "rrt-621075741872460927-c-gce-9129-15867185-4",
    "X-CorrelationId": "80457bcb-2c3b-8c55-8cd6-3520c3157e8f",
    "TransactionTime": "2022-04-04T11:41:13.754Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-0006",
            "title": "Not authorized for requested service",
            "description": "Check your credentials."
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "TransactionId": "359681587523_SR-RMC-210729-11081",
    "X-CorrelationId": "7ad7fdfb-2ade-a3ab-b97c-523dc5312688",
    "TransactionTime": "2022-04-05T07:59:15.422Z",
    "ServiceError": {
        "status": "ERROR",
        "transactionId": "rrt-621075741872460927",
        "requestReference": "REQUEST-REF-220314.1",
        "sendersReference": "SENDER-REF-220314.1",
        "valueDate": "06-10-2023",
        "error": {
            "code": "KEY-9999",
            "title": "Unknown error",
            "description": "Payment Initiation ServiceException: AUTHENTICATION_FAILURE Unable to logon with the supplied credentials.",
            "detail": {
                "code": "KEY-1005",
                "title": "Error",
                "description": "Additional information about error code."
            }
        },
        "doddFrank": "NO"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (unexpected EOF at target). Please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend service.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Your request took too long to process. Please try again.",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (gateway timeout). Please wait a moment and resubmit the request."
    }
}
NAMETYPEDESCRIPTION
ConnectErroroptionalstringAPI connectivity error information, if available.
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
typeoptionalstringThe five-digit global routing code for a foreign financial institution.
idoptionalstringThe identification number associated with the foreign financial institution.
NAMETYPEDESCRIPTION
StatusoptionalstringThe status of the health check response.
SourceoptionalstringThe system that produces the health response. The origin of the response can be 'Gateway' or 'Roundtrip.' Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringThe date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringThe client IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringThe sequence of the IP addresses for systems between the client and the gateway. Addresses are separated by a comma.
NAMETYPEDESCRIPTION
noYesTypeoptionalstringThis field indicates whether the transaction qualifies for Dodd-Frank.
NAMETYPEDESCRIPTION
countrequiredstringThe count of records that match the initial query.
limitrequiredintegerThe maximum number of records returned in the response.
offsetrequiredintegerThe number of records skipped before the response is returned.
partiesoptionalObjectparty
NAMETYPEDESCRIPTION
namerequiredstringName of the party. This can be an individual, a financial institution, or a beneficiary. The name cannot exceed 140 characters.
accountNumberoptionalstringAccount number of the party.
abaoptionalstringIf the party is a financial institution, this is the ABA number or routing number.
bicoptionalstringThe bank identifier code (BIC) for the party. This is a combination code that identifies the bank, country, location, and possibly the bank branch.
txidoptionalstringThe tax identification number for the party.
foreignBankSystemIdoptionalObjectforeignBankSystemType
adrLineoptionalarrayAn unstructured address line. You can have up to three lines of text.
NAMETYPEDESCRIPTION
coderequiredstringStatus code assigned to each error type.
titlerequiredstringBrief title about the error associated with the status code.
descriptionoptionalstringDescription of the error.
detailoptionalObjectdetail
NAMETYPEDESCRIPTION
coderequiredstringA static code assigned by the network or payment system.
titlerequiredstringBrief title about the error associated with the status code.
descriptionoptionalstringDescription of the error.
NAMETYPEDESCRIPTION
paymentStatusoptionalstringThe status of the payment transaction. Valid values: IN_PROCESS, IN_REVIEW, COMPLETED, FAILED, RETURNED, ERROR, VALID
NAMETYPEDESCRIPTION
requestedServicerequiredstringThe type of payment transaction. The transaction request is valid only for the API products with granted access. Valid values: RTP, WIRE
requestReferencerequiredstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
typerequiredstringFor RTP, the type can show if the transaction is a PAYMENT or a DRAFT. For Wire transfers, the type is always DRAFT. 
requestedValueDaterequiredstringDate (YYYY-MM-DD) the transfer will occur.
originatorReferenceoptionalstringAn additional reference value that is meaningful to the party originating the payment.
sendersReferencerequiredstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
bankToBankInstructionsoptionalstringArea to share messages or instructions from one bank to another bank.
ultimateDebitPartyoptionalObjectultParty
debitPartyrequiredObjectparty
debitPartyBankoptionalObjectparty
intermediaryBank1optionalObjectparty
intermediaryBank2optionalObjectparty
intermediaryBank3optionalObjectparty
creditPartyBankrequiredObjectparty
creditPartyrequiredObjectparty
transferAmountrequirednumberAmount of money to transfer in the correct currency format.
transferCurrencyrequiredstringCurrency code for the transfer amount.
externalTemplateNameoptionalstringTBD
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
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringA reference value for the beneficiary. This value cannot exceed 140 characters.
debitAccountNumberoptionalstringDebit account number
creditAccountNumberoptionalstringCredit account number
valueDateoptionalstringThe date (YYYY-MM-DD) the transfer occurred.
transferAmountoptionalintegerAmount of money to transfer in the correct currency format.
transferCurrencyoptionalstringCurrency code for the transfer amount.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
clearingSystemReferenceoptionalstringEnter a reference value for the beneficiary. This value cannot exceed 140 characters.
NAMETYPEDESCRIPTION
statusrequiredObjectpaymentStatus
transactionIdoptionalstringThe unique ID number associated with the original payment request.
requestReferenceoptionalstringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferenceoptionalstringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
receiversReferenceoptionalstringThe sender reference value from the original request. This is useful for traceability and reporting.
debitAccountNumberoptionalstringThe sender reference value from the original request. This is useful for traceability and reporting.
creditAccountNumberoptionalstringThe sender reference value from the original request. This is useful for traceability and reporting.
valueDateoptionalstringThe date (YYYY-MM-DD) the transferred occurred.
erroroptionalObjectpaymentError
doddFrankoptionalObjectnoYesType
NAMETYPEDESCRIPTION
nameoptionalstringTypically this is the name of the party that instructed the debit party to initiate a payment. This value cannot exceed 140 characters.

When an error occurs, the paymentTransactionResponse object returns with the paymentStatus of ERROR or FAILED. Certain violations report with an HTTP 200 response for issues where the API service successfully receives the request, but it encounters errors. KeyBank may include additional information about the error in API-specific error messages.

For more information about errors, see Error handling.

API-specific KeyBank error codes and details are in the error object of the response payload. Issues signify a failed payment that could have been caused by account restrictions, network timeout, or invalid data in the request.

CODEMESSAGE
KEY-0001Not authorized
KEY-0002Not authorized for requested action
KEY-0003Request exceeds authorized limit
KEY-0004Unauthorized for account
KEY-0005Internal use only fields
KEY-0006Not authorized for requested service
KEY-1000Transformation Error
KEY-1001Invalid Data
KEY-1002Invalid Bank Identifier
KEY-1003Invalid or unknown template
KEY-1004Invalid account
KEY-1005Invalid Currency
KEY-1006Required field missing
KEY-1007Transaction Not Found
KEY-1008Insufficient Funds
KEY-1009Account has restrictions
KEY-1010Duplicate Request
KEY-1011Payor Account Restrictions
KEY-1012Payee Account Restrictions
KEY-3001Exceeds transaction limit for RTP transactions
KEY-3002Field not usable for RTP transactions
KEY-3003Payment network timeout. Please retry.
KEY-3004Payment rejected by payment network
KEY-9997Failed payment review
KEY-9998Payment failed during processing
KEY-9999Unknown error

 

API-specific error example

paymentTransactionResponse:
                      { 
                          "status": "FAILED", 
                          "requestReference": "RR-999999-01", 
                          "sendersReference": "SR-999999-01", 
                          "error": { 
                              "code": "KEY-1002", 
                              "title": "Invalid Bank Identifier", 
                              "description": "Credit Party Bank must be a valid USRTP Participant" 
                          } 
                      }
                    

YAML file download

Stop Payment

clock 3-minute read calender 1.0.4 | updated May. 29, 2024

Stop an issued payment

What you can do Endpoint
Health check get /accounts/payments/v1/healthCheck
Stop a payment post /accounts/payments/v1/stop

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

Use the Stop Payment API to stop an issued payment. A successful request stops the payment and returns confirmation and payment details. You can stop a payment between the hours of 06:00 a.m. and 11:59 p.m. EST.

 

get /accounts/payments/v1/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAME TYPE DESCRIPTION
Statusoptional string Status of the health check response.
Sourceoptional string Origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string Date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string Client IP address the gateway receives from the request.
X-Forwarded-Foroptional string Sequence 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": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

post /accounts/payments/v1/stop

Request a stop for an issued payment.

BODY FIELDTYPEDESCRIPTION
AccountNumberrequiredstringBank account number. This field cannot exceed 16 characters.
BankNumberrequiredstringBank number associated with the account number. Valid values: 0101, 0241, 0618, 1256, 1961, 2912, 3211, 3290, 3720, 4451, 4560, 4731
CheckNumberrequiredObjectcheckNumber
CheckAmountoptionalnumberAmount of the check
DescriptionoptionalstringComments that describes stop payment reasons. This field cannot exceed 30 characters.

Request example

copylink
{
    "AccountNumber": "123456789",
    "BankNumber": "0101",
    "CheckNumber": {
        "CheckNumberLow": "590",
        "CheckNumberHigh": "591"
    },
    "CheckAmount": 1.52,
    "Description": "Test Stop_SB_08130116"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.

Response example (200)

copylink
{
    "Status": "Success",
    "StatusCode": "000",
    "Severity": "Info",
    "StatusDesc": "stopPaymentAdd operation executed successfully - stopPaymentAdd_20190205024213818",
    "TransactionId": "000000057307_590_1.52",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-30T18:55:10.337Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (400)

copylink
{
    "Status": "Failure",
    "StatusCode": "400",
    "Severity": "Error",
    "StatusDesc": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (401)

copylink
{
    "Status": "Failure",
    "StatusCode": "401",
    "Severity": "Error",
    "StatusDesc": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (402)

copylink
{
    "Status": "Failure",
    "StatusCode": "402",
    "Severity": "Error",
    "StatusDesc": "Failed to add stop payment on account; STAR failed  - stopPaymentAdd_20220513015308610",
    "TransactionId": "000000057307_590_591",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2022-05-13T05:53:08.702Z",
    "ServiceError": {
        "SEStatusCode": "402",
        "SESeverity": "Error",
        "SEStatusDesc": "Failed to add stop payment on account; STAR failed - stopPaymentAdd_20220513015308610",
        "AdditionalStatus": {
            "ASStatusCode": "202",
            "ASSeverity": "Error",
            "ASStatusDesc": "CHECK(S) ALREADY STOPPED",
            "SubjectElement": {
                "Path": "STAR"
            }
        }
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (403)

copylink
{
    "Status": "Failure",
    "StatusCode": "403",
    "Severity": "Error",
    "StatusDesc": "Access Denied for client ip",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (404)

copylink
{
    "Status": "Failure",
    "StatusCode": "404",
    "Severity": "Error",
    "StatusDesc": "Requested resource is not found, please verify the resource and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (405)

copylink
{
    "Status": "Failure",
    "StatusCode": "405",
    "Severity": "Error",
    "StatusDesc": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (415)

copylink
{
    "Status": "Failure",
    "StatusCode": "415",
    "Severity": "Error",
    "StatusDesc": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (429)

copylink
{
    "Status": "Failure",
    "StatusCode": "429",
    "Severity": "Error",
    "StatusDesc": "Looks like you've sent too many requests. Please wait a moment and try again later.",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2022-05-17T04:39:32.449Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (500)

copylink
{
    "Status": "Failure",
    "StatusCode": "500",
    "Severity": "Error",
    "StatusDesc": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "3288b87c-d4e7-639a-88d0-9cdfede8941e",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Runtime error occurred in the service, please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

copylink
{
    "Status": "Failure",
    "StatusCode": "502",
    "Severity": "Error",
    "StatusDesc": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

copylink
{
    "Status": "Failure",
    "StatusCode": "502",
    "Severity": "Error",
    "StatusDesc": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (504)

copylink
{
    "Status": "Failure",
    "StatusCode": "504",
    "Severity": "Error",
    "StatusDesc": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}
NAMETYPEDESCRIPTION
ASStatusCoderequiredstringAdditional status code of the processed request. For 402 errors, this field contains the unique error code returned from the Stop Payment downstream service.
ASSeverityrequiredstringAdditional status severity of the processed request.
ASStatusDescrequiredstringAdditional status description of the processed request. For 402 errors, this field contains the unique error description returned from the Stop Payment downstream service.
SubjectElementrequiredObjecterrorData
NAMETYPEDESCRIPTION
CheckNumberLowrequiredstringTo stop a single check, use this field to specify that check number. To stop a range of checks, use this field to specify the first check number of the range.
CheckNumberHighoptionalstringTo stop a range of checks, use this field to specify the last check number in the range. This field is unnecessary when stopping a single check.
NAMETYPEDESCRIPTION
connectErroroptionalstringAPI connectivity error information, if available.
NAMETYPEDESCRIPTION
PathrequiredstringTroubleshooting field that contains the operational path that failed.
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError
NAMETYPEDESCRIPTION
StatusoptionalstringStatus of the health check response.
SourceoptionalstringOrigin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringClient IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringSequence of IP addresses for systems between the client and the gateway.
NAME TYPE DESCRIPTION
AccountNumberrequired string Bank account number. This field cannot exceed 16 characters.
BankNumberrequired string Bank number associated with the account number. Valid values: 0101, 0242, 0618, 1256, 1961, 2912, 3211, 3290, 3720, 4451, 4560, 4731
CheckNumberrequired Object checkNumber
CheckAmountoptional number Amount of the check
Descriptionoptional string Comments that describes stop payment reasons. This field cannot exceed 30 characters.
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
NAMETYPEDESCRIPTION
SEStatusCoderequiredstringService error status code of the processed request.
SESeverityrequiredstringService error severity of the processed request.
SEStatusDescrequiredstringService error status description of the processed request.
AdditionalStatusrequiredObjectadditionalStatusData

For more information about general errors, see Error handling.

Note: The Stop Payment API is unavailable between the hours of 12:00 a.m. and 6:00 a.m. EST. If a request to stop payment is submitted within this timeframe you will receive an error.

There may be additional error information in the exception schema. API-specific KeyBank error codes and details are in the serviceErrorData. object for additional information specific to the API request.

 

HTTP STATUS CODE CUSTOM STATUS CODE DESCRIPTION
402 202 CHECK(S) ALREADY STOPPED
Failed to add stop payment on account.

A stop payment has already been placed on that check and or account.

402 201 CHECKS(S) ALREADY POSTED TODAY
Failed to add stop payment on account.

Check has already posted to the account.

402 203 TELLER CHECK HOLD ON ACCOUNT
Failed to add stop payment on account.

The payment was already stopped.

402 208 ERROR LOCATING DDA
Failed to add stop payment on account.

There is an invalid value for the accountNumber field. Review and make sure the accountNumber is correct.

503 209 STOP SERVICE UNAVAILABLE, PLEASE RETRY BETWEEN 6:00AM AND 11:59PM ET

The Stop Payment API is unavailable between the hours of 12:00 a.m. and 06:00 a.m. EST. Please retry your request outside of this time window.

 

YAML file download

Wire Inquiry

clock 2-minute read calender 1.2.1 | updated May. 29, 2024

Look up the status and details about a wire transaction

Summary Endpoint
Health check get /wireInquiry/v1/healthCheck
Get wire transaction details post /wireInquiry/v1/transactions/details

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.


get /wireInquiry/v1/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAME TYPE DESCRIPTION
Statusoptional string Status of the health check response.
Sourceoptional string Origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string Date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string Client IP address the gateway receives from the request.
X-Forwarded-Foroptional string Sequence 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": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

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.

BODY FIELDTYPEDESCRIPTION
getWireInquiryRequestrequiredObjectgetWireInquiryRequest

Request example

copylink
{
    "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,
        "startRowIndex": "1",
        "endRowIndex": "1000",
        "channelCode": "OLB"
    }
}
NAMETYPEDESCRIPTION
getWireInquiryResponserequiredObjectgetWireInquiryResponse

Response example (200)

copylink
{
    "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": "BKP",
                "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",
                "initiatingFailureReasonCode": "string",
                "initiatingFailureReasonTitle": "string",
                "initiatingFailureReasonDesc": "string",
                "networkFailureReasonCode": "string",
                "networkFailureReasonTitle": "string",
                "networkFailureReasonDesc": "string",
                "remittanceInfo": "string"
            }
        ]
    }
}
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)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "ConnectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}
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
StatusoptionalstringStatus of the health check response.
SourceoptionalstringOrigin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringClient IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringSequence of IP addresses for systems between the client and the gateway.
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 start date to search a range of wire origination transactions by date. The date range must be less than or equal to the current date and cannot exceed more than one year. Format: YYYY-MM-DD
toDaterequiredstringThe end date to search a range of wire origination transactions by date. The date range must be less than or equal to the current date and cannot exceed more than one year. Format: YYYY-MM-DD
fromTransmitDateoptionalstringThe start date to search a range of wire origination transactions by the transmission or settled date. The date range must be less than or equal to the current date and cannot exceed more than one year. Format: YYYY-MM-DD
toTransmitDateoptionalstringThe end date to search a range of wire origination transactions by the transmission or settled date. The date range must be less than or equal to the current date and 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.
sourceChanneloptionalarrayDenotes the channel that created the wire transaction. KTT INITIATED is used for RTP transaction and FRB INITIATED is used for Federal Reserve transactions.
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.
channelCodeoptionalstringAn optional three-character code for the wire channel. The field can only have one value and is not case sensitive.
NAMETYPEDESCRIPTION
responseHeaderrequiredObjectresponseHeader
WireInquiryResultoptionalarraygetWireInquiryResult
errorResponseoptionalObjecterrorResponse
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
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
wireEventNameoptionalstringInternal status of the intermediary stages a transaction goes through before being processed. Valid values: CancelledPayments, CompletedPayment, DrawndownPay, PaymentWaitForOFCResponse, RepairedPayments, ReturnedFEDPayment, Swift101
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. Valid values: DDA, GL
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. Valid values: Cancelled, Complete, Cutoff Error, Pending Release, Ready to Send, Rejected, Returned, null
creditTransactionCurrencyoptionalstringCurrency of the amount credited.
settlementPaymentTypeoptionalstringThe mechanism or method by which settlement occurs. Valid values: FRB, CRD, BKP, NOS, FRD.
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. Valid Values: BKP, RTPCT
transactionTypeCodeoptionalstringType of wire transaction code. Valid values: FRB, PRE, FTR
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
sourceChanneloptionalstringDenotes the channel that created the wire transaction. KTT is used for RTP transaction and FRB is used for Federal Reserve transactions.
paymentStatusoptionalstringIndicates the status of payment. Valid values: Active, Returned, Cancelled, Success, PendingUserAction
transactionBusinessStatusCodeoptionalstringTransaction business status code. Valid values: Completed, Pricing, Cancelled, Future Warehouse, PaymentNotification, Held Requiring Cover, Awaiting Approval, Internal Filter, Advising, Funds Release, Product Selection, Regulatory Filter, Clearing, Limit Check, Pre-Qualifying, Abandoned, Repair
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 unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
channelCodeoptionalstringAn optional three-character code for the wire channel. The field can only have one value and is not case sensitive.
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.
transactionCreateDateoptionalstringThe date and time the transaction was created. Format: YYYY-MM-DDTHH:MM:SS.SSS-Z
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.
initiatingFailureReasonCodeoptionalstringCode indicates the reason the transaction payment was not successful.
initiatingFailureReasonTitleoptionalstringBrief title about the payment error associated with the code.
initiatingFailureReasonDescoptionalstringDetails about the reason the transaction payment was not successful.
networkFailureReasonCodeoptionalstringCode indicates the network reason that faulted the transaction payment.
networkFailureReasonTitleoptionalstringBrief title about the network error associated with the code.
networkFailureReasonDescoptionalstringDetails about the reason for a network failure.
remittanceInfooptionalstringInformation 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.
requestReferenceoptionalstringA reference value from the originating request that is useful for traceability and reporting.

For more information about general errors, see Error handling.

API-specific KeyBank error codes and details are in the ServiceError or errorResponse object with additional information specific to the API. The KeyBank error codes start with ECA-W with a three-digit number that follows. The number increases by one digit for each error message. For example, 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 ECA-W-001 Transaction not found.

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

299 W ECA-W-001 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 F ECA-W-001 Request Validation failed.

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

400 F ECA-W-002 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 download

Check Image Retrieval

clock 2-minute read calender 1.2.4 | updated May. 29, 2024

See and verify checks paid

What you can do Endpoint
Health check get /cmi/v1/healthCheck
Retrieve a check image post /cmi/v1/checkList

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

Use the Check Image Retrieval API to retrieve images of every check deposited and cleared. A successful request returns details of the requested check image (if attachImages is set to TRUE).

API requirements

Username and password: Your assigned username and password for the API is required in the defaultCheckRequest object of the request body. These credentials are provided by KeyBank after the onboarding process is complete. This information is shared with you via secure email.


get /cmi/v1/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAME TYPE DESCRIPTION
Statusoptional string Status of the health check response.
Sourceoptional string Origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string Date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string Client IP address the gateway receives from the request.
X-Forwarded-Foroptional string Sequence 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": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

post /cmi/v1/checkList

Get a single check image associated with the requested check and account information.

BODY FIELDTYPEDESCRIPTION
attachImagesrequiredbooleanIndicates if the check image needs to be attached to the response. If set to true, images are rendered in response.
defaultChecksRequestrequiredObjectdefaultChecksRequest
featuresoptionalObjectfeatures
limitrequiredintegerThe number of checks returned. Because this endpoint returns a single check image, limit must be set to 1.
startoptionalintegerStart index of the check range to be retrieved

Request example

copylink
{
    "attachImages": true,
    "defaultChecksRequest": {
        "applicationGroupId": "CPCCHECKS",
        "applicationId": "CPC-CHECKS",
        "criterias": [
            {
                "documentIndex": "Account Number",
                "highValue": "",
                "lowValue": "1234567890",
                "operator": "eq"
            },
            {
                "documentIndex": "Check Number",
                "highValue": "",
                "lowValue": "14704523",
                "operator": "eq"
            },
            {
                "documentIndex": "Amount",
                "highValue": "",
                "lowValue": "85.95",
                "operator": "eq"
            },
            {
                "documentIndex": "Check Process Date",
                "highValue": "",
                "lowValue": "09\/22\/2021",
                "operator": "eq"
            }
        ],
        "password": "testuser",
        "userName": "abc$123#scsf"
    },
    "features": {
        "outputFormat": "TIF",
        "compresstoZip": true,
        "scale": ""
    },
    "limit": 1,
    "start": 0
}
NAMETYPEDESCRIPTION
getChecksListResponserequiredarraygetChecksListResponse
messagerequiredstringA human-readable message that describes the response status.
totalNoOfChecksrequiredstringIndicates the total number of checks retrieved.

Response example (200)

copylink
{
    "getChecksListResponse": [
        {
            "accountNumber": "1234567890",
            "amount": "85.95",
            "checkProcessDate": "09\/22\/2021",
            "checkNumber": "14704523  ",
            "sequenceNumber": "38581847",
            "transactionType": "DEBIT",
            "checkRoutingNumber": "04120704",
            "checkFrontImage": "lUwXMGBwTm4dy\/5pe8GwlRZULmMfPkzL8yZKfDxRTU7HFMW\/b7DYqjBq0vyC85PxMObQ2UxtcbVe78MWsdgIBkKY7pCB4eE7GQr9QOcFRW2O7FQshj8ExEy0bmCV8cQFyxzKh04XPWIDxp71PIw\/BFWy2GG+R3b1SFP\/Mbj0Hdppoxn+rUxAz7Red+39BodSSz1xZteU8hu6fYvvNmbqasZmkVAEE6hS2H+3uVKqaMmnpHJ2oIie0rtowueFradOWhNGvV5pRuEhEd6j93X\/7mt=",
            "checkRearImage": "73mfoZbjXF4Gr9XuIYSieWR0o3NV2bvMcwiurzvU8Dyvy2CG+1DYdw3IyHHZRdY6CKiarVFK7mG+IgJKVaDwqA2Ma7YxopwgEIJ5oc8gS\/O8BzX7zms\/6hmRn9wrcZj3ZhaSUmAdOtSc3qOzp6JPLoYyJg2hQwnEtJyormF8GT5ajF8ADV6XQD+d3Ym8bKsR6rHWwGB0bmiKu+9r+33mR8QZmzmmCPIUZXzj6CXaLr0dNA4+xXszgMbWAHI00ZGhTsSfzyWp8FHYZx24fbEOkS9ApuVBRihL+Eb14ldJayOgAXI3OjLJgo2pB4EUvbQmhwu="
        }
    ],
    "message": "Successfully retrieved",
    "totalNoOfChecks": "1"
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (400)

copylink
{
    "ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (401)

copylink
{
    "ErrorMessage": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (403)

copylink
{
    "ErrorMessage": "Access to requested resource is forbidden",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (404)

copylink
{
    "ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (405)

copylink
{
    "ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (415)

copylink
{
    "ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (429)

copylink
{
    "ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (500)

copylink
{
    "ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "ServiceError": {
        "connectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with appplication support team before resubmitting the request"
    }
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (503)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
    }
}
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (504)

copylink
{
    "ErrorMessage": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}
NAMETYPEDESCRIPTION
connectErroroptionalstringAPI connectivity error information, if available.
NAMETYPEDESCRIPTION
documentIndexrequiredstringRequired parameters to retrieve a check image. A total of four criteria objects should be included in the request - one for each of the four values required to retrieve a check image. Valid values: Account Number, Check Number, Check Amount, Check Process Date
highValueoptionalstringIndicates the high range of the criteria. Reserved for future use, should be left blank.
lowValuerequiredstringIndicates the starting range of the criteria.
operatorrequiredstringIndicates the operation type. Must be set to "eq".
NAMETYPEDESCRIPTION
applicationGroupIdrequiredstringIndicates the application group ID for check images. Must be set to "CPCCHECKS".
applicationIdrequiredstringIndicates the application ID for check images. Must be set to "CPC-CHECKS".
criteriasrequiredarraycriteria
userNamerequiredstringUsername provided by KeyBank during client onboarding.
passwordrequiredstringEncrypted password provided by KeyBank during client onboarding.
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.
X-CorrelationIdoptionalstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimeoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) the error occurred.
ServiceErroroptionaloneOfserviceErrorData connectError
NAMETYPEDESCRIPTION
outputForamtrequiredstringIndicates the output format of the check images. Valid values: BMP, JPEG, PDF, PNG, TIF, TIFG4
compresstoZipoptionalbooleanReserved for future use. Please leave this field blank.
scaleoptionalstringReserved for future use. Please leave this field blank.
NAME TYPE DESCRIPTION
getChecksListResponserequired array getChecksListResponse
messagerequired string A human-readable message that describes the response status.
totalNoOfChecksrequired string Indicates the total number of checks retrieved.
NAMETYPEDESCRIPTION
attachImagesrequiredbooleanIndicates if the check image needs to be attached to the response. If set to true, images are rendered in response.
defaultChecksRequestrequiredObjectdefaultChecksRequest
featuresoptionalObjectfeatures
limitrequiredintegerThe number of checks returned. Because this endpoint returns a single check image, limit must be set to 1.
startoptionalintegerStart index of the check range to be retrieved
NAMETYPEDESCRIPTION
accountNumberoptionalstringAccount number of the check image
amountoptionalstringAmount of the check
checkProcessDateoptionalstringCheck processed date (MM-DD-YYYY)
checkNumberoptionalstringCheck number
sequenceNumberoptionalstringSequence number of the check
transactionTypeoptionalstringTransaction type of the check
checkRoutingNumberoptionalstringRouting number of the check
checkFrontImageoptionalstringFront image of the check
checkRearImageoptionalstringBack image of the check
NAMETYPEDESCRIPTION
StatusoptionalstringStatus of the health check response.
SourceoptionalstringOrigin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringClient IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringSequence of IP addresses for systems between the client and the gateway.
NAME TYPE DESCRIPTION
ErrorDetailsoptional string Additional error details about the failed transaction.

For more information about general errors, see Error handling.

The message field in the getCheckListResponse tells you if the check was "Successfully retrieved" or "Failed". It is possible to receive a HTTP 200 response and have a failure message to resolve. This means that your transaction was successfully received but there was an issue with the request data. Look at the API-specific KeyBank error codes and details are in the serviceErrorData object of the exception schema.

HTTP STATUS CODE Message status DESCRIPTION
200 Successfully retrieved Specified checks not found.

There is invalid data in the request payload. Make sure mandatory fields are complete and field entries are in the correct format.

200 Successfully retrieved checkFrontImage and checkRearImage are blank.

The Boolean value for the attachImages field is set to False in the request and you will not receive check images.

200 Failed Error received from backend service.

Missing or invalid field – Check Date

You are missing mandatory information in your request. Enter the starting check date in MMDDYYYY format in the criterias object > lowValue field.

200 Failed Error received from backend service.

This Application is not configured for CMI transaction.

You are missing some mandatory information in the defaultsCheckRequest object. Make sure you have the correct information in the applicationGroupId field.

200 Failed Error received from backend service.

500 – Internal Server Error

You are missing mandatory information or have an invalid value in the criterias object. Review the request to make sure that all requirements are met before retrying the call.

200 Failed Unknown error occured(Expected STRING or NUMBER or OBJECT or ARRAY at line 2), please check and resubmit the request

Make sure that the Boolean value for the attachImages field is set to True to receive check images.

 


YAML file download