You can edit a multi-leg transaction (MLT) schedule before the start date (startDateTime). The schedule cannot be modified after the start date. This API is available for some RocketKOR solutions, such as ACH.
PUT /v2/scheduled-transactions/{id}
Authorization: Bearer <access_token>
id REQUIRED
string (UUID)
ID of the MLT schedule.
updateMultiLegSpec REQUIRED
object
Details for the debit and credit transactions created by the MLT schedule.
currency REQUIRED
string
Currency for the debit (funding leg ) and credit (disbursement leg) transactions. Must be an ISO 4217 alpha 3-character currency code.
metadata
string, max items: 6, value max length: 1024
Key/value pairs used to store additional information with the MLT.
name
string, max length: 60
Descriptive name for the MLT.
description
string
Description of the MLT.
memo
string
Brief note about the MLT.
debits REQUIRED
array
Debit transaction for the MLT funding leg. This transaction is used to obtain funds from the debit Financial Account.
financialAccountId REQUIRED
string (UUID)
ID of the Financial Account used as the debit account (source of funds) for the transaction.
paymentReasonId REQUIRED
string
ID representing the payment reason for the transaction. For the MLT debit transaction, paymentReasonId uses a fixed value of funds_transfer.
solution REQUIRED
string
Name of the RocketKOR solution used for the transaction. MLT debit transactions currently use the ACH solution.
amount CONDITIONAL
string (decimal)
Transaction amount. The amount must conform to any transaction limits.
amountPercentage CONDITIONAL
string (decimal)
Percentage of the debit Financial Account balance to use as the transaction amount. The amount must conform to any transaction limits.
settlementPriority REQUIRED
string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED
Expected priority for settling the transaction. The following values are supported:
This parameter is configurable for some RocketKOR solutions, such as ACH and Wire.
Notes:
credits REQUIRED
array
Credit transaction for the MLT disbursement leg. This transaction is used to disburse funds to the credit Financial Account.
financialAccountId REQUIRED
string (UUID)
ID of the Financial Account used as the credit account (receiver of funds) for the transaction.
paymentReasonId REQUIRED
string
ID representing the payment reason for the transaction. Use the Payment Reasons API to retrieve a list of available IDs.
solution REQUIRED
string
Name of the RocketKOR solution used for the transaction.
amount
string (decimal)
Transaction amount. The amount must conform to any transaction limits.
amountPercentage
string (decimal)
Percentage of the debit Financial Account balance to use as the transaction amount. The amount must conform to any transaction limits.
settlementPriority REQUIRED
string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED
Expected priority for settling the transaction. The following values are supported:
This parameter is configurable for some RocketKOR solutions, such as ACH and Wire.
Notes:
startDateTime REQUIRED
string, pattern: ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(\.[0-9]{1,6})?$
Date and time to initiate the MLT schedule. Must be provided in the following ISO 8601 format without the time zone designator:
year-month-dayThours:minutes:seconds[.fractions-of-second]
where:
Example: 2023‐08‐31T15:53:00.123
The date will be interpreted using the timeZone parameter, and UTC format will be used if timeZone is not provided.
For recurring transactions, this is the date and time when the recurrenceRule will take effect. For example, let’s say a request has the following parameters:
"startDateTime": "2023-08-31T12:00:00",
"recurrenceRule: "FREQ=WEEKLY;BYDAY=MO"
In this example, the start date is on a Thursday and the recurrence rule is weekly executions each Monday. Therefore the first transaction will be created on Monday, September 4th, at 12:00 pm in the specified time zone.
timeZone
string
Time zone for startDateTime. The following values are supported:
calendarType
string enum, values: BANKING, DEFAULT
Type of calendar to use for the MLT schedule.
recurrenceRule
string
Rule used to schedule transactions on a recurring basis. Must be specified using the IETF iCalendar RFC 5545 RRULE property.
For example, let’s say a request has the following parameters:
"timeZone": "America/New_York",
"startDateTime": "1997-09-02T09:00:00",
"recurrenceRule": "FREQ=DAILY;UNTIL=19971224T000000"
This request will create transactions at the following times:
September 2, 1997 to October 25, 1997 (inclusive) at 9:00 AM EDT
October 26, 1997 to December 23, 1997 (inclusive) at 9:00 AM EST
name CONDITIONAL
string, max length: 60
Name of the MLT schedule. Required if recurrenceRule is provided.
Returns the MLT Schedule object for the updated transaction.
SAMPLE REQUEST
{
"updateMultiLegSpec": {
"currency": "USD",
"metadata": {
"rkorACHEntryType": "CCD",
"myPaymentId": "100000333",
"invoiceNumber": "123232333",
"authorizedBy": "user@email.com"
},
"name": "MLT-123",
"description": "",
"memo": "",
"debits": [
{
"financialAccountId": "6a017f06-83a3-44b7-be6f-5e5cae4a9ed7",
"paymentReasonId": "funds_transfer",
"solution": "ach",
"amount": "1000.00",
"settlementPriority": "SAME_DAY"
}
],
"credits": [
{
"financialAccountId": "4py56a34-4686-1539-c2ga-1a723g55dlq3",
"paymentReasonId": "funds_transfer",
"solution": "ach",
"amount": "1000.00",
"settlementPriority": "SAME_DAY"
}
]
},
"startDateTime": "2023-12-01T10:15:30:00",
"timeZone": "America/Toronto",
"calendarType": "BANKING",
"recurrenceRule": "FREQ=DAILY;UNTIL=20231224T000000",
"name": "Scheduled MLT-123"
}
SAMPLE RESPONSE
{
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z",
"updatedBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"updatedAt": "2023-12-12T01:09:27.246Z",
"startDateTime": "2023-12-01T10:15:30:00",
"timeZone": "America/Toronto",
"calendarType": "BANKING",
"recurrenceRule": "FREQ=DAILY;UNTIL=20231224T000000",
"name": "Loan Payment",
"originatingChannel": "EXTERNAL", -- removed
"status": "ACTIVE",
"id": "cc754cd5-292f-47e6-94f2-73319f979d53",
"schedulerId": "ac2280c9-f42b-4a83-89d7-327e2f27e666",
"maskedDebitAccountNumber": "******6790",
"maskedCreditAccountNumber": "******2358",
"multiLegSpec": {
"currency": "USD",
"totalAmount": "1200.00",
"metadata": {
"rkorACHEntryType": "CCD",
"myPaymentId": "100000333",
"invoiceNumber": "123232333",
"authorizedBy": "user@email.com"
},
"name": "Loan Payment",
"description": "",
"memo": "",
"initiatorAccountHolderId": "ebfa3e16-63c4-48e3-ae59-a3194a867269",
"id": "cc754cd5-292f-47e6-94f2-73319f979d53",
"businessAccountId": "32edfac0-edbd-47f5-aff9-a030b1883cce",
"stage": "FUNDING",
"status": "PENDING",
"debitAmountPending": "1200.00",
"debitAmountCleared": "",
"creditAmountPending": "1200.00",
"creditAmountSettled": "",
"debits": [
{
"sequence": 0,
"financialAccountId": "89947c99-1ef5-4b30-ba9c-c1103196b0c9",
"maskedAccountNumber": "******6790",
"paymentReasonId": "funds_transfer",
"amount": "1200.00",
"amountPercentage": "",
"settlementPriority": "SAME_DAY",
"transactionId": "c0555c1a-0699-4ff4-aa9d-cd2724832be4",
"solution": "ach",
"latestStatus": {
"status": "NEW",
"message": "2023-12-11T01:09:27.246Z",
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z"
},
"_embedded": {
"financialAccount": {
"name": "Checking",
"category": "EXTERNAL",
"type": "BANK",
"subtype": "CHECKING",
"bankAccount": {
"bankName": "Citibank",
"nameOnAccount": "Mark Strong"
},
"maskedAccountNumber": "******6790"
},
}
}
],
"credits": [
{
"sequence": 0,
"financialAccountId": "4c076ddc-0bf0-4c7c-a62d-079d7672cbec",
"maskedAccountNumber": "******4325",
"paymentReasonId": "funds_transfer",
"amount": "1200.00",
"amountPercentage": "",
"settlementPriority": "SAME_DAY",
"transactionId": "f0e04c6d-d293-47a1-bdec-dc56ccef8de4",
"solution": "ach",
"latestStatus": {
"status": "NEW",
"message": "2023-12-11T01:09:27.246Z",
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z"
},
"_embedded": {
"financialAccount": {
"name": "Checking",
"category": "EXTERNAL",
"accountHolderType": "CUSTOMER",
"type": "BANK",
"subtype": "CHECKING",
"bankAccount": {
"bankName": "Citibank",
"nameOnAccount": "Jane Smith"
},
"maskedAccountNumber": "******4325"
},
"accountHolderId": "64fff1fb-619e-4a07-80ad-ac484f2c1087"
}
}
],
"createdBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"createdAt": "2023-12-11T01:09:27.246Z",
"updatedBy": {
"id": "5618f9c9-bc6d-44cc-9eb8-abf76824592b",
"type": "employee"
},
"updatedAt": "2023-12-12T01:09:27.246Z",
"version": 2,
"parentId": "01dc88fc-9e9a-47c0-b5c2-139d20356785"
}
}
Step into the future of Finance with RocketKOR! Simplify payments, banking, lending, and data analytics using our versatile KOR Platform.
A Rocket Financial Inc. company
@ 2024 RocketKOR, Inc. All rights reserved.