Obligations

List All Obligations

Changed on

View all source obligations in the company, with filtering available via query parameters. Set include to occurrences to also return each source obligation's first occurrences; list all of a source obligation's occurrences with List Obligation Instances.

OAuth Scope required: public.obligations.readObligations

get/obligations

Request

  • Base URL
    https://ironcladapp.com/public/api/v1
  • URL
    https://ironcladapp.com/public/api/v1/obligations
  • 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

Query parameters

pageinteger

The page number used when paginating through a list of results.

pageSizeinteger

A limit of the number of results to return.

filterstring

Filter obligations using a formula. The obligation property ID should be enclosed in brackets [ ] and the value should be enclosed in single quotes ' '.

Supported formula operations include the following with documentation found here:

<ul> <li>Equals / NotEqual</li> <li>Contains</li> <li>IsEmpty / IsNotEmpty</li> <li>LessThan / LessThanOrEqual</li> <li>GreaterThan / GreaterThanOrEqual</li> <li>Date / Today / RelativeDate</li> <li>And / Or</li> </ul>
searchstring

Free-text search across all obligation properties, matching the in-app search. Combined with filter and any other parameters using logical AND. Maximum 1000 characters.

sortField'name' | 'lastUpdated'

The field to sort by. Default is 'name'.

sortDirection'ASC' | 'DESC'

The direction to sort by. Default is 'DESC'.

include'occurrences'
Example:occurrences

Set to occurrences to add occurrences (each source obligation's first 5 occurrences, ordered by due date with undated last) and occurrenceCount (its total) to every obligation in the list.

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

pageinteger

The zero-based page number for paginating through results

pageSizeinteger

The number of items to return per page

countinteger

The total number of items available across all pages

Example response

{
  "pageSize": 20,
  "count": 42,
  "list": [
    {
      "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",
      "occurrences": [
        {
          "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"
        }
      ],
      "occurrenceCount": 12
    }
  ]
}

Changes

    • breaking

      the / response's property type changed from object to no type for status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • breaking

      removed the required property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • warning

      removed the optional property // from the response with the status

    • info

      added the new optional query request parameter include

    • info

      added subschema #2 to the / response property allOf list for the response status