RTP Inquiry

clock 2-minute read calender 1.2.0 | updated Apr. 22, 2025

Search and query real-time payments transactions

SummaryEndpoint
Health checkget /rtp/v1/healthCheck
Search real time payment transactionspost /rtp/v1/transactions/list
Get a real time payment transaction by its transaction IDget /rtp/v1/transactions/detail/{transactionId}

get /rtp/v1/healthCheck

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

 
NAMETYPEDESCRIPTION
StatusoptionalstringStatus of the health check response.
SourceoptionalstringThe origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringThe date (YYYY-MM-DD) and time (HH:MM:SS) of the response from the API service.
ClientIpoptionalstringThe client IP address the gateway gets from the request.
X-Forwarded-ForoptionalstringThe sequence of all the IP addresses for systems involved between the client and the gateway.

Response example (200)

copylink
{
  "Status": "Ok",
  "Source": "Roundtrip",
  "Timestamp": "2022-09-15T04:49:03",
  "ClientIp": "156.77.111.28",
  "X-Forwarded-For": "[156.77.111.28]"
}

post /rtp/v1/transactions/list

Based on search criteria provided, get a list of RTP transactions. The account number and date range are required for every request.

NAMETYPEDESCRIPTION
accountNumberrequiredstringThe bank account number. This field cannot exceed 16 characters.
fromDaterequiredstringStart date for the date range. This date can be the current day or within 100 days prior to the current date. To search for a single date, this value will be the same as the toDate. Format: YYYY-MM-DD
toDaterequiredstringEnd date for the date range. This date must be the same or later than the start date (fromDate). To search for a single date, this value will be the same as the fromDate. To search for a range of dates, make sure the date range does not exceed 31 days. Format: YYYY-MM-DD
minimumAmountoptionalstringThe minimum dollar amount of the transaction. This amount must be less than or equal to the maximum amount. Leave blank or enter zero for no minimum amount.
maximumAmountoptionalstringThe maximum dollar amount of the transaction. This amount must be greater than or equal to the minimum amount. Leave blank to retrieve all amounts. This amount cannot exceed one billion dollars.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
pageNumberoptionalstringThe number of the page being viewed. This number must be greater than or equal to 1.
pageSizeoptionalstringThe total number of pages returned. This number must be greater than or equal to 1 and cannot exceed 1000.

Request example

copylink
{
  "accountNumber": "3123456789",
  "fromDate": "2024-02-01",
  "toDate": "2024-02-01",
  "minimumAmount": "100.00",
  "maximumAmount": "75020.5",
  "requestReference": "USt41001030ii016002",
  "pageNumber": "1",
  "pageSize": "500"
}
NAMETYPEDESCRIPTION
transactionsarrayRtpListTransaction
metadataObjectMetadata

Response example (200)

copylink
{
    "transactions": [
        {
            "transactionId": "US99999000999999",
            "transactionStatus": "COMPLETED",
            "transactionDate": "2024-02-01",
            "transactionAmount": 32772.63,
            "requestReference": "1122334455",
            "sendersReference": "US99999000999999",
            "creditor": {
                "name": "Global Markets LLC"
            },
            "creditorAccount": {
                "accountNumber": "987654321"
            },
            "debtor": {
                "name": "Paul Wilson"
            },
            "debtorAccount": {
                "accountNumber": "123456789"
            }
        }
    ],
    "metadata": {
        "page": {
            "pageNumber": 1,
            "pageSize": 25,
            "totalPages": 3,
            "totalRecords": 75,
            "lastPage": true
        }
    }
}
NAMETYPEDESCRIPTION
messagesoptionalarrayMessage
pageObjectPage

Response example (400)

copylink
{
    "messages": {
        "code": "RTP-List-400-bad-input",
        "message": "Bad input parameter"
    }
}

get /rtp/v1/transactions/detail/{transactionId}

Provide the transaction ID to retrieve all available fields for that single real time payment transaction.

path FIELDTYPEDESCRIPTION
transactionIdrequiredstringThe unique ID number associated with the original payment request.

Request example

copylink
curl --location: 'https://partner-api.keybank.com/rtp/v1/transactions/detail/US99999000999999'
--header 'KeyClientId: testwUhSQADUD4DwYyZz2hZkwLqsoFGK'
--header 'Accept: application/json'
--header 'Bearer testZcKJDWnwDWmmf9qah6PJvPy8'
            
NAMETYPEDESCRIPTION
transactionIdstringThe unique ID number associated with the original payment request.
transactionStatusenumThe status of the RTP payment. Valid values: CANCELLED, COMPLETED, FAILED, IN PROCESS, IN REVIEW, RETURNED
transactionDatestringDate the transfer occurred. Format: YYYY-MM-DD
transactionAmountnumberThe dollar amount of the transaction.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferencestringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
creditorobjectPartyList
creditorAccountobjectAccountList
debtorobjectPartyList
debtorAccountobjectAccountList
remittanceInformationstringSpecific details associated with a transaction like an invoice number or customer details that provide a reason for the payment.
originatorobjectPartyList
originatorAccountobjectAccountList
beneficiaryobjectPartyList
beneficiaryAccountobjectAccountList
ultimateCreditorobjectPartyList
ultimateCreditorAccountobjectAccountList
ultimateDebtorobjectPartyList
ultimateDebtorAccountobjectAccountList

Response example (200)

copylink
{
  "transactionId": "US99999000999999",
  "transactionStatus": "COMPLETED",
  "transactionDate": "2024-02-01",
  "transactionAmount": 32772.63,
  "requestReference": "1122334455",
  "sendersReference": "US99999000999999",
  "creditor": {
    "name": "Global Markets LLC"
    },
  "creditorAccount": {
    "accountNumber": "987654321"
    },
  "debtor": {
    "name": "Paul Wilson"
    },
  "debtorAccount": {
    "accountNumber": "123456789"
    },
  "remittanceInformation": "Payment 02/01/2024_Invoice - 123456789 Cust",
  "originator": {
    "name": "Global Markets"
	},
  "originatorAccount": {
  	"accountNumber": "987654321",
	"virtualAccountNumber": "400100225000"
	},
  "beneficiary": {
    "name": "Wilson"
  "beneficiaryAccount": {
    "accountNumber": "123456789",
	"virtualAccountNumber": "400100338001"
	}
  }
}
NAMETYPEDESCRIPTION
messagesoptionalarrayMessage
pageobjectPage

Response example (404)

copylink
{
  "messages": {
    "code": "RTP-Detail-404-no-records",
    "message": "Record Not Found"
    }
}
NAMETYPEDESCRIPTION
accountNumberstringAccount number of the party.
virtualAccountNumberstringAccount number of the virtual account (VAM).
NAMETYPEDESCRIPTION
codestringStatic code assigned by the network or payment system.
messagestringA human-readable message associated with the code.
NAMETYPEDESCRIPTION
messagesoptionalarrayMessage
pageObjectPage
NAMETYPEDESCRIPTION
pageNumberintegerThe number of the page being viewed.
pageSizeintegerThe number of records per page.
totalPagesintegerThe total number of pages available.
totalRecordsintegerThe total number of the transactions (records) available in the result set.
lastPagebooleanIndicates the last page of the total pages.
NAMETYPEDESCRIPTION
namestringContains the customer identification number and the company name.
NAMETYPEDESCRIPTION
transactionIdstringThe unique ID number associated with the original payment request.
transactionDatestringDate the transfer occurred. Format: YYYY-MM-DD
transactionAmountnumberThe dollar amount of the transaction.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferencestringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
creditorObjectPartyList
creditorAccountObjectAccountList
debtorObjectPartyList
debtorAccountObjectAccountList
remittanceInformationstringSpecific details associated with a transaction like an invoice number or customer details that provide a reason for the payment.
originatorObjectPartyList
originatorAccountObjectAccountList
beneficiaryObjectPartyList
beneficiaryAccountObjectAccountList
ultimateCreditorObjectPartyList
ultimateCreditorAccountObjectAccountList
ultimateDebtorObjectPartyList
ultimateDebtorAccountObjectAccountList
NAMETYPEDESCRIPTION
transactionIdstringThe unique ID number associated with the original payment request
transactionDatestringDate the transfer occurred. Format: YYYY-MM-DD
transactionAmountnumberThe dollar amount of the transaction.
requestReferencestringA reference value for the original request that is useful for traceability and reporting. The ID cannot exceed 35 characters.
sendersReferencestringA reference value provided by the sender. For outbound payments, this value is the same as the transaction ID. The ID cannot exceed 35 characters.
creditorObjectPartyList
creditorAccountObjectAccountList
debtorObjectPartyList
debtorAccountObjectAccountList
originatorObjectPartyList
beneficiaryObjectPartyList

For more information about general errors, see Error handling.


ReleaseAPI versionChange descriptionImpact
April 20251.2.0
  • Added the following parameters to the RtpListTransaction object:
    • originator
    • originatorAccount
    • beneficiary
    • beneficiaryAccount
  • In the AccountList object, added the virtualAccountNumber field to return VAM account information, if applicable.
MID
February 20251.1.0
  • Added requestReference to the /list endpoint. You can now recall a RTP transaction by the request reference ID.
LOW
November 20241.0.0
  • Published on the Developer Portal.
 

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 download