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 4 endpoints

POST /records

Create a contract record by specifying its intended metadata properties

operationId: Records_createRecord

Request Body

application/json
schema RecordsCreateRecordRequest
Property Type Required
name string required
type string required
links array optional
recordId string optional
parent object optional
recordId string optional
children array optional
recordId string optional
properties object required
agreementDate object optional
type string optional
value string optional
counterpartyName object optional
type string optional
value string optional

Responses

200

200

400

400

POST /records
POST /records/smart-import

Upload a file to create a record with smart import and predictions. Provide none of recordType, newRecordTypeId, or newRecordTypeDisplayName to default to Imported type.

operationId: Records_uploadSmartImportRecord

Request Body

multipart/form-data
schema RecordsUploadSmartImportRecordRequest
Property Type Required
attachment string required
recordType string optional
newRecordTypeId string optional
newRecordTypeDisplayName string optional

Responses

200

200

400

400

403

403

404

404

POST /records/smart-import
POST /records/smart-import/{importId}

Upload a file to an existing import and create a record with smart import and predictions. Provide none of recordType, newRecordTypeId, or newRecordTypeDisplayName to default to Imported type.

operationId: Records_uploadSmartImportRecordWithPredictions

Parameters

Name In Required Type Description
importId path required string

The Import Id. You can upload a record to an existing import in the repository.

Request Body

multipart/form-data
schema RecordsUploadSmartImportRecordWithPredictionsRequest
Property Type Required
attachment string required
recordType string required
newRecordTypeId string optional
newRecordTypeDisplayName string optional

Responses

200

200

400

400

403

403

404

404

POST /records/smart-import/{importId}
POST /records/{id}/attachments/{key}

Create an attachment on a specified record at the specified attachment key.

operationId: Records_createAttachment

Parameters

Name In Required Type Description
id path required string

The ID or Ironclad ID of the Record. For an explanation of Record IDs or Ironclad IDs and how to find them, see Getting Started.

key path required string

The attachment key. You can retrieve a list of available attachment keys with the Retrieve Records Schema endpoint.

Request Body

multipart/form-data
schema RecordsCreateAttachmentRequest
Property Type Required
metadata object optional
filename string optional
attachment string optional

Responses

200

200

400

Bad request error for creating record attachment.

POST /records/{id}/attachments/{key}

Webhooks 1 endpoints

POST /webhooks

Creates a webhook for the specified events. Send separate requests if you need to create webhooks for multiple target URLs. Each target URL may only have one active registration.

operationId: Webhooks_createNew

Request Body

application/json
schema WebhooksCreateNewRequest
Property Type Required
events array required
targetURL string required

Responses

200

200

400

Bad request error when creating webhook.

POST /webhooks

Workflows 3 endpoints

POST /workflows

Launch a new Workflow synchronously.

operationId: Workflows_createSyncWorkflow

Request Body

application/json
schema WorkflowRequestModel
Property Type Required
creator object required
type string optional
email string optional
template string required
attributes object required
draft array optional
url string optional
paperSource string optional
counterpartyName string required

Responses

200

Launched Workflow Response.

400

Error Launching Workflow.

POST /workflows
POST /workflows/async

Launch a new Workflow asynchronously for non-blocking performance, which is helpful when/if you provide files to the Workflow.

operationId: Workflows_launchAsynchronously

Request Body

application/json
schema WorkflowRequestModel
Property Type Required
creator object required
type string optional
email string optional
template string required
attributes object required
draft array optional
url string optional
paperSource string optional
counterpartyName string required

Responses

200

The response of the initiated async workflow launch.

400

Bad Request

POST /workflows/async
POST /workflows/{id}/comments

Creates a comment in the specified workflow’s activity feed.

operationId: Workflows_createComment

Parameters

Name In Required Type Description
id path required string

The unique identifier or Ironclad ID of a workflow.

Request Body

application/json
schema WorkflowsCreateCommentRequest1
Property Type Required
comment string required
creator object required
type string optional
email string optional
addUsersToWorkflow boolean optional
repliedToActivityFeedMessageId string optional

Responses

200

200

400

400

POST /workflows/{id}/comments

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