Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/keycorp-ach-payment-request-inquiry-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: ACH Origination ACH Payment Request Inquiry API
description: Use the ACH Origination API to submit a payment. This API is more than a single action. With the ACH Origination API, you can submit a payment, check on its status, and undo a request.
contact:
name: KeyBank Developer Support
email: developers@keybank.com
version: 1.3.4
servers:
- url: https://partner-api-qv.key.com
- url: https://partner-api.key.com
security:
- bearerAuth: []
tags:
- name: ACH Payment Request Inquiry
paths:
/ach/payments/v1/status:
post:
tags:
- ACH Payment Request Inquiry
summary: Check the status of a payment request
description: Check the return status of one or more transactions. Use this request to see if the originated item failed, was accepted, is waiting for one or more addenda items, or is being processed.
operationId: achPaymentStatus
security:
- bearerAuth: []
requestBody:
description: Contains the parameters to initiate a status request for an existing ACH Payment request.
content:
application/json:
schema:
$ref: '#/components/schemas/detailStatusRequestEnvelopePaymentInquiryDetailRequest'
example:
detailStatus:
- uuid: qas220602x-49eb-47664-b94rhd1-e52e2re11001
required: true
responses:
200:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/detailStatusResponseEnvelopeDetailStatusResponse'
example:
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
'400':
description: Missing mandatory information
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'401':
description: Unauthorized request
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'403':
description: Forbidden request access
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'404':
description: Resource not found
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'405':
description: Invalid request method
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'415':
description: Invalid request type
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'429':
description: Request timeout
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'500':
description: Unknown error
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'502':
description: Bad gateway
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'503':
description: Unavailable service
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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.
'504':
description: Unable to process request
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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).
/ach/payments/v1/status/addenda:
post:
tags:
- ACH Payment Request Inquiry
summary: Check the status of addenda records
description: Check the return status of one or more addenda records
operationId: achPaymentAddendasStatus
security:
- bearerAuth: []
requestBody:
description: Contains the parameters to initiate a status inquiry for addenda records related to an ACH Payment request.
content:
application/json:
schema:
$ref: '#/components/schemas/addendaStatusRequestEnvelope'
example:
uuid: qas220517x-49eb-47664-b94rhd1-e52e2re13001
pageSize: '10'
startAddendaSequenceNumber: '0001'
required: true
responses:
200:
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/addendaStatusResponseEnvelope'
example:
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
'400':
description: Missing mandatory information
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'401':
description: Unauthorized request
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'403':
description: Forbidden request access
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'404':
description: Resource not found
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'405':
description: Invalid request method
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'415':
description: Invalid request type
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'429':
description: Request timeout
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'500':
description: Unknown error
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'502':
description: Bad gateway
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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
'503':
description: Unavailable service
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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.
'504':
description: Unable to process request
headers:
X-CorrelationId:
schema:
type: string
description: A universal ID to trace the transaction across all the systems involved, useful for system logging and identification.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
example:
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).
components:
schemas:
addendaStatusRequestEnvelope:
required:
- uuid
type: object
description: Contains the unique transaction ID and pagination controls.
properties:
uuid:
type: string
description: A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
maxLength: 45
example: qas220517x-49eb-47664-b94rhd1-e52e2re13001
pageSize:
type: string
description: The number of records to be returned in the pagination search.
example: 10
startAddendaSequenceNumber:
type: string
description: The starting number for the addenda record sequence.
example: '0001'
exception:
type: object
title: ExceptionSchema
properties:
ErrorMessage:
type: string
description: Error message related to system generating this error.
TransactionId:
type: string
description: Unique functional identifier from the data to identify a message.
X-CorrelationId:
type: string
description: A unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTime:
type: string
description: Time of the occurrence of the error of the message.
Api-Url:
type: string
description: The API URL path of the call that generated the response.
ServiceError:
type: object
title: ServiceError
description: Indicates the service error details, if available.
oneOf:
- $ref: '#/components/schemas/detailMessage'
- $ref: '#/components/schemas/connectError'
baseAddendaDetailResponse:
type: object
description: Contains the code, sequence number, and related payment information for returned addenda records.
properties:
addendaTypeCode:
type: string
description: The type code for the addenda. The value is '05'.
example: 5
addendaSequenceNumber:
type: string
description: The sequence number of the addenda. The number cannot exceed 4 digits.
maxLength: 4
example: 1
paymentRelatedInformation:
type: string
description: The related payment information from the addenda records. The maximum character limit is 80.
maxLength: 80
example: Undo
detailStatusResponse:
required:
- uuid
type: object
description: The status and details for the requested ACH payment transaction.
properties:
uuid:
type: string
description: A custom value used to identify each transaction. It is required to undo a payment. The ID must not exceed 45 alphanumeric characters.
maxLength: 45
example: qas220517x-49eb-47664-b94rhd1-e52e2re13001
status:
type: string
description: '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'
example: accepted
errorMessages:
type: array
description: List of error messages.
items:
$ref: '#/components/schemas/detailMessage'
informationMessages:
type: array
description: List of informational messages.
items:
$ref: '#/components/schemas/detailMessage'
traceNumber:
type: string
description: The unique number for the ACH transaction. Record this number for possible ACH inquiry requests.
example: '41001030009002'
requestAcceptedUTCTime:
type: string
description: 'The date and time the request was accepted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ'
example: '2022-06-02T17:38:28Z'
requestDeletedUTCTime:
type: string
description: 'The date and time the request was deleted in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ'
example: '2022-06-02T17:38:28Z'
requestLastUpdatedUTCTime:
type: string
description: 'The date and time the request was updated in UTC time. Format: YYYY-MM-DDTHH:MM:SSZ'
example: '2022-06-02T17:38:28Z'
point:
type: string
description: A short name specific to your company provided by KeyBank. This is included in the file name and improves security for file transfers.
maxLength: 9
example: APITEST
collectionApplicationId:
type: string
description: This ID is provided by KeyBank and cannot exceed the maximum of 9 alphanumeric characters.
maxLength: 9
example: QASTEST01
collectionApplicationType:
type: string
description: 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.
maxLength: 6
example: DAILY
secCode:
type: string
description: 'The three-digit Standard Entry Class code based on Nacha rules. Valid values: CCD, CTX, IAT, PPD, TEL, WEB.'
maxLength: 3
example: CCD
effectiveDate:
type: string
description: 'The date the transaction is posted. This date must be within 31 days of the current date. Format: YYMMDD'
example: '220411'
companyDescriptiveDate:
type: string
description: 'Company descriptive date. Format: YYMMDD'
batchNumber:
type: string
description: The number associated with the batch. It can be a maximum of 7 digits.
maxLength: 7
companyName:
type: string
description: The name of the corporation or institution making the request. The name cannot exceed 16 characters or have spaces.
maxLength: 16
example: TestCompanyName
companyDiscretionaryData:
type: string
description: Discretionary data for the company.
companyIdentification:
type: string
description: The identification number of the company. This cannot exceed 15 digits.
maxLength: 15
example: '1123456789'
companyEntryDescription:
type: string
description: '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:
type: string
description: The bank routing number (ABA number) of the originating designated financial institution. The number can be a maximum of 8 digits.
maxLength: 8
example: API/QAS
accountType:
type: string
description: 'The account type can be checking (C) or savings (S). Valid values: C, S.'
enum:
- C
- S
example: C
creditDebitCode:
type: string
description: 'One-character field indicates if the ACH transaction is a credit (C) or debit (D). Valid values: C, D.'
enum:
- C
- D
example: C
transactionType:
type: string
description: 'Nacha-defined transaction types can be live (L), prenote (P), or zero (Z). Valid values: L, P, Z'
enum:
- L
- P
- Z
example: L
transactionCode:
type: string
description: A two-character field that specifies the billing credit transaction code.
maxLength: 2
example: 22
receivingDFIId:
type: string
description: The bank routing number (ABA number) of the receiving designated financial institution. The number can be a maximum of 8 digits.
maxLength: 8
example: 4331809
checkDigit:
type: string
description: The final character of a routing number that can be used to validate a specific routing number. This is a single digit.
maxLength: 1
example: 0
dfiAccountNumber:
type: string
description: The recipient account number at the recipient's bank.
example: 22703528
amount:
type: string
description: The transaction amount in valid currency format. The amount can have up to 8 digits before the decimal and 2 digits after the decimal.
example: 55
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/keycorp/refs/heads/main/openapi/keycorp-ach-payment-request-inquiry-api-openapi.yml