Skip to main content

Shift all repayment due dates from a given installment onward

POST 

/loans/{loanId}/repayments:shift-due-dates

Re-dates a loan account's repayment schedule in a single call, avoiding a full schedule-edit payload.

The repayment identified by fromRepaymentEncodedKey is moved to targetDueDate, and that day-of-month is then cascaded to every later repayment, advancing one month at a time. Repayments earlier than the target are left unchanged.

Date handling:

  • Month-end: if targetDueDate is the last day of its month, this is treated the same as an explicit day-31 target and is subject to the same ShortMonthHandlingMethod rules described below — with LAST_DAY_IN_MONTH (the default) every following repayment lands on that month's last day (e.g. the 31st becomes the 30th or 28th/29th as appropriate).
  • Short months: if a day does not exist in a given month, the account's configured ShortMonthHandlingMethod decides the result: LAST_DAY_IN_MONTH clamps to that month's last day (e.g. day 31 becomes 28 in February of a non-leap year), while FIRST_DAY_OF_NEXT_MONTH rolls forward to the 1st of the month after the short month.
  • Non-working days: any non-working-day adjustment configured on the product/account is applied by the schedule engine after the dates are computed (e.g. a date falling on a weekend may roll to the next working day).

The change runs through the standard schedule-edit validation. On success the endpoint returns 200 with no body; retrieve GET /loans/{loanId}/schedule to see the updated due dates. Supported for dynamic mortgage and interest-only mortgage products.

Request

Responses

Repayment due dates shifted successfully. No response body; fetch the loan schedule to see the updated dates.