---
title: "Create an Obligation"
method: POST
path: "/obligations"
tags: ["Obligations"]
---

# Create an Obligation

`POST /obligations`

Create a new obligation. 

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

## Headers

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

## Request body

- object
  - `name` string, required — The name of the obligation
  - `properties` object — A key:value map of properties to add. The two below are examples. 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[], required — 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.
  - `parentId` string, required — The ID of the contract to create the new obligation as a child of. This is useful for creating a new obligation as a child of an existing obligation.
  - `sourceObligationId` string — Associates this obligation with a source obligation. For example, associating a new obligation with a source obligation that has a triggering condition.
  - `description` string — Human-readable description of this obligation.
  - `status` string — The status of the obligation. Only valid when `sourceObligationId` is present.
  - `dueDate` string — The due date for the obligation (yyyy-MM-dd). Only valid when `sourceObligationId` is present.
  - `assigneeUserId` string — The user assigned to this obligation. Only valid when `sourceObligationId` is present.

## Response `201`

201

- 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

---

[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)
