ACH is a preferable choice for when immediate settlement is not a priority, and you are looking for a cost-effective method to send or collect payment. Use the ACH Origination API to send or get a payment, report on the status, or if needed, undo a payment.
ACH stands for Automated Clearing House, ACH payments, also known as electronic funds transfers (EFTs), are 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. 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.
Addenda information
Each SEC code will include addenda information with the response, except for TEL. 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.
Before you begin
All KeyBank APIs require certificates, user credentials, and certain permissions. Before you begin, see Key concepts to learn more about these fundamental elements as well as other recommended best practices.
API-specific requirements
Create a 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.
You create this value. The can be an alphanumeric value with a maximum length of 45 characters. For example, a random UUID value can be 5ea39056-49gb-4714-b941-e52b1bec7. The batch and the individual UUID can be the same. KeyBank recommends that you use different UUID values.
Client information
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.
SEC CODE | DEFINITION | DESCRIPTION |
---|---|---|
CCD | Corporate Credit or Debit | A CCD entry can be either a buyer-initiated or seller-initiated transaction used to move funds between the buyer’s and seller’s financial institution accounts. It is also used by companies to move funds from outlying depository locations to a central bank account. A CCD entry is typically used when paying for one item, since there is no mechanism for transmitting addenda. |
CTX | Corporate Trade Exchange | A CTX entry is like a CCD entry, but it supports including multiple addenda. |
PPD | Prearranged Payment and Deposit | A PPD entry is a credit or debit entry originated by an organization to a consumer’s account, based on a standing or single-entry authorization from that consumer. A PPD entry supports including one addendum. |
TEL | Telephone Initiated Entries | TEL entries are initiated in response to a receiver’s oral authorization that is spoken over the telephone. These entries can be debit only. |
WEB | Internet Initiated/Mobile Entries | WEB entries are entries transmitted to a consumer receiver’s account. These entries can be either debits or credits. WEB entries can be either recurring or non-recurring transactions. |
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.
Custom data
Custom data in APIs provides the ability to send or receive data that is specific to your application or use case. The custom data feature is available when you send or validate a payment. Define the custom data in the request payload. It is a free-form text field that can contain up to 500 alphanumeric characters that you can use however you like - for invoice number, product number, customer number, date/time stamp, etc. KeyBank recommends the common custom data format of name:value pairs. You can list multiple name:value pairs in the custom data field within the 500-character limit. The custom data fields will return exactly what is sent; it does not parse name:value pairs within the API response. The custom data should not contain any personal identifiable information (PII).
Custom data examples
//Example of name:value pairs customData: Type:DD; Status:Submitted; POnumber:12556 //Example of regular text customData: General products //Example of timestamp customData: 05-MAR-2023:12:19:53EST
Custom data is only available within the API product suite, meaning ACHOrigination and ACH Inquiry APIs. Custom data is not transmitted with the payment and is not visible to the recipient or any of the participating parties. The custom data is only visible and accessible from the originator with our ACH Inquiry API, where you can query wire transfers using the transactionId
to retrieve the custom data. The customData
field returns any custom values that were part of the payment request stored for recall after a successful ACH transaction completes. If no custom data is defined, the response returns an empty field.
It may be best to first call with the normal request payload to determine how to best use the custom data field. Review the response and determine which values are best to include and use in future queries.
ACH Origination Endpoints
Summary | Endpoint |
---|---|
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 |
Check the status of a payment request
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.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | TYPE | DESCRIPTION |
---|---|---|
detailStatusoptional | array | paymentInquiryDetailRequest |
Request example

{ "detailStatus": [ { "uuid": "qas220602x-49eb-47664-b94rhd1-e52e2re11001" } ] }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
detailsoptional | array | detailStatusResponse |
Missing data
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided. Please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Please make sure you're using the correct credentials. Then log in again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Request is forbidden to access the resource
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "ErrorMessage": "You don't have access to this resource. Contact developers@keybank.com for more information.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "ErrorMessage": "We can't seem to find what you're looking for. Please verify the resource and try again.", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionTime": "2021-06-11T16:31:34.041Z", "ServiceError": { "code": "1003040-66E", "moreInfo": "Detail transaction not found." } }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "ErrorMessage": "Looks like something went wrong. Please check your request method and try again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "ErrorMessage": "We currently don't support that format. Please check the format type defined in your request and try again. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "ErrorMessage": "Looks like you've sent too many requests. Please wait a moment and try again later.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "ErrorMessage": "Looks like something went wrong. Please try again when you're ready. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "abcgd133", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Looks like something went wrong. Submit your request again. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "abcgd133", "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." } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Looks like something went wrong. Please contact developers@keybank.com for more information and try again later.", "X-CorrelationId": "abcgd133", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z", "ServiceError": { "ConnectError": "Service is currently unavailable. Please check with application support before resubmitting the request." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Your request took too long to process. Please try again. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "abcgd133", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z", "ServiceError": { "ConnectError": "Request could not be processed on time. Please wait a moment and resubmit the request." } }
Check the status of addenda records
post /ach/payments/v1/status/addenda
Check the return status of one or more addenda records.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001", "pageSize": "10", "startAddendaSequenceNumber": "0001" }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
uuidoptional | string | A custom value used to idenitfy 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 transaction from the TBDACHDETAIL table. Record this number for possible ACH inquiry requests. |
informationMessagesoptional | array | detailMessage |
addendaoptional | array | baseAddendaDetailResponse |
Response example (200)

{ "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" } ] }
Missing data
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided. Please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Please make sure you're using the correct credentials. Then log in again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "ErrorMessage": "You don't have access to this resource. Contact developers@keybank.com for more information.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "ErrorMessage": "We can't seem to find what you're looking for. Please verify the resource and try again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "ErrorMessage": "Looks like something went wrong. Please check your request method and try again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "ErrorMessage": "We currently don't support that format. Please check the format type defined in your request and try again. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "ErrorMessage": "Looks like you've sent too many requests. Please wait a moment and try again later.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "ErrorMessage": "Looks like something went wrong. Please try again when you're ready. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "abcgd133", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Looks like something went wrong. Submit your request again. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "abcgd133", "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 end of file at target). Please check with application support team before resubmitting the request" } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Looks like something went wrong. Please contact developers@keybank.com for more information and try again later.", "X-CorrelationId": "abcgd133", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z", "ServiceError": { "ConnectError": "Service is currently unavailable. Please check with application support before resubmitting the request." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Your request took too long to process. Please try again. Contact developers@keybank.com if you experience more issues.", "X-CorrelationId": "abcgd133", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z", "ServiceError": { "ConnectError": "Request could not be processed on time. Please wait a moment and resubmit the request." } }
Send or collect a payment
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.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "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": "517220101A", "discretionaryData": "AB", "addenda": [ { "paymentRelatedInformation": "DAILYTEST0103A" } ] } ] } }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
Response example (200)

{ "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" } ] } }
Missing data in the request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided. Please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized. Please provide valid credentials.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "ErrorMessage": "Number requests threshold reached. Please wait 2 minutes and resubmit the request again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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 end of file at target). Please check with application support team before resubmitting the request." } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service.", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service.", "X-CorrelationId": "abcgd133", "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." } }
Make or collect payments to or from a corporate account with attached records
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.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "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": "1123456789", "discretionaryData": "AK", "addenda": [ { "paymentRelatedInformation": "YourTest03.01" } ] } ] } }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
Response example (200)

{ "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" } ] } }
Missing data in the request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided. Please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized. Please provide valid credentials.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "ErrorMessage": "Number requests threshold reached. Please wait 2 minutes and resubmit the request again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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 end of file at target). Please check with application support team before resubmitting the request." } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service.", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service.", "X-CorrelationId": "abcgd133", "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." } }
Make deposits and withdrawals to or from consumer accounts
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.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "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": "517220202A", "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": "517220202B", "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": "517220202C", "discretionaryData": "BC", "addenda": [ { "paymentRelatedInformation": "QASTest02.02C" } ] } ] } }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
Response example (200)

{ "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" } ] } }
Missing data in the request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided, please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized, please provide valid credentials", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Requested resource is not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "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" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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" } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Send a payment over the phone
post /ach/payments/v1/tel
Authorize and submit a payment by the phone.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "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": "317220401", "paymentTypeCode": "R" } ] } }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
Response example (200)

{ "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" } ] } }
Missing data in the request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided, please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized, please provide valid credentials", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Request is forbidden to access the resource
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Requested resource is not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "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" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad Gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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" } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Send an online payment
post /ach/payments/v1/web
Authorize and submit a payment on a website.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "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": "317220401", "paymentTypeCode": "R", "addenda": [ { "paymentRelatedInformation": "DAILYTEST0103A" } ] } ] } }
Responses
Successful response
NAME | TYPE | DESCRIPTION |
---|---|---|
batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
Response example (200)

{ "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" } ] } }
Missing data in the request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided. Please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized, please provide valid credentials", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "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" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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" } }
Undo a payment request
post /ach/payments/v1/undo
Reverse a payment request before it enters consolidation.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | A short name specific to your company provided by KeyBank. The name must not exceed 9 characters. This is appended to the file name and improves security. |
BODY FIELD | 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. |
Request example

{ "uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001" }
Responses
Successful response
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. |
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 transaction from the TBDACHDETAIL table. Record this number for possible ACH inquiry requests. |
Response example (200)

{ "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" }
Missing data
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided, please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized, please provide valid credentials", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Requested resource is not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Requested unsupported media type
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "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" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad Gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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" } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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" } }
Send additional addenda information
post /ach/payments/v1/addenda
Add records to an existing ACH transaction.
Request
header FIELD | TYPE | DESCRIPTION |
---|---|---|
X-Pointrequired | string | This short name will be provided during API onboarding and is specific to your Company Name. |
BODY FIELD | 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. |
Request example

{ "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" }
Responses
Successfully staged ACH file data into ACH Origination API.
NAME | TYPE | DESCRIPTION |
---|---|---|
uuidoptional | string | A custom value used to idenitfy 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 transaction from the TBDACHDETAIL table. 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. |
Response example (200)

{ "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" }
Missing data in the request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (400)

{ "ErrorMessage": "Mandatory data not provided. Please verify the data 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" }
Unauthorized request
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (401)

{ "ErrorMessage": "Received request is unauthorized. Please provide valid credentials.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Access denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (403)

{ "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" }
Not found
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (404)

{ "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" }
Requested method denied
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (405)

{ "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" }
Media type not supported
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (415)

{ "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" }
Too many requests
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (429)

{ "ErrorMessage": "Number requests threshold reached. Please wait 2 minutes and resubmit the request again.", "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab", "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1", "TransactionTime": "2021-06-11T16:31:34.041Z" }
Internal server error
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (500)

{ "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" }
Bad gateway
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (502)

{ "ErrorMessage": "Error received from backend service", "X-CorrelationId": "abcgd133", "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 end of file at target). Please check with application support team before resubmitting the request." } }
Service unavailable
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (503)

{ "ErrorMessage": "Error received from backend service.", "X-CorrelationId": "abcgd133", "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." } }
Gateway timeout
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
Response example (504)

{ "ErrorMessage": "Error received from backend service.", "X-CorrelationId": "abcgd133", "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." } }
Schemas
acceptedAddendaResponseEnvelope
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. |
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. |
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 |
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. |
addendaRequest
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. |
addendaRequestEnvelope
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. |
addendaResponse
NAME | TYPE | DESCRIPTION |
---|---|---|
statusoptional | string | The overall status of the addenda request can be accepted or rejected. |
errorMessagesoptional | array | detailMessage |
informationMessagesoptional | array | detailMessage |
addendaStatusRequestEnvelope
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. |
addendaStatusResponseEnvelope
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 |
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. |
baseAddendaRequest
NAME | TYPE | DESCRIPTION |
---|---|---|
paymentRelatedInformationrequired | string | The related payment information for the addenda records. The limit is 80 characters. |
baseDetailResponse
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. |
batchRequestCCDDetailRequest
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 |
batchRequestCTXDetailRequest
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 |
batchRequestPPDDetailRequest
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 |
batchRequestTELDetailRequest
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 |
batchRequestWEBDetailRequest
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 |
batchRequestEnvelopeBatchRequestCCDDetailRequest
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. |
batchRequestEnvelopeBatchRequestCTXDetailRequest
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. |
batchRequestEnvelopeBatchRequestPPDDetailRequest
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. |
batchRequestEnvelopeBatchRequestTELDetailRequest
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. |
batchRequestEnvelopeBatchRequestWEBDetailRequest
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. |
batchResponseEnvelopeAccepted
NAME | TYPE | DESCRIPTION |
---|---|---|
batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
cCDDetailRequest
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 |
connectError
NAME | TYPE | DESCRIPTION |
---|---|---|
ConnectErroroptional | string | Error information of the connectivity with downstream service. |
detailMessage
NAME | TYPE | DESCRIPTION |
---|---|---|
codeoptional | string | A static status code assigned by the network or payment system. |
moreInfooptional | string | Detailed descriptive message. |
detailStatusRequestEnvelopePaymentInquiryDetailRequest
NAME | TYPE | DESCRIPTION |
---|---|---|
detailStatusoptional | array | paymentInquiryDetailRequest |
detailStatusResponseEnvelopeDetailStatusResponse
NAME | TYPE | DESCRIPTION |
---|---|---|
detailsoptional | array | detailStatusResponse |
exception
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 universal ID to trace the transaction across all the systems involved, useful for system logging and identification. |
TransactionTimeoptional | string | Time of the occurrence of the error of the message. |
ServiceErroroptional | oneOf | detailMessage connectError |
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. |
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 |
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. |
detailUndoRequestEnvelope
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. |
pPDDetailRequest
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 |
paymentInquiryDetailRequest
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. |
telDetailRequest
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. |
webDetailRequest
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 |
Errors
For more information about errors, see Error handling.
YAML file
