Create an Obligation

Create an obligation. This endpoint has two modes.

Standalone obligation — omit sourceObligationId. Creates an obligation on the contract given by parentId. Do not send status, dueDate, assigneeUserId, or description; those apply only to instances (see below).

Triggered instance — set sourceObligationId to an existing source obligation that is configured for triggered occurrences. This records a new occurrence of that obligation (for example, when its triggering condition is met). In this mode status, dueDate, and assigneeUserId are required; description is optional; parentId is optional and, if sent, must match the source obligation's contract; and obligationTypeKey may be omitted (it is inherited from the source obligation, and must match it if sent). Creating instances requires triggered obligations to be enabled for your account.

An obligation's recurrence cadence is configured in the Ironclad app and cannot be set through this API. Instances created here are always TRIGGERED occurrences; recurring occurrences are generated automatically by Ironclad. See the ObligationModel schema for the full source/occurrence model.

OAuth Scope required: public.obligations.createObligations

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

The name of the obligation

properties
object

A key:value map of values to set for the obligation's existing properties. This assigns values to properties already defined on the obligation's type; it cannot create new obligation properties (a schema-level change made in Ironclad, not through this API). More details on the properties can be found in the Obligation Properties article.

obligationTypeKey
array of strings
required
length between 1 and 1

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 article.

obligationTypeKey*
string
required

The ID of the contract to create the new obligation as a child of. Accepts either the contract's readable ID (its ironcladId, e.g. "IC-6", as returned by the records and obligations read endpoints) or its internal record ID. When creating a triggered instance (sourceObligationId is present), parentId is optional and is only used to verify that it matches the source obligation's contract.

string

The ID of an existing source obligation to record a new triggered occurrence (instance) of. When set, this request creates an occurrence rather than a standalone obligation, and status, dueDate, and assigneeUserId become required. This is distinct from parentId, which identifies the contract the obligation belongs to. Requires triggered obligations to be enabled for your account.

string

Human-readable description of the obligation. Only valid when creating a triggered instance (sourceObligationId is present).

string

The status of the obligation instance. Required when sourceObligationId is present; must be omitted otherwise. Valid values are the obligation's instance statuses (for example NOT_STARTED, IN_PROGRESS, OVERDUE, COMPLETED, WAIVED, CANCELLED); the set available depends on the obligation's type and cadence.

string

The due date for the obligation instance (yyyy-MM-dd). Required when sourceObligationId is present; must be omitted otherwise.

string

The ID of the user assigned to the obligation instance. Required when sourceObligationId is present; must be omitted otherwise.

Headers
string

Denotes the actor of the request. When used, the API will take into account this user's permissions and access. This or x-as-user-id is required when the associated token was produced from the Client Credentials grant or with legacy bearer tokens on select endpoints. More information about permissions.

string

Denotes the actor of the request. When used, the API will take into account this user's permissions and access. This or x-as-user-email is required when the associated token was produced from the Client Credentials grant or with legacy bearer tokens on select endpoints. More information about permissions.

Responses

Language
Credentials
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json