Send or collect an ACH transaction, report on the status, or undo a payment
ACH Origination Endpoints
| Summary | Endpoint |
|---|---|
| Health check | get /ach/payments/v1/healthCheck |
| Check the status of a payment request | post /ach/payments/v1/status |
| Check the status of addenda records | post /ach/payments/v1/status/addenda |
| Send or collect a payment | post /ach/payments/v1/ccd |
| Make or collect payments to or from a corporate account with attached records | post /ach/payments/v1/ctx |
| Make deposits and withdrawals to or from consumer accounts | post /ach/payments/v1/ppd |
| Send a payment over the phone | post /ach/payments/v1/tel |
| Send an online payment | post /ach/payments/v1/web |
| Undo a payment request | post /ach/payments/v1/undo |
| Send additional addenda information | post /ach/payments/v1/addenda |
Key notes
Before you begin
All KeyBank APIs require certificates, user credentials, and certain permissions. You need specific permissions to access our ACH API products. Check out our Get Started Guide to start the onboarding process.
Requirements
The ACH Origination API uses only POST methods to generate new ACH transactions. In the request, you indicate if you are sending or collecting funds and the method of authorization to transfer funds. When initiating a payment, there are required fields at the batch and detail levels.
UUID
Universal unique identifier (uuid) is a custom value used to identify each transaction created by you. The UUID is required to undo a payment. The ID must not exceed 45 alphanumeric characters. The UUID is only part of the ACH Originate API and is not used to trace a transaction across its lifecycle, meaning it cannot be used as a lookup field in the ACH Inquiry API.
Client information
- Point (
point) is short name specific to your company assigned by KeyBank. The point name is nine characters long, buy KeyBank limits the name to eight characters. One character is used to match the input data of the request associated with this point value to the shared services payment system before batch processing. The point value is included in the file name and improves security for file transfers. - Collection application ID (
collectionApplicationId) is a sub-level to the point value assigned by KeyBank. You must provide your collection application identifier with your point name. The ID must not exceed 9 characters. If you have different settlement accounts, you will need multiple collection application IDs, each connected to a specific settlement account.
SEC code
SEC code (secCode) is a three-character code to identify the application type contained within an ACH entry that also determines the rules that apply to that entry. Allowable SEC codes are CCD, CTX, PPD, TEL, WEB.
Purpose of payment
Entry description (companyEntryDescripiton) describes the purpose of the payment as defined by you. This is required to help identify the difference between transactions, if any.
Transaction details
At the detail level, you provide transaction details like account and party information, amount, and satisfy any SEC-related requirements.
Sometimes it's the details
You can add details to your transaction. Use custom data feature when you send or validate a payment. Define the customData in the request payload. Learn more about our custom data feature here.
Check the status of a payment request
post /ach/payments/v1/status
Check the return status of one or more transactions. Use this request prior to the collection window. Transaction statuses can be:
- accepted: The payment has passed initial validation checks is approved for processing by KeyBank.
- rejected: The payment did not pass validation and cannot be process. Your request may have invalid data.
- extracted: The payment has been pulled from your system and prepared for processing by the KeyBank network.
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| detailStatusoptional | array | paymentInquiryDetailRequest |
Request example
{
"detailStatus": [
{
"uuid": "qas220602x-49eb-47664-b94rhd1-e52e2re11001"
}
]
}Responses
Successful response
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| detailsoptional | array | detailStatusResponse |
Response example (200)
{
"detailStatusResponseEnvelopeDetailStatusResponse": {
"detailStatusResponse": [
{
"uuid": "qas220602x-49eb-47664-b94rhd1-e52e2re11001",
"status": "accepted",
"errorMessages": [],
"informationMessages": [],
"traceNumber": "041001030009002",
"requestAcceptedUTCTime": "2022-06-02T17:38:28Z",
"point": "APITEST",
"collectionApplicationId": "QASTEST01",
"collectionApplicationType": "",
"secCode": "CCD",
"effectiveDate": "220411",
"companyDescriptiveDate": "220411",
"companyName": "APITEST",
"companyDiscretionaryData": "",
"companyIdentification": "1123456789",
"companyEntryDescription": "API/QAS ",
"originatingDFIId": "04100103",
"accountType": "C",
"creditDebitCode": "C",
"transactionType": "L",
"transactionCode": "22",
"receivingDFIId": "04100103",
"checkDigit": "2",
"dfiAccountNumber": "123456789",
"amount": "555.54",
"identificationNumber": "099999999a",
"receivingCompanyName": "QASTEST001",
"discretionaryData": "AB",
"numberOfAddendaRecords": "0",
"numberOfAddendaReceived": "0",
"addenda": {
"addendaTypeCode": "05",
"addendaSequenceNumber": "1",
"paymentRelatedInformation": "Testing API"
}
}
]
}
}Missing mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "/ach/payments/v1/status",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/status",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Check the status of addenda records
post /ach/payments/v1/status/addenda
Check the status of one or more addenda records. KeyBank keeps track of addenda records throughout the business day. Status can be:
- Waiting: The request is still being processed.
- Completed: The addenda records have been retrieved and are ready to view.
Request
| 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. |
| pageSize | string | The number of records to be returned in the pagination search. |
| startAddendaSequenceNumber | 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 |
|---|---|---|
| uuid | string | A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
| status | string | The status of the batch can be accepted or rejected. |
| errorMessagesoptional | array | detailMessage |
| traceNumber | string | The unique number for the ACH transaction. 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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "/ach/payments/v1/addenda",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "/ach/payments/v1/addenda",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Send or receive a business-to-business payment
post /ach/payments/v1/ccd
CCD stands for Corporate Credit or Debit. CCD is used for business-to-business (B2B) payments. It allows you to:
- Send money to another business (credit).
- Pull money from another business (debit).
- Move funds between their own accounts (like transferring money from branch accounts to a central account).
CCD payments are only for business accounts, not personal ones. The CCD request supports one addenda record, which can include extra info like invoice numbers.
You can use this request as either a one-time or recurring payment.
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | batchRequestCCDDetailRequest |
| customData | 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": "099999999a",
"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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/ccd",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ccd",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Send or receive a business payment with detailed remittance info
post /ach/payments/v1/ctx
CTX stands for Corporate Trade Exchange. Use this request to send or collect a payment from one business/entity to another with remittance information. You can include up to 20 addenda records in one payment request.
With CTX, you can:
- Send or receive money between businesses.
- Include detailed remittance information, like multiple invoices or billing details
- Make complex business-to-business payments with structured data
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | batchRequestCTXDetailRequest |
| customData | 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": "099999999",
"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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/ctx",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ctx",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Process a prearranged payment or deposit for an individual
post /ach/payments/v1/ppd
PPD stands for Prearrange Payment and Deposit. Use this request to send or collect money between a business and an individual. This is common for routine electronic payments, like payroll, utility payments, or personal account transfers.
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | batchRequestPPDDetailRequest |
| customData | 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": "099999999a",
"discretionaryData": "AB",
"addenda": [
{
"paymentRelatedInformation": "QASTest02.02A"
}
]
},
{
"DFIAccountNumber": "234567891",
"accountType": "S",
"amount": "0.00",
"checkDigit": "2",
"creditDebitCode": "C",
"individualName": "QASTest006",
"receivingDFIId": "24107121",
"transactionType": "P",
"uuid": "qas220330A-49eb-47664-b94rhd1-12362",
"individualIdentificationNumber": "099999999b",
"discretionaryData": "BC"
},
{
"DFIAccountNumber": "345678912",
"accountType": "S",
"amount": "1794.91",
"checkDigit": "2",
"creditDebitCode": "D",
"individualName": "QASTest006",
"receivingDFIId": "24107121",
"transactionType": "L",
"uuid": "qas220330A-49eb-47664-b94rhd1-12363",
"individualIdentificationNumber": "099999999c",
"discretionaryData": "BC",
"addenda": [
{
"paymentRelatedInformation": "QASTest02.02C"
}
]
}
]
}
}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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/ppd",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/ppd",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Send a payment over the phone
post /ach/payments/v1/tel
TEL stands for Telephone-Initiated Entry. Use this request for one-time or occasional calls where authorization and payment are received by phone.
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | batchRequestTELDetailRequest |
| customData | 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": "099999999",
"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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/tel",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/tel",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Send an online payment
post /ach/payments/v1/web
WEB stands for Internet-Initiated Entry, where authorization and payment are submitted online, like for a subscription to pull funds from their bank account.
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | batchRequestWEBDetailRequest |
| customData | 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": "099999999",
"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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/web",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/web",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Undo a payment request
post /ach/payments/v1/undo
Recall and stop a payment request prior to collection (see ACH schedules for collection windows). Typically, you can undo the request within 10 minutes of origination. You must have the request's UUID to undo the transaction.
Request
| 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. |
Request example
{
"uuid": "qas220517x-49eb-47664-b94rhd1-e52e2re13001"
}Responses
Successful response
| 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. |
| status | 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 |
| traceNumber | string | The unique number for the ACH transaction. 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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/undo",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/undo",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Send additional addenda information
post /ach/payments/v1/addenda
Attach details to an ACH payment, like invoice numbers or notes that help the receiver identify the payment. This is helpful for business-to-business transaction where more context is needed for complex payments or reconciliation.
Request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| addendarequired | array | addendaRequest |
| 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. |
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 |
|---|---|---|
| uuid | string | A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
| status | string | The overall status of the addenda request can be accepted or rejected. |
| traceNumber | 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 |
| requestAcceptedUTCTime | string | The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
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 mandatory information
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (400)
{
"ErrorMessage": "Mandatory data not provided, please verify the data and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Unauthorized request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (401)
{
"ErrorMessage": "Received request is unauthorized, please provide valid credentials",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Forbidden request access
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (403)
{
"ErrorMessage": "Access to requested resource is forbidden",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Resource not found
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (404)
{
"ErrorMessage": "Requested resource is not found, please verify the resource then resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Invalid request method
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (405)
{
"ErrorMessage": "Requested method is not allowed, please verify the method and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Invalid request type
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (415)
{
"ErrorMessage": "Requested media type is not allowed, please verify the media type and resubmit the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Request timeout
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (429)
{
"ErrorMessage": "Number requests threshold reached, please resubmit the request after sometime",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Unknown error
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (500)
{
"ErrorMessage": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda"
}Bad gateway
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (502)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"Api-Url": "\/ach\/payments\/v1\/addenda",
"ServiceError": {
"ConnectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
}
}Unavailable service
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (503)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda",
"ServiceError": {
"ConnectError": "Service is currently unavailable (NoActiveTargets), please check with application support before resubmitting the request."
}
}Unable to process request
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
Response example (504)
{
"ErrorMessage": "Error received from backend",
"TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
"X-CorrelationId": "929618f2-6163-bf73-51b0-6c54a8533c74",
"TransactionTime": "2021-06-11T16:31:34.041Z",
"Api-Url": "\/ach\/payments\/v1\/addenda",
"ServiceError": {
"ConnectError": "Please verify your payment status UUID and send the request again. The request could not be processed on time (GatewayTimeout)."
}
}Schemas
healthResponse
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| Status | string | The status of the health check response. |
| Source | string | The origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved. |
| Timestamp | string | The date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service. |
| ClientIp | string | The client IP address the gateway receives from the request. |
| X-Forwarded-For | string | The sequence of the IP addresses for systems between the client and the gateway. |
exception
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ErrorMessage | string | Error message related to system generating this error. |
| TransactionId | string | Unique functional identifier from the data to identify a message. |
| X-CorrelationId | string | A unique identifier generated for each transaction that remains with the transaction through the chain of API operations. |
| TransactionTime | string | Time of the occurrence of the error of the message. |
| Api-Url | string | The API URL path of the call that generated the response. |
| ServiceError | oneOf | detailMessage connectError |
connectError
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| ConnectError | string | Error information of the connectivity with downstream service. |
acceptedAddendaResponseEnvelope
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| uuid | string | A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
| status | string | The overall status of the addenda request can be accepted or rejected. |
| traceNumber | 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 |
| requestAcceptedUTCTime | string | The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
acceptedBatchResponseAcceptedDetailResponse
| 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. |
| statusrequired | string | The status of the batch can be accepted or rejected. |
| requestAcceptedUTCTime | string | The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 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. |
| status | string | The overall status of the addenda can be accepted or rejected. |
| errorMessagesoptional | array | detailMessage |
| informationMessagesoptional | array | detailMessage |
| traceNumber | string | The unique number for the ACH transaction. Record this number for possible ACH inquiry requests. |
| requestAcceptedUTCTime | string | The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
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 identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
addendaResponse
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| status | 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 identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
| pageSize | string | The number of records to be returned in the pagination search. |
| startAddendaSequenceNumber | string | The starting number for the addenda record sequence. |
addendaStatusResponseEnvelope
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| uuid | string | A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
| status | string | The status of the batch can be accepted or rejected. |
| errorMessagesoptional | array | detailMessage |
| traceNumber | 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 |
|---|---|---|
| addendaTypeCode | string | The type code for the addenda. The value is '05'. |
| addendaSequenceNumber | string | The sequence number of the addenda. The number cannot exceed 4 digits. |
| paymentRelatedInformation | 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. |
| status | 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 |
| traceNumber | 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 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. |
| collectionApplicationType | 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. |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD |
| companyDescriptiveDate | string | Company descriptive date. Format: YYMMDD |
| companyEntryDescriptionrequired | string | Provides the receiver a description of the payment purpose. The value cannot exceed 10 characters and cannot be blank. Possible values: 'REVERSAL', 'RETURN FEE', 'RECLAIM', 'REDEPCHECK' for RCK entries, 'HCCLAIMPMT' for Health Care EFTs, or 'ACCTVERIFY' for clients sending in a micro-entry as a type of ACH entry. |
| 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. |
| collectionApplicationType | 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. |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD |
| companyDescriptiveDate | string | Company descriptive date. Format: YYMMDD |
| companyEntryDescriptionrequired | string | Provides the receiver a description of the payment purpose. The value cannot exceed 10 characters and cannot be blank. Possible values: 'REVERSAL', 'RETURN FEE', 'RECLAIM', 'REDEPCHECK' for RCK entries, 'HCCLAIMPMT' for Health Care EFTs, or 'ACCTVERIFY' for clients sending in a micro-entry as a type of ACH entry. |
| detailsoptional | array | cTXDetailRequest |
batchRequestEnvelopeBatchRequestCCDDetailRequest
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | batchRequestCCDDetailRequest |
| customData | 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 |
| customData | 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 |
| customData | 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 |
| customData | 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 |
| customData | 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. |
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. |
| collectionApplicationType | 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. |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD |
| companyDescriptiveDate | string | Company descriptive date. Format: YYMMDD |
| companyEntryDescriptionrequired | string | Provides the receiver a description of the payment purpose. The value cannot exceed 10 characters and cannot be blank. Possible values: 'REVERSAL', 'RETURN FEE', 'RECLAIM', 'REDEPCHECK' for RCK entries, 'HCCLAIMPMT' for Health Care EFTs, or 'ACCTVERIFY' for clients sending in a micro-entry as a type of ACH entry. |
| detailsoptional | array | pPDDetailRequest |
batchRequestTELDetailRequest
| 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. |
| collectionApplicationType | 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. |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD |
| companyDescriptiveDate | string | Company descriptive date. Format: YYMMDD |
| companyEntryDescriptionrequired | string | Provides the receiver a description of the payment purpose. The value cannot exceed 10 characters and cannot be blank. Possible values: 'REVERSAL', 'RETURN FEE', 'RECLAIM', 'REDEPCHECK' for RCK entries, 'HCCLAIMPMT' for Health Care EFTs, or 'ACCTVERIFY' for clients sending in a micro-entry as a type of ACH entry. |
| detailsoptional | array | telDetailRequest |
batchRequestWEBDetailRequest
| 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. |
| collectionApplicationType | 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. |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD |
| companyDescriptiveDate | string | Company descriptive date. Format: YYMMDD |
| companyEntryDescriptionrequired | string | Provides the receiver a description of the payment purpose. The value cannot exceed 10 characters and cannot be blank. Possible values: 'REVERSAL', 'RETURN FEE', 'RECLAIM', 'REDEPCHECK' for RCK entries, 'HCCLAIMPMT' for Health Care EFTs, or 'ACCTVERIFY' for clients sending in a micro-entry as a type of ACH entry. |
| detailsoptional | array | webDetailRequest |
batchResponseEnvelopeAccepted
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| batchrequired | Object | acceptedBatchResponseAcceptedDetailResponse |
cCDDetailRequest
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| uuidrequired | string | A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters. |
| 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 receiving designated financial institution. The 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 designated financial institution. 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. |
| identificationNumber | string | Identification 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. |
| discretionaryData | 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 |
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 receiving designated financial institution. The 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 designated financial institution. 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. |
| identificationNumber | 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. |
| discretionaryData | 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 |
detailMessage
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| code | string | A static status code assigned by the network or payment system. |
| moreInfo | string | Detailed descriptive message. |
detailStatusRequestEnvelopePaymentInquiryDetailRequest
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| detailStatusoptional | array | paymentInquiryDetailRequest |
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. |
| status | string | The status of the batch tells if data is valid, contains errors, or has been received by the ACH core processing system. Valid values: accepted, rejected, extracted |
| errorMessagesoptional | array | detailMessage |
| informationMessagesoptional | array | detailMessage |
| traceNumber | string | The unique number for the ACH transaction. Record this number for possible ACH inquiry requests. |
| requestAcceptedUTCTime | string | The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
| requestDeletedUTCTime | string | The date and time the request was deleted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
| requestLastUpdatedUTCTime | string | The date and time the request was updated in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ |
| point | string | A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers. |
| collectionApplicationId | string | This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters. |
| collectionApplicationType | 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. |
| secCode | string | The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, IAT, PPD, TEL, WEB. |
| effectiveDate | string | The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD |
| companyDescriptiveDate | string | Company descriptive date. Format: YYMMDD |
| batchNumber | string | The number associated with the batch. It can be a maximum of 7 digits. |
| companyName | string | The name of the corporation or institution making the request. The name cannot exceed 16 characters or have spaces. |
| companyDiscretionaryData | string | Discretionary data for the company. |
| companyIdentification | string | The identification number of the company. This cannot exceed 15 digits. |
| companyEntryDescription | string | Provides the receiver a description of the payment purpose. The value cannot exceed 10 characters and cannot be blank. Possible values: 'REVERSAL', 'RETURN FEE', 'RECLAIM', 'REDEPCHECK' for RCK entries, 'HCCLAIMPMT' for Health Care EFTs, or 'ACCTVERIFY' for clients sending in a micro-entry as a type of ACH entry. |
| originatingDFIId | string | The bank routing number (ABA number) of the originating designated financial institution. The number can be a maximum of 8 digits. |
| accountType | string | The account type can be checking (C) or savings (S). Valid values: C, S. |
| creditDebitCode | string | One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D. |
| transactionType | string | Nacha-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z |
| transactionCode | string | A two-character field that specifies the billing credit transaction code. |
| receivingDFIId | string | The bank routing number (ABA number) of the receiving designated financial institution. The number can be a maximum of 8 digits. |
| checkDigit | string | The final character of a routing number that can be used to validate a specific routing number. This is a single digit. |
| dfiAccountNumber | string | The recipient account number at the recipient's bank. |
| amount | 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. |
| identificationNumber | string | Identification number for the detail record. The number cannot exceed 15 characters. |
| receivingCompanyName | string | The name of the receiving company. The name cannot exceed a maximum of 22 characters. |
| discretionaryData | 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. |
| totalAmount | 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. |
| receivingCompanyNameIDNumber | string | The name and ID of the receiving company. This field cannot exceed 16 characters. |
| individualIdentificationNumber | string | The ID number for the individual. This cannot exceed 15 characters. |
| individualName | string | The name of the individual. This cannot exceed 22 characters. |
| paymentTypeCode | string | The code is a maximum of four characters. This field returns two empty spaces if the code is not provided by the client. |
| numberOfAddendaRecords | string | Count of addenda records. This cannot exceed 4 digits. |
| numberOfAddendaReceived | string | Count of addenda records received. |
| addendaoptional | array | baseAddendaDetailResponse |
| fileCreationDate | string | The date the file was created. Format: YYMMDD |
| fileCreationTime | string | The time the file was created. |
| fileIdModifier | string | The file ID modifier to control the totals with a single alphanumeric value. |
detailStatusResponseEnvelopeDetailStatusResponse
| NAME | TYPE | DESCRIPTION |
|---|---|---|
| detailsoptional | array | detailStatusResponse |
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 receiving designated financial institution. The 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 designated financial institution. 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. |
| individualIdentificationNumber | string | The ID number for the individual. This cannot exceed 15 characters. |
| discretionaryData | 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 receiving designated financial institution. The 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 designated financial institution. 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. |
| individualIdentificationNumber | string | The ID number for the individual. This cannot exceed 15 characters. |
| individualNamerequired | string | The name of the individual. This cannot exceed 22 characters. |
| paymentTypeCode | 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 receiving designated financial institution. The 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 designated financial institution. 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. |
| individualIdentificationNumber | string | The ID number for the individual. This cannot exceed 15 characters. |
| individualNamerequired | string | The name of the individual. This cannot exceed 22 characters. |
| paymentTypeCode | 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
If something doesn’t go as expected, check out our Error Handling and Troubleshooting pages.
- Error handling explains the structure of our error objects and the HTTP status codes you’ll encounter.
- Troubleshooting helps you diagnose issues and provides possible workarounds to get your integration back on track.
Changelog
| Release | API version | Change description | Impact |
|---|---|---|---|
| September 2025 | 1.3.4 |
| LOW |
| July 2025 | 1.3.3 |
| LOW |
| October 2024 | 1.3.2 |
| LOW |
| May 2024 | 1.3.1 |
| MID |
| April 2024 | 1.3.0 |
| LOW |
| September 2023 | 1.2.0 |
| MID |
| May 2023 | 1.1.6 |
| MID |
| December 2022 | 1.1.5 |
|
Impact levels
- LOW: This is a minor change or enhancement that does not alter the operations of the API. Upgrading to the latest specifications is preferable but not required.
- MID: The previous API version is valid and operates, but does not contain latest enhancements. You need to update your specifications to get these enhancements.
- HIGH: The previous API version is no longer operable. You must upgrade to the latest specifications to access and use this API product.
YAML file