Obligations

Retrieve an Obligation

Changed on

View a specific obligation and its associated data. The response distinguishes a source obligation from an instance (occurrence) via the obligationType field; see the ObligationModel schema.

OAuth Scope required: public.obligations.readObligations

get/obligations/{id}

Request

  • Base URL
    https://ironcladapp.com/public/api/v1
  • URL
    https://ironcladapp.com/public/api/v1/obligations/{id}
  • Auth
    API key in header Authorization and OAuth 2
    Authorization code: https://ironcladapp.com/oauth/authorize
    Client credentials
    Token URL: https://ironcladapp.com/oauth/token scopes: public.obligations.readObligations

Path parameters

idstring required

The ID or Ironclad ID of the Obligation to fetch.

Headers

x-as-user-emailstring
Example:jane.doe@test.com

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. A token produced from the Authorization Code grant (which is already scoped to a user) may also use this header to act as a different user in the same company, provided the token carries the identity.users.impersonate scope and the token's own user has been granted the API User Impersonation permission. A request that sends this header without both never acts as the named user; depending on the company's configuration it either proceeds as the token's own user or is rejected with a 403. More information about permissions.

x-as-user-idstring
Example:5f0375c4cdc1927a3c5edcd3

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. A token produced from the Authorization Code grant (which is already scoped to a user) may also use this header to act as a different user in the same company, provided the token carries the identity.users.impersonate scope and the token's own user has been granted the API User Impersonation permission. A request that sends this header without both never acts as the named user; depending on the company's configuration it either proceeds as the token's own user or is rejected with a 403. More information about permissions.

Response

200

idstring required

The unique identifier of the obligation

ironcladIdstring required

Readable Ironclad ID of the obligation

namestring required

The name of the obligation

propertiesRecordProperties required

The record properties associated with the record

lastUpdatedstring

The last updated date of the obligation

namedTypeIdsstring[]

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.

parentReadableIdstring

The parent readable id of the obligation

parentRecordNamestring

The parent record name of the obligation

isActiveboolean

Whether the user-facing obligation is active. Occurrences inherit their source obligation's active state. Read-only and present when the obligation lifecycle feature is enabled.

status'NOT_STARTED' | 'IN_PROGRESS' | 'COMPLETED' | 'WAIVED' | 'CANCELLED' | 'COMPLIANT' | 'NON_COMPLIANT'

The status of the obligation.

descriptionstring

Human-readable description of the obligation.

dueDatestring

The due date of the obligation (yyyy-MM-dd).

assigneeUserIdstring

The ID of the user assigned to the obligation.

completedAtstring date-time

The ISO 8601 timestamp at which the obligation entered the COMPLETED status. Present only while the obligation is COMPLETED.

sourceObligationIdstring uuid

The ID of the source obligation.

sourceRelationshipType'RECURRING' | 'TRIGGERED'

How the source obligation is related. RECURRING for obligations created by a recurring trigger, TRIGGERED for obligations created by a condition. Only present on obligations with a source (has a sourceObligationId).

triggerSource'API' | 'MANUAL'

The originating source of a triggered obligation. API when created through the public API, MANUAL when created in-product. Only present on obligations with a sourceRelationshipType of TRIGGERED.

obligationType'SOURCE' | 'OCCURRENCE'

Distinguishes a source obligation from an occurrence. SOURCE obligations carry a cadence; OCCURRENCE obligations carry a sourceObligationId and sourceRelationshipType. Read-only.

cadence'ONE_TIME' | 'RECURRING' | 'TRIGGERED' | 'PERPETUAL'

The recurrence cadence of a source obligation. Only present on SOURCE obligations. Read-only; not accepted on create or update.

Example response

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "ironcladId": "OB-1",
  "name": "Obligation XYZ",
  "lastUpdated": "2021-01-01T00:00:00Z",
  "namedTypeIds": [
    "eda20988-6b99-404b-99dc-866b84b63883"
  ],
  "parentReadableId": "IC-1",
  "parentRecordName": "Parent Record",
  "isActive": true,
  "status": "IN_PROGRESS",
  "description": "Deliver the signed SLA report to the counterparty.",
  "dueDate": "2026-08-01",
  "assigneeUserId": "5f9b1b3b1c9d440000a1b2c3",
  "completedAt": "2026-07-15T12:00:00.000Z",
  "sourceObligationId": "123e4567-e89b-12d3-a456-426614174000",
  "sourceRelationshipType": "TRIGGERED",
  "triggerSource": "API",
  "obligationType": "SOURCE",
  "cadence": "RECURRING"
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status