---
title: "Update an Obligation"
method: PATCH
path: "/obligations/{id}"
tags: ["Obligations"]
---

# Update an Obligation

`PATCH /obligations/{id}`

Update an existing obligation. 

**OAuth Scope required:** `public.obligations.updateObligations`

## Path parameters

- `id` string, required

## Headers

- `x-as-user-email` string
- `x-as-user-id` string

## Request body

- object
  - `sourceObligationId` string — If supplied, edits the obligation (identified by the path id) associated with this source obligation rather than a source obligation itself.
  - `name` string — The name of the obligation
  - `addProperties` object — A key:value map of properties to add. More details on the properties can be found in the [Obligation Properties](https://support.ironcladapp.com/hc/en-us/articles/31128654301079-Create-and-Manage-Obligations) article.
  - `removeProperties` string[] — A list of property keys to remove from the obligation. More details on the properties can be found in the [Obligation Properties](https://support.ironcladapp.com/hc/en-us/articles/31128654301079-Create-and-Manage-Obligations) article.
  - `obligationTypeKey` string[] — The key of the obligation type to be added to the obligation. Only one obligation type can be added or updated per obligation, currently. More info on obligation types can be found in the [Obligation Types](https://support.ironcladapp.com/hc/en-us/articles/31128654301079-Create-and-Manage-Obligations) article.
  - `status` string — The status of the obligation. Mutable only on obligations associated with a source obligation; rejected on source obligations.
  - `dueDate` string — The due date (yyyy-MM-dd). Mutable only on obligations associated with a source obligation; rejected on source obligations.
  - `assigneeUserId` string — The user assigned to this obligation. Mutable only on obligations associated with a source obligation; rejected on source obligations.
  - `description` string — Human-readable description of this obligation. Mutable only on obligations associated with a source obligation; rejected on source obligations.

## Response `200`

200

- ObligationModel
  - `id` string, required — The unique identifier of the obligation
  - `ironcladId` string, required — Readable Ironclad ID of the obligation
  - `name` string, required — The name of the obligation
  - `properties` RecordProperties, required — The record properties associated with the record
  - `lastUpdated` string — The last updated date of the obligation
  - `namedTypeIds` string[] — The unique identifiers of the types associated with the obligation. These IDs are tied with the Named Type of obligations, like 'Breach Notice', 'Compliance' and so on.
  - `parentReadableId` string — The parent readable id of the obligation
  - `parentRecordName` string — The parent record name of the obligation

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404

---

[API](https://skmtc.net/ironcladapp/apis/ironclad-public-api.md) · [All operations](https://skmtc.net/ironcladapp/apis/ironclad-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ironcladapp/ironclad-public-api/versions/9459b4cfc1e0/schema)
