---
title: "Update the maturity action(s) for a holding"
method: PUT
path: "/holding/{entity_code}/{holding_uid}/maturity-action"
tags: ["Holdings"]
---

# Update the maturity action(s) for a holding

`PUT /holding/{entity_code}/{holding_uid}/maturity-action`

Updates the maturity action(s) for an existing holding.

Send `action` to apply a single action to the holding's entire maturity value, or `actions` to split that
value across several actions — for example auto-extending part of an extendable holding and withdrawing
the rest. Either form replaces every maturity action currently set on the holding, so send the complete
instruction each time. Any part of `maturityValue` left unallocated by `actions` becomes a `HOLD` action.

## Path parameters

- `entity_code` string, required — Entity code
- `holding_uid` string, required — uid of the holding whose maturity action is being modified.

## Request body

- UpdateMaturityActionBody — UpdateMaturityActionBody schema.
  - `action` 'ROLL' | 'SWITCH' | 'HOLD' | 'REDEEM'
  - `actions` UpdateMaturityActionItem[], nullable — Split the holding's maturity value across several actions, each with its own amount — for example auto-extending part of an extendable holding and withdrawing the rest. Mutually exclusive with `action` — provide exactly one of the two.
    - `action` 'ROLL' | 'SWITCH' | 'HOLD' | 'REDEEM', required
    - `amount` number, required — Portion of the holding's `maturityValue` this action applies to, in the holding's currency. Amounts across all actions must not exceed `maturityValue`; any remainder becomes a `HOLD` action.
    - `indicationUid` string, nullable — The uid of indication to switch to (Required if action is set to SWITCH)
  - `indicationUid` string, nullable — The uid of indication to switch to (Required if action is set to SWITCH). Only valid alongside `action` — with `actions`, set it on the action that switches.
  - `reason` 'Funds returning shortly' | 'Better terms elsewhere' | 'Receipt of interest payment' | 'Switching FTF product' | 'Treasury Operations changed' | 'Need proceeds'

## Response `200`

Maturity actions

- UpdateMaturityActionResponse — UpdateMaturityActionResponse schema.
  - `entityCode` string, required — Entity Code
  - `holdingUid` string, required — Holding uid
  - `maturityActions` MaturityAction[], required — List of maturity actions
    - `amount` number, required — Amount
    - `currency` string, required — Currency
    - `holdingUid` string, required — Holding uid
    - `subscriptionUid` string, nullable — The unique identifier for the subscription associated with the maturity action, if any.
    - `type` string, required — Maturity Action type
    - `uid` string, required — Maturity Action uid

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-28** `18fcf12924f8` — 5 breaking, 3 info
  - removed the enum value `HOLD` of the request property `action`
  - removed the enum value `REDEEM` of the request property `action`
  - removed the enum value `ROLL` of the request property `action`
  - removed the enum value `SWITCH` of the request property `action`
  - …4 more

[Change history](https://skmtc.dev/treasuryspring/apis/treasuryspring-public-api/changes/holding/:entity_code/:holding_uid/maturity-action/put.md)

---

[API](https://skmtc.dev/treasuryspring/apis/treasuryspring-public-api.md) · [All operations](https://skmtc.dev/treasuryspring/apis/treasuryspring-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/treasuryspring/treasuryspring-public-api/revisions/9f98bc61d12b/schema)
