openapi: 3.2.0 info: title: Webhooks Wire/RTP v2 API description: Payment webhook service for ACH, Wire, and RTP alert notifications. contact: name: KeyBank Developer Support email: developers@keybank.com version: 3.1.0 tags: - name: Wire/RTP v2 paths: /"Callback URL from client for Wire/RTP alerts - AL00907": post: tags: - Wire/RTP v2 summary: Send Wire/RTP Alerts event notification to the client URI. requestBody: content: application/json: schema: $ref: '#/components/schemas/alertNotificationAL00907Request' required: true responses: 200: description: OK 202: description: Accepted 400: description: Invalid Input content: application/json: schema: $ref: '#/components/schemas/alertInvalidInputResponse' 401: description: Authentication Error 403: description: Authorization Error 500: description: Internal Error content: application/json: schema: $ref: '#/components/schemas/alertFailureResponse' components: schemas: alertNotificationAL00907Request: type: object properties: alertNotificationRequest: type: array items: type: object properties: alertNotification: type: object properties: alertHeader: type: object properties: alertSentDateAndTime: type: string format: date-time description: 'Date and time the alert was sent. Format: (YYYY-MM-DD)T(HH:MM:SS)Z' alertCode: type: string description: For Wire and RTP alerts, the alert code is AL00907. enum: - AL00907 payType: type: string description: 'Identifies if the payment type is a Wire or RTP transaction. This value must be in all capital letters. Valid values: WIRE, RTP' enum: - RTP - WIRE eapAlertGUID: type: string format: uuid description: Unique alert notification identifier generated by KeyBank (UUID v4). alertBody: type: object properties: transactionId: type: string description: The unique ID number associated with the original payment request. transactionStatus: type: string description: 'Status of the transaction. Possible values: IN_PROCESS, IN_REVIEW, FAILED, CANCELLED, COMPLETE' transactionStatusTimeStamp: type: string format: date-time description: Timestamp for the most recent status change on the transaction. transactionDate: type: string description: 'Date the transaction occurred. Format: YYYYMMDD' transactionAmount: type: string description: The dollar amount of the transaction. requestReference: type: string description: A reference value for the original request that is useful for traceability and reporting. sendersReference: type: string description: Sender tracking reference number returned from the request. channel: type: string description: 'Indicates if the transaction is from the API or a batch channel. Valid values: API, BATCH' transactionDirection: type: string description: 'Indicates if the transaction is incoming or outgoing. Valid values: INBOUND, OUTBOUND, BOOK' creditor: type: object description: Details about the creditor party. properties: name: type: string description: Contains the customer identification number and the company name. creditorAccount: type: object properties: accountNumber: type: string description: Account number of the party. virtualAccountNumber: type: string description: Account number for the virtual account (VAM). currencyCode: type: string description: Indicates type of currency for the transaction amount. debtor: type: object description: Details about the creditor party. properties: name: type: string description: Contains the customer identification number and the company name. debtorAccount: type: object properties: accountNumber: type: string description: Account number of the party. virtualAccountNumber: type: string description: Account number for the virtual account (VAM). currencyCode: type: string description: Indicates type of currency for the transaction amount. example: alertNotificationRequest: - alertNotification: alertHeader: alertSentDateAndTime: '2025-04-14T10:50:56Z' alertCode: AL00907 payType: WIRE eapAlertGUID: f4d88cd2-446c-3cc4-9330-aa123456789 alertBody: transactionId: US25032500068519 transactionStatus: IN_PROCESS transactionStatusTimeStamp: '2025-04-14T11:18:01Z' transactionDate: '20250325' transactionAmount: '6.48' requestReference: 36691398-42 sendersReference: '01234' channel: API or BATCH transactionDirection: OUTBOUND creditor: name: RTP GL Clearing Account creditorAccount: accountNumber: '1120108811111' virtualAccountNumber: '953006666798343' currencyCode: USD debtor: name: LINCOLN ELECTRIC CO debtorAccount: accountNumber: '149222222' virtualAccountNumber: '953006666796016' currencyCode: USD alertInvalidInputResponse: type: object properties: alertNotificationResponse: type: array items: type: object properties: alertAcknowledgment: type: object properties: alertStatus: type: string enum: - FAILURE confirmationGUID: type: string description: API Customer Unique ID for the Alert Notification format: uuid alertRecievedDateAndTime: type: string format: date-time eapAlertGUID: type: string description: ECHO back the value from request format: uuid message: type: string description: Free form text - can be used at API Consumer Discretion example: alertNotificationResponse: - alertAcknowledgment: alertStatus: FAILURE confirmationGUID: 5f0ada5b-056f-483c-98ae-ac6ccab269c1 alertRecievedDateAndTime: 2021-11-19 10:31:12+00:00 eapAlertGUID: ce816009-4aa9-47c7-b2ee-bacf9f0872d0 message: 'Required parameter(s) not found: [fieldName(s)]' alertFailureResponse: type: object properties: alertNotificationResponse: type: array items: type: object properties: alertAcknowledgment: type: object properties: alertStatus: type: string enum: - FAILURE confirmationGUID: type: string description: API Customer Unique ID for the Alert Notification format: uuid alertRecievedDateAndTime: type: string format: date-time eapAlertGUID: type: string description: ECHO back the value from request format: uuid message: type: string description: Free form text - can be used at API Consumer Discretion example: alertNotificationResponse: - alertAcknowledgment: alertStatus: FAILURE confirmationGUID: 5f0ada5b-056f-483c-98ae-ac6ccab269c1 alertRecievedDateAndTime: 2021-11-19 10:31:12+00:00 eapAlertGUID: 3eecd293-8c45-40ba-be09-d8570c5665ed message: Internal Error