---
title: "updateSettlementById"
method: PUT
path: "/settlements/{id}"
tags: ["sampled", "updateSettlementById"]
---

# updateSettlementById

`PUT /settlements/{id}`

## Request

- Base URL: `/v2` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v2/settlements/{id}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/mojaloop/apis/mojaloop-central-settlements/docs/settlements/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Acknowledgement of settlement by updating with Settlement Id.

## Path parameters

- `id` integer, required

## Request body

- SettlementUpdateBySettlementIdPayload
  - `state` 'ABORTED' | 'INVALID'
  - `reason` string
  - `externalReference` string
  - `participants` SettlementUpdateBySettlementIDOuterPayload[]
    - `id` integer: Participant Id
    - `accounts` SettlementUpdateBySettlementIdInnerPayload[]
      - `id` integer: Participant Currency Id
      - `reason` string
      - `state` 'PENDING_SETTLEMENT' | 'PS_TRANSFERS_RECORDED' | 'PS_TRANSFERS_RESERVED' | 'PS_TRANSFERS_COMMITTED' | 'SETTLED'
      - `externalReference` string

## Response `200`

Settlements updated.

- Settlement
  - `id` integer
  - `state` string
  - `settlementWindows` SettlementWindows[]
    - SettlementWindow[]
      - `id` integer, required
      - `reason` string
      - `state` string, required
      - `createdDate` string, required
      - `changedDate` string
      - `content` SettlementWindowContent[]
        - `id` integer, required
        - `state` string, required
        - `ledgerAccountType` string, required
        - `currencyId` string, required
        - `createdDate` string, required
        - `changedDate` string
        - `settlementId` integer
  - `participants` Participant[]
    - `id` integer
    - `accounts` Accounts[]
      - `id` integer: Participant Currency Id
      - `reason` string: TBD
      - `state` string
      - `netSettlementAmount` NetSettlementAmount
        - `amount` number
        - `currency` string

## Other responses

- `400`: Bad request.
- `401`: Authorisation information is missing or invalid.
- `404`: No data found.
- `415`: Unsupported Media Type.
- `default`: Unexpected error

## Changes

- **2026-09-08** `7fbaa3e7ca2b`: 1 breaking, 6 info
  - added required request body
  - added the media type `application/json` for the response with the status `200`
  - added the media type `application/json` for the response with the status `400`
  - added the media type `application/json` for the response with the status `401`
  - …3 more

[Operation history](https://skmtc.dev/mojaloop/apis/mojaloop-central-settlements/changes/settlements/:id/put.md)

---

[API](https://skmtc.dev/mojaloop/apis/mojaloop-central-settlements.md) - [All operations](https://skmtc.dev/mojaloop/apis/mojaloop-central-settlements/llms.txt) - [OpenAPI document](https://skmtc.dev/mojaloop/apis/mojaloop-central-settlements/revisions/7fbaa3e7ca2b?raw)
