Ironclad Public API

Contract lifecycle management platform

developer.ironcladapp.com ↗
Version
1
OpenAPI
3.0.3
Endpoints
41
Schemas
142
89
Quality
Updated
3 days ago
Legal legal contracts compliance
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://ironcladapp.com/public/api/v1
https://eu1.ironcladapp.com/public/api/v1
https://demo.ironcladapp.com/public/api/v1
https://preview.ironcladapp.com/public/api/v1

Endpoints

Clear filters

Records 1 endpoints

PATCH /records/{id}

Update specific fields on a record

operationId: Records_updateMetadata

Parameters

Name In Required Type Description
id path required string

The ID or Ironclad ID of the Record.

Request Body

application/json
schema RecordsUpdateMetadataRequest
Property Type Required
name string optional
type string optional
addLinks array optional
recordId string optional
setParent object optional
recordId string optional
addChildren array optional
recordId string optional
removeLinks array optional
recordId string optional
removeParent boolean optional
addProperties object optional
agreementDate object optional
type string optional
value string optional
counterpartyName object optional
type string optional
value string optional
removeChildren array optional
recordId string optional
removeProperties array optional

Responses

200

200

400

400

404

404

PATCH /records/{id}

Webhooks 1 endpoints

PATCH /webhooks/{id}

Update the data associated with a specific webhook

operationId: Webhooks_updateWebhookData

Parameters

Name In Required Type Description
id path required string

The ID of the webhook.

Request Body

application/json
schema WebhooksUpdateWebhookDataRequest
Property Type Required
events array optional
targetURL string optional

Responses

200

200

400

400

PATCH /webhooks/{id}

Workflows 3 endpoints

PATCH /workflows/{id}/approvals/{roleId}

Updates an approval to the specified status. Approvals can only be updated during the Review step.

operationId: Workflows_updateApprovalStatus

Parameters

Name In Required Type Description
id path required string

The unique identifier or Ironclad ID of a workflow.

roleId path required string

The unique identifier of the approver role whose status should be changed. This identifier can be retrieved using the GET /workflows/{id}/approvals endpoint.

Request Body

application/json
schema WorkflowsUpdateApprovalStatusRequest
Property Type Required
user object required
type string optional
email string optional
status string required

Responses

200

200

400

400

PATCH /workflows/{id}/approvals/{roleId}
PATCH /workflows/{id}/attributes

The workflow must be in the Review step in order for its data to be updated. Use the remove action to clear field values and the set action to add or modify values. Form validation is enforced; required fields cannot be removed and any required fields triggered by conditions must be populated.

operationId: Workflows_updateMetadata

Parameters

Name In Required Type Description
id path required string

The unique identifier or Ironclad ID of a workflow.

x-as-user-email header optional string

Filters the list of workflow schemas based on the permissions of a user associated with the specified user email. Permissions can be launch, view, or both. Corresponds to the permissions here: https://support.ironcladapp.com/s/article/Understanding-and-Managing-Permissions

x-as-user-id header optional string

Filters the list of workflow schemas based on the permissions of a user associated with the specified user id. Permissions can be launch, view, or both. Corresponds to the permissions here: https://support.ironcladapp.com/s/article/Understanding-and-Managing-Permissions

Request Body

application/json
schema WorkflowsUpdateMetadataRequest
Property Type Required
comment string optional
updates array required
path string required
value string optional
action string required

Responses

200

200

400

400

403

403

404

404

PATCH /workflows/{id}/attributes
PATCH /workflows/{id}/revert-to-review

Reverts a workflow to the Review step. Only workflows sourced from Workflow Designer and in the Sign step can be reverted.

operationId: Workflows_revertToReview

Parameters

Name In Required Type Description
id path required string

The unique identifier or Ironclad ID of a workflow.

x-as-user-email header optional string

Filters the list of workflow schemas based on the permissions of a user associated with the specified user email. Permissions can be launch, view, or both. Corresponds to the permissions here: https://support.ironcladapp.com/s/article/Understanding-and-Managing-Permissions

x-as-user-id header optional string

Filters the list of workflow schemas based on the permissions of a user associated with the specified user id. Permissions can be launch, view, or both. Corresponds to the permissions here: https://support.ironcladapp.com/s/article/Understanding-and-Managing-Permissions

Request Body

application/json
schema WorkflowsRevertToReviewRequest
Property Type Required
user object required
type string optional
email string optional

Responses

204

204

400

400

403

403

404

404

PATCH /workflows/{id}/revert-to-review

Schemas

object ActivityAuthorModel
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/InternalUserModel"
    },
    {
      "$ref": "#/components/schemas/ExternalUserModel"
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "integration"
          ],
          "type": "string",
          "example": "integration"
        },
        "displayName": {
          "type": "string",
          "example": "Salesforce"
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "system"
          ],
          "type": "string",
          "example": "system"
        },
        "displayName": {
          "type": "string",
          "example": "Ironclad"
        }
      }
    }
  ]
}
object ActivityMetadataModel
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/CommentMetadataModel"
    }
  ],
  "discriminator": {
    "mapping": {
      "comment": "#/components/schemas/CommentMetadataModel"
    },
    "propertyName": "objectType"
  }
}
object ActivityReactionModel
{
  "type": "object",
  "properties": {
    "emojiId": {
      "type": "string",
      "example": "smile"
    },
    "reactors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserModel"
      }
    }
  }
}
object AttachmentNotFound
{
  "type": "object",
  "title": "Bad Request Error - attachmentId Not Found",
  "properties": {
    "code": {
      "type": "string",
      "example": "NOT_FOUND"
    },
    "param": {
      "type": "string",
      "example": "attachmentId"
    },
    "message": {
      "type": "string",
      "example": "attachmentId does not exist"
    }
  },
  "description": "attachmentId Not Found Request Error"
}
number AttributeNumberModel
{
  "type": "number",
  "example": 5
}
string AttributeStringModel
{
  "type": "string",
  "example": "Example Value"
}
object AttributesModel
{
  "type": "object",
  "required": [
    "counterpartyName"
  ],
  "properties": {
    "draft": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "example": "https://www.law.berkeley.edu/wp-content/uploads/2018/12/Resume-Samples-1.pdf",
            "description": "URL of the file to be uploaded"
          }
        }
      },
      "description": "Provide a URL for a file representing the first uploaded version of a counterparty paper. This field is required when the template source is set to third party paper"
    },
    "paperSource": {
      "enum": [
        "Counterparty paper",
        "Our paper"
      ],
      "type": "string",
      "description": "Indicate the type of paper source used on a contract that supports both templatized and third party paper functionality. This field is required when there exists a question for selecting paper source on the template"
    },
    "counterpartyName": {
      "type": "string",
      "example": "Example Company"
    }
  },
  "description": "The data that will be used to populate the workflow's fields. Learn more about the various attributes and their associated types by viewing the [Launch a Workflow](https://developer.ironcladapp.com/docs/launch-a-workflow) guide. Your attributes will differ and include more than this simple example."
}
object BadRequestErrorRecordAttachmentAlreadyExists
{
  "type": "object",
  "title": "Bad Request Error - Record Attachment Already Exists.",
  "properties": {
    "code": {
      "type": "string",
      "example": "INVALID_PARAM"
    },
    "param": {
      "type": "string",
      "example": "attachmentKey"
    },
    "message": {
      "type": "string",
      "example": "record attachment key 'signedCopy' already exists for record"
    }
  },
  "description": "Bad request error. The specified attachment key has an existing file."
}
object BadRequestErrorRecordAttachmentExtension
{
  "type": "object",
  "title": "Bad Request Error - Record Attachment Extension Not Supported",
  "properties": {
    "code": {
      "type": "string",
      "example": "INVALID_PARAM"
    },
    "param": {
      "type": "string",
      "example": "metadata.filename"
    },
    "message": {
      "type": "string",
      "example": "filename \"NDA - Acme LLC\" does not have an accepted extension. Only the following extensions are allowed: .adoc, .asice, .bdoc, .csv, .ddoc, .doc, .docx, .edoc, .eml, .gif, .htm, .jpeg, .jpg, .msg, .pdf, .png, .ppt, .pptx, .rtf, .tif, .tif, .txt, .xls, .xlsx, .xml"
    }
  },
  "description": "Bad request error. The specified filename does not include a supported extension."
}
object BadRequestErrorRecordAttachmentIDNotFound
{
  "type": "object",
  "title": "Bad Request Error - Record Attachment ID Not Found",
  "properties": {
    "code": {
      "type": "string",
      "example": "NOT_FOUND"
    },
    "message": {
      "type": "string",
      "example": "couldn't find an attachment matching the key [SOME_NONEXISTENT_ATTACHMENT_KEY] for record with id [RECORD_ID]"
    }
  },
  "description": "Record Attachment ID Not Found Request Error"
}
object BadRequestErrorRecordAttachmentMissingFormDataPart
{
  "type": "object",
  "title": "Bad Request Error - Missing Form-Data Part",
  "properties": {
    "code": {
      "type": "string",
      "example": "INVALID_PARAM"
    },
    "param": {
      "type": "string",
      "example": "metadata"
    },
    "message": {
      "type": "string",
      "example": "missing required form-data part 'metadata'"
    }
  },
  "description": "Bad request error. Missing form-data part."
}
object BadRequestErrorRecordAttachmentUnknownAttachmentKey
{
  "type": "object",
  "title": "Bad Request Error - Unknown Record Attachment Key",
  "properties": {
    "code": {
      "type": "string",
      "example": "INVALID_PARAM"
    },
    "param": {
      "type": "string",
      "example": "attachmentKey"
    },
    "message": {
      "type": "string",
      "example": "unknown record attachment key 'someRandomKey'"
    }
  },
  "description": "Bad request error. Unknown record attachment key."
}
object BadRequestErrorRecordAttachmentUnknownContentType
{
  "type": "object",
  "title": "Bad Request Error - Unknown Content Type",
  "properties": {
    "code": {
      "type": "string",
      "example": "INVALID_PARAM"
    },
    "param": {
      "type": "string",
      "example": "metadata.filename"
    },
    "message": {
      "type": "string",
      "example": "unknown content type 'filename or extension'"
    }
  },
  "description": "Bad request error. Unknown content type."
}
object BadRequestErrorRecordIDNotFound
{
  "type": "object",
  "title": "Bad Request Error - Record ID Not Found",
  "properties": {
    "code": {
      "type": "string",
      "example": "NOT_FOUND"
    },
    "message": {
      "type": "string",
      "example": "couldn't find a record matching the id [SOME_NONEXISTENT_RECORD_ID]"
    }
  },
  "description": "Record ID Not Found Request Error"
}
object BadRequestErrorRecordNotFound
{
  "type": "object",
  "title": "Bad Request Error - Record Does not Exist",
  "properties": {
    "code": {
      "type": "string",
      "example": "NOT_FOUND"
    },
    "message": {
      "type": "string",
      "example": "couldn't find a record matching the id workflow:6346f76fb8fc01d2b43e7c15a"
    }
  },
  "description": "Bad request error. The specified record does not exist."
}
object BadRequestErrorWorkflowLaunch
{
  "type": "object",
  "title": "Bad Request Error - Workflow Launch",
  "readOnly": true,
  "required": [
    "code",
    "message",
    "param"
  ],
  "properties": {
    "code": {
      "enum": [
        "MISSING_PARAM",
        "INVALID_PARAM",
        "INVALID_STATE"
      ],
      "type": "string",
      "title": "",
      "example": "MISSING_PARAM",
      "readOnly": true,
      "description": "A unique code to identify why the workflow cannot be launched."
    },
    "param": {
      "type": "string",
      "title": "",
      "example": "counterpartySignerTitle",
      "readOnly": true,
      "description": "The required or expected parameter(s) that may be missing in order to launch the workflow."
    },
    "message": {
      "type": "string",
      "title": "",
      "example": "missing required attribute",
      "readOnly": true,
      "description": "A message indicating why the workflow cannot be launched."
    }
  },
  "description": ""
}
object BaseActivityFeedItemModel
{
  "type": "object",
  "required": [
    "id",
    "type",
    "metadata",
    "author"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "enum": [
        "comment"
      ],
      "type": "string"
    },
    "author": {
      "$ref": "#/components/schemas/ActivityAuthorModel"
    },
    "metadata": {
      "$ref": "#/components/schemas/ActivityMetadataModel"
    },
    "reactions": {
      "$ref": "#/components/schemas/ActivityReactionModel"
    },
    "isExternal": {
      "type": "boolean"
    }
  }
}
object CommentMetadataModel
{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "example": "This is a comment Jon Snow"
    },
    "repliedTo": {
      "type": "object",
      "properties": {
        "author": {
          "$ref": "#/components/schemas/ActivityAuthorModel"
        },
        "activityItem": {
          "type": "string",
          "example": "TODO: unsure this is the right place"
        }
      }
    },
    "markedUpMessage": {
      "type": "string",
      "example": "This is a comment @[Jon Snow](630d28059893be00e1ccc9e7)"
    },
    "addedParticipants": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserModel"
      }
    }
  }
}
object CreatorEmailModel
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "default": "email",
      "description": "The type of value used to identify the user."
    },
    "email": {
      "type": "string",
      "example": "example@example.com",
      "description": "The email address of the Ironclad user."
    }
  },
  "description": "The Ironclad user (must be a user in your Ironclad account) used to launch the workflow by using the user's email address."
}
object CreatorIdModel
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "abcd1234",
      "description": "The user ID of the Ironclad user."
    },
    "type": {
      "type": "string",
      "default": "id",
      "description": "The type of value used to identify the user."
    }
  },
  "description": "The Ironclad user (must be a user in your Ironclad account) used to launch the workflow by using the user's ID."
}
object CreatorModel
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/CreatorEmailModel"
    },
    {
      "$ref": "#/components/schemas/CreatorIdModel"
    }
  ],
  "title": "creator",
  "description": "The Ironclad user (must be a user in your Ironclad account) to be used for launching the workflow."
}
object EmailNotFound
{
  "type": "object",
  "title": "Bad Request Error - Email ID Not Found",
  "properties": {
    "code": {
      "type": "string",
      "example": "NOT_FOUND"
    },
    "param": {
      "type": "string",
      "example": "emailThreadId"
    },
    "message": {
      "type": "string",
      "example": "emailThreadId does not exist"
    }
  },
  "description": "Email ID Not Found Request Error"
}
object EmailResponseModel
{
  "type": "object",
  "oneOf": [
    {
      "$ref": "#/components/schemas/InboundEmailResponse"
    },
    {
      "$ref": "#/components/schemas/OutboundEmailResponse"
    }
  ]
}
object ExternalUserModel
{
  "type": "object",
  "required": [
    "type",
    "email",
    "companyName"
  ],
  "properties": {
    "type": {
      "enum": [
        "externalUser"
      ],
      "type": "string",
      "example": "externalUser"
    },
    "email": {
      "type": "string",
      "example": "boba@ironclad.boba"
    },
    "companyName": {
      "type": "string",
      "example": "ironclad"
    },
    "displayName": {
      "type": "string",
      "example": "Boba Fett"
    }
  }
}
object InboundAttachmentModel
{
  "type": "object",
  "properties": {
    "download": {
      "type": "string",
      "example": "/public/api/v1/workflows/6013609108b8f070cee94fc1/emails/z_1zgjgjq/attachments/attachmentIdc85d7e3be5d84bf28cebe4591e39c894"
    },
    "filename": {
      "type": "string",
      "example": "file.docx"
    },
    "content-type": {
      "type": "string",
      "example": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
    }
  }
}
object InboundEmailResponse
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "6372b491abd2adf22f6e13ff"
    },
    "body": {
      "type": "string",
      "example": "This is a body of an email.\\n"
    },
    "type": {
      "enum": [
        "inboundEmail"
      ],
      "type": "string"
    },
    "author": {
      "$ref": "#/components/schemas/ActivityAuthorModel"
    },
    "subject": {
      "type": "string",
      "example": "This is the subject of an email"
    },
    "timestamp": {
      "type": "string",
      "example": "2022-09-28T19:21:05.034Z"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InboundAttachmentModel"
      }
    },
    "emailThreadId": {
      "type": "string",
      "example": "emailThread16ca903a0ec44ae09fc0b3fb3339ffa0"
    }
  }
}
object InternalUserModel
{
  "type": "object",
  "required": [
    "type",
    "displayName",
    "email",
    "userId",
    "companyName"
  ],
  "properties": {
    "type": {
      "enum": [
        "internalUser"
      ],
      "type": "string",
      "example": "internalUser"
    },
    "email": {
      "type": "string",
      "example": "boba@ironclad.boba"
    },
    "userId": {
      "type": "string",
      "example": "63d415e0dd0d828c3a878548"
    },
    "companyName": {
      "type": "string",
      "example": "Ironclad"
    },
    "displayName": {
      "type": "string",
      "example": "Boba Fett"
    }
  }
}
object LaunchedWorkflowModel
{
  "type": "object",
  "required": [
    "id",
    "title",
    "template",
    "step",
    "attributes",
    "schema",
    "isCancelled",
    "isComplete",
    "status",
    "created",
    "lastUpdated",
    "roles",
    "approvals",
    "signatures",
    "isRevertibleToReview"
  ],
  "properties": {
    "id": {
      "type": "string",
      "example": "6013609108b8f070cee94fc1",
      "readOnly": true,
      "description": "The ID of the launched workflow."
    },
    "step": {
      "enum": [
        "Review",
        "Sign",
        "Archive",
        "Complete"
      ],
      "type": "string",
      "example": "Review",
      "readOnly": true,
      "description": "The step the workflow is currently on."
    },
    "roles": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/WorkflowRoleModel"
      },
      "readOnly": true
    },
    "title": {
      "type": "string",
      "example": "Consulting Agreement with Jane Doe",
      "readOnly": true,
      "description": "The name used for the launched workflow."
    },
    "schema": {
      "$ref": "#/components/schemas/AttributesModel"
    },
    "status": {
      "enum": [
        "active",
        "paused",
        "cancelled",
        "completed"
      ],
      "type": "string",
      "example": "active",
      "readOnly": true,
      "description": "The current status of the launched workflow."
    },
    "created": {
      "type": "string",
      "example": "2016-11-17T00:37:22.318Z",
      "readOnly": true,
      "description": "The date (ISO8601 format) the workflow was launched"
    },
    "creator": {
      "type": "object",
      "title": "",
      "readOnly": true,
      "properties": {
        "id": {
          "type": "string",
          "example": "63d415e0dd0d828c3a878548",
          "readOnly": true,
          "description": ""
        },
        "email": {
          "type": "string",
          "example": "fett@intergalactic.com",
          "readOnly": true,
          "description": ""
        },
        "displayName": {
          "type": "string",
          "example": "Boba Fett",
          "readOnly": true,
          "description": ""
        }
      },
      "description": ""
    },
    "template": {
      "$ref": "#/components/schemas/WorkflowTemplateIdModel"
    },
    "approvals": {
      "type": "object",
      "properties": {
        "state": {
          "enum": [
            "not_started",
            "in_progress",
            "completed",
            "not_applicable"
          ],
          "type": "string",
          "example": "in_progress",
          "readOnly": true,
          "description": "The state of the approvals."
        }
      }
    },
    "recordIds": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "715f1e37-292f-4e6c-8b48-c07e1b68bccd",
        "description": "Ids of records created by the workflow."
      },
      "readOnly": true
    },
    "ironcladId": {
      "type": "string",
      "example": "IC-1",
      "readOnly": true,
      "description": "The Ironclad ID of the launched workflow."
    },
    "isComplete": {
      "type": "boolean",
      "example": false,
      "readOnly": true,
      "deprecated": true,
      "description": "Displays if the launched workflow has been completed."
    },
    "signatures": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "example": "https://ironcladapp.com/public/api/v1/workflows/6dac47a10b1242d1f7df688d/signatures",
          "readOnly": true,
          "description": "The url where signature information is located if it exists."
        },
        "state": {
          "enum": [
            "not_started",
            "in_progress",
            "complete",
            "not_applicable"
          ],
          "type": "string",
          "example": "in_progress",
          "readOnly": true,
          "description": "The state of the signatures."
        }
      }
    },
    "isCancelled": {
      "type": "boolean",
      "example": false,
      "readOnly": true,
      "deprecated": true,
      "description": "Displays if the launched workflow has been cancelled."
    },
    "lastUpdated": {
      "type": "string",
      "example": "2016-11-17T00:37:42.318Z",
      "readOnly": true,
      "description": "The date (ISO8601 format) the workflow was last updated"
    },
    "isRevertibleToReview": {
      "type": "boolean",
      "example": false,
      "readOnly": true,
      "description": "Displays if the launched workflow can be reverted back to the review step."
    }
  },
  "description": "The response from a successful workflow launch."
}
object OutboundAttachmentModel
{
  "type": "object",
  "properties": {
    "download": {
      "type": "string",
      "example": "/public/api/v1/workflows/6013609108b8f070cee94fc1/document/XZ9j0cHGA/download"
    },
    "filename": {
      "type": "string",
      "example": "attachment.pdf"
    },
    "content-type": {
      "type": "string",
      "example": "application/pdf"
    }
  }
}
object OutboundEmailResponse
{
  "type": "object",
  "properties": {
    "cc": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "admiral@ironclad.boba"
      }
    },
    "id": {
      "type": "string",
      "example": "6372b491abd2adf22f6e13ff"
    },
    "body": {
      "type": "string",
      "example": "This is a body of an email.\\n"
    },
    "type": {
      "enum": [
        "outboundEmail"
      ],
      "type": "string"
    },
    "author": {
      "$ref": "#/components/schemas/ActivityAuthorModel"
    },
    "subject": {
      "type": "string",
      "example": "This is the subject of an email"
    },
    "timestamp": {
      "type": "string",
      "example": "2022-09-28T19:21:05.034Z"
    },
    "recipients": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "dopstop@ironclad.boba"
      }
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/OutboundAttachmentModel"
      }
    },
    "emailOpenedTimestamps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "example": "david@boba.com"
          },
          "opened": {
            "type": "boolean"
          }
        }
      }
    }
  }
}
object RecordModel
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "example": "22e2ff72-56a1-4711-a4ca-41328d311e9f"
    },
    "name": {
      "type": "string",
      "example": "Consulting Agreement with Jane Doe"
    },
    "type": {
      "type": "string",
      "example": "consultingAgreement"
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "recordId": {
            "type": "string",
            "example": "df1c2805-f5a3-4a14-9386-c28d950dff49"
          }
        }
      }
    },
    "source": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "example": "workflow"
        },
        "workflowId": {
          "type": "string",
          "example": "abcd1234"
        }
      }
    },
    "childIds": {
      "type": "array",
      "items": {
        "type": "string",
        "example": "4a785686-d3d5-47bc-960e-3df0df871ea9"
      }
    },
    "parentId": {
      "type": "string",
      "example": "d10b8c01-5c54-4a59-82cb-51e3825182e9"
    },
    "ironcladId": {
      "type": "string",
      "example": "IC-1"
    },
    "properties": {
      "type": "object",
      "properties": {
        "hourlyRate": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "monetaryAmount"
            },
            "value": {
              "type": "object",
              "properties": {
                "amount": {
                  "type": "integer",
                  "default": 0,
                  "example": 100
                },
                "currency": {
                  "type": "string",
                  "example": "USD"
                }
              }
            }
          }
        },
        "agreementDate": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "date"
            },
            "value": {
              "type": "string",
              "example": "2018-05-08T00:00:00-07:00"
            }
          }
        },
        "counterpartyName": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "string"
            },
            "value": {
              "type": "string",
              "example": "Jane Doe"
            }
          }
        },
        "counterpartyEmail": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "email"
            },
            "value": {
              "type": "string",
              "example": "jane.doe@test.com"
            }
          }
        }
      }
    },
    "attachments": {
      "type": "object",
      "properties": {
        "signedCopy": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string",
              "example": "https://ironcladapp.com/public/api/v1/records/22e2ff72-56a1-4711-a4ca-41328d311e9f/attachments/signedCopy"
            },
            "filename": {
              "type": "string",
              "example": "2018-05-08 - Doe, Jane - Consulting Agreement.pdf"
            },
            "contentType": {
              "type": "string",
              "example": "application/json"
            }
          }
        }
      }
    },
    "lastUpdated": {
      "type": "string",
      "example": "2018-05-08T17:28:10Z"
    }
  }
}
object RecordPropertyLinkModel
{
  "type": "object",
  "properties": {
    "recordId": {
      "type": "string",
      "example": "17009e0d-z2e9-425d-a85b-1cf152773e49"
    }
  }
}
object RecordsCreateAttachment400Response
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BadRequestErrorRecordNotFound"
    },
    {
      "$ref": "#/components/schemas/BadRequestErrorRecordAttachmentExtension"
    },
    {
      "$ref": "#/components/schemas/BadRequestErrorRecordAttachmentAlreadyExists"
    },
    {
      "$ref": "#/components/schemas/BadRequestErrorRecordAttachmentUnknownAttachmentKey"
    },
    {
      "$ref": "#/components/schemas/BadRequestErrorRecordAttachmentUnknownContentType"
    },
    {
      "$ref": "#/components/schemas/BadRequestErrorRecordAttachmentMissingFormDataPart"
    }
  ]
}
object RecordsCreateAttachmentRequest
{
  "type": "object",
  "properties": {
    "metadata": {
      "type": "object",
      "properties": {
        "filename": {
          "type": "string",
          "example": "NDA - Acme LLC.pdf",
          "description": "The name of the file. Must have a supported file extension (.adoc, .asice, .bdoc, .csv, .ddoc, .doc, .docx, .edoc, .eml, .gif, .htm, .jpeg, .jpg, .msg, .pdf, .png, .ppt, .pptx, .rtf,.tif, .txt, .xls, .xlsx, .xml)."
        }
      },
      "description": "The `metadata` property's value must be `{\"filename\": \"[YOUR_FILE_NAME]\"}`"
    },
    "attachment": {
      "type": "string",
      "format": "binary",
      "description": "Must be a binary. Base64 is not accepted at this time."
    }
  }
}
object RecordsCreateAttachmentResponse
{
  "type": "object",
  "properties": {}
}
object RecordsCreateRecordRequest
{
  "type": "object",
  "required": [
    "type",
    "name",
    "properties"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the record."
    },
    "type": {
      "type": "string",
      "description": "The type of record to be created. You can view available record types by retrieving records metadata."
    },
    "links": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RecordPropertyLinkModel"
      }
    },
    "parent": {
      "type": "object",
      "properties": {
        "recordId": {
          "type": "string",
          "example": "17009e0d-z2e9-425d-a85b-1cf152773efg"
        }
      },
      "description": "Object containing Record IDs or Ironclad IDs to be set as the parent of the current record."
    },
    "children": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/RecordPropertyLinkModel"
      },
      "description": "List of objects containing the Record IDs or Ironclad IDs of the records to be set as child records of the current record."
    },
    "properties": {
      "type": "object",
      "properties": {
        "agreementDate": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "default": "date"
            },
            "value": {
              "type": "string",
              "description": "UTC date (e.g. `2018-05-08T00:00:00-07:00`)"
            }
          },
          "description": "The date of the agreement."
        },
        "counterpartyName": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "default": "string"
            },
            "value": {
              "type": "string",
              "description": "The name of the counterparty."
            }
          },
          "description": "The name of the counterparty."
        }
      },
      "description": "Object containing key/value pairs of metadata attached to the record. The key you specify must have a value with a supported type as outlined in the Supported Property Types section."
    }
  }
}
object RecordsCreateRecordResponse
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "param": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object RecordsDeleteRecord400Response
{
  "type": "object",
  "properties": {}
}
object RecordsDeleteRecordResponse
{
  "type": "object",
  "properties": {}
}
object RecordsGetAttachment400Response
{
  "type": "object",
  "properties": {}
}
object RecordsGetAttachmentResponse
{
  "type": "object",
  "properties": {}
}
object RecordsGetPredictions400Response
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object RecordsGetPredictions403Response
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object RecordsGetPredictions404Response
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object RecordsGetPredictionsResponse
{
  "oneOf": [
    {
      "type": "object",
      "items": {
        "type": "object",
        "properties": {
          "status": {
            "enum": [
              "ready",
              "pending",
              "errored"
            ],
            "type": "string"
          },
          "recordId": {
            "type": "string",
            "example": "df1c2805-f5a3-4a14-9386-c28d950dff49"
          }
        }
      },
      "example": {
        "status": "ready",
        "recordId": "461aa9a3-5984-4553-b8ab-56a1786c2f44"
      }
    },
    {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "status": {
            "enum": [
              "ready",
              "pending",
              "errored"
            ],
            "type": "string"
          },
          "recordId": {
            "type": "string",
            "example": "df1c2805-f5a3-4a14-9386-c28d950dff49"
          }
        }
      },
      "example": [
        {
          "status": "ready",
          "recordId": "461aa9a3-5984-4553-b8ab-56a1786c2f44"
        },
        {
          "status": "pending",
          "recordId": "6392dd09-814d-4def-97d9-8fe8badcf6ce"
        }
      ]
    }
  ]
}
object RecordsGetRecordDataResponse
{
  "type": "object",
  "properties": {}
}
object RecordsGetSchema400Response
{
  "type": "object",
  "properties": {}
}
object RecordsGetSchemaResponse
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object",
      "properties": {}
    },
    "properties": {
      "type": "object",
      "properties": {
        "workflowId": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "string"
            },
            "visible": {
              "type": "boolean",
              "default": true,
              "example": true
            },
            "displayName": {
              "type": "string",
              "example": "Workflow ID"
            }
          }
        },
        "agreementDate": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "date"
            },
            "visible": {
              "type": "boolean",
              "default": true,
              "example": true
            },
            "displayName": {
              "type": "string",
              "example": "Agreement Date"
            }
          }
        },
        "additionalNotes": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "example": "string"
            },
            "visible": {
              "type": "boolean",
              "default": true,
              "example": true
            },
            "displayName": {
              "type": "string",
              "example": "Additional Notes"
            }
          }
        }
      }
    },
    "attachments": {
      "type": "object",
      "properties": {
        "signedCopy": {
          "type": "object",
          "properties": {
            "displayName": {
              "type": "string",
              "example": "Signed PDF"
            }
          }
        }
      }
    },
    "recordTypes": {
      "type": "object",
      "properties": {
        "contract": {
          "type": "object",
          "properties": {
            "displayName": {
              "type": "string",
              "example": "Contract"
            }
          }
        }
      }
    }
  }
}
object RecordsGetXlsxExportFile400Response
{
  "type": "object",
  "properties": {}
}
object RecordsGetXlsxExportFileResponse
{
  "type": "object",
  "properties": {}
}

Versions

Version Endpoints Schemas Ingested Status
1 41 142 2026-05-11 current
1 41 142 2026-04-16