Edit an MLT Schedule

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.

Endpoint

PUT /v2/scheduled-transactions/{id}

Authorization Header

Authorization: Bearer <access_token>

Path Parameters

id  REQUIRED

string (UUID)

ID of the MLT schedule.

Request Body

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.

  • Either amount or amountPercentage is required. The request will fail if both parameters are provided.
  • If the debit transaction includes amount, the credit transaction cannot include amountPercentage.
  • If the transaction is created using amountPercentage, the response amount will show the actual transaction value.

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.

  • Either amount or amountPercentage is required. The request will fail if both parameters are provided.
  • If the debit transaction includes amountPercentage, the credit transaction cannot include amount.
  • If the transaction is created using amountPercentage, the response amount will show the actual transaction value.

settlementPriority  REQUIRED

string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED

Expected priority for settling the transaction. The following values are supported:

  • IMMEDIATE  Near real-time.
  • SAME_DAY  Same business day.
  • NEXT_DAY  Next business day.
  • SCHEDULED  Reserved for future use.

This parameter is configurable for some RocketKOR solutions, such as ACH and Wire.

Notes:

  • For MLT ACH transactions, the default value is SAME_DAY.
  • Push-to-Card transactions always use the IMMEDIATE settlement priority.
  • Wire transactions only allow the SAME_DAY and NEXT_DAY settlement priorities.

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.

  • If the debit transaction includes amountPercentage, the credit transaction cannot include amount.
  • If provided, amount must be the same as the debit transaction amount.
  • Either amount or amountPercentage can be provided. The request will fail if both parameters are provided.
  • If the transaction is created using amountPercentage, the response amount will show the actual transaction value.

amountPercentage

string (decimal)

Percentage of the debit Financial Account balance to use as the transaction amount. The amount must conform to any transaction limits.

  • If the debit transaction includes amount, the credit transaction cannot include amountPercentage.
  • If provided, amountPercentage must be the same as the debit transaction amountPercentage.
  • Either amount or amountPercentage can be provided. The request will fail if both parameters are provided.
  • If the transaction is created using amountPercentage, the response amount will show the actual transaction value.

settlementPriority  REQUIRED

string enum, values: IMMEDIATE, SAME_DAY, NEXT_DAY, SCHEDULED

Expected priority for settling the transaction. The following values are supported:

  • IMMEDIATE  Near real-time.
  • SAME_DAY  Same business day.
  • NEXT_DAY  Next business day.
  • SCHEDULED  Reserved for future use.

This parameter is configurable for some RocketKOR solutions, such as ACH and Wire.

Notes:

  • For MLT ACH transactions, the default value is SAME_DAY.
  • Push-to-Card transactions always use the IMMEDIATE settlement priority.
  • Wire transactions only allow the SAME_DAY and NEXT_DAY settlement priorities.

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:

  • year is four digits
  • month is two digits
  • day is two digits
  • T is the literal “T” character used to delimit a date portion from a time portion
  • hours is two digits representing the number of hours from 00 to 23
  • minutes is two digits representing the number of minutes from 00 to 59
  • seconds is two digits representing the number of seconds from 00 to 59
  • fractions-of-second (optional) is one or more digits representing a fraction of a second

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:

  • Z, GMT, UTC or UT for the UTC time zone
  • zone offsets from UTC starting with + or (example: +4)
  • zone offsets from UTC starting with UTC+, UTC+, GMT+, GMT-, UT+ or UT-
  • any other ID is parsed as an IANA Time Zone Database region ID (example: the value for America/New_York is -04)

calendarType

string enum, values: BANKING, DEFAULT

Type of calendar to use for the MLT schedule.

  • BANKING  Scheduled transactions will not be executed on a non-banking day, such as weekends and holidays, based on the country where the Business Account is legally identified.
  • DEFAULT  Scheduled transactions will execute on any day, including non-banking days. Note that this may result in errors depending on the day the transaction is executed and the solution/provider used for the transaction.

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

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"
  }
}
				
			
Exit mobile version