# Ironclad Public API API

> Ironclad Public API API on Apizie: 40 endpoints (List All Workflows, Create a Workflow Synchronously, Create a Workflow Asynchronously, Retrieve the Status of an Async Workflow Create Job, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/business:ironclad/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:ironclad`
- Category: Business
- Status: byok
- Source: https://ironcladapp.com
- Page: https://apizie.tech/api/business/ironclad
- OpenAPI: https://apizie.tech/api/business/ironclad/openapi.json

Documentation for Ironclad's REST API.

## Endpoints

### List All Workflows
`GET https://apizie.tech/v1/business:ironclad/workflows-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |
| status | string | no | Filter the workflows that are listed based on their status. If this parameter is omitted, `active` workflows will be returned. Active… |
| template | string | no | Filter workflows to a specific Template ID. |
| lastUpdated | string | no | Retrieve workflows that have been updated since a UTC date. |
| filter | string | no | Filter workflows using a formula. The workflow attribute ID should be enclosed in brackets `[ ]` and the value should be enclosed in… |

### Create a Workflow Synchronously
`POST https://apizie.tech/v1/business:ironclad/workflows-create-sync-workflow` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Create a Workflow Asynchronously
`POST https://apizie.tech/v1/business:ironclad/workflows-launch-asynchronously` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve the Status of an Async Workflow Create Job
`GET https://apizie.tech/v1/business:ironclad/workflows-get-async-job-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| asyncJobId | string | yes | The identifier provided in the response of creating a Workflow asynchronously. |

### Retrieve a Workflow
`GET https://apizie.tech/v1/business:ironclad/workflows-get-workflow` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |

### List All Workflow Approvals
`GET https://apizie.tech/v1/business:ironclad/workflows-list-approvals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |

### Retrieve the Approval Requests on a Workflow
`GET https://apizie.tech/v1/business:ironclad/workflows-get-approval-requests` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |
| actorDetails | boolean | no | An optional boolean parameter that adds additional information about the actor to each item in the response. Defaults to false. |

### Update Approval on a Workflow
`POST https://apizie.tech/v1/business:ironclad/workflows-update-approval-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| roleId | string | yes | The unique identifier of the approver role whose status should be changed. This identifier can be retrieved using the `GET… |
| body | object | no | JSON request body |

### Retrieve the Turn History on a Workflow
`GET https://apizie.tech/v1/business:ironclad/workflows-get-turn-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |

### List All Workflow Signers
`GET https://apizie.tech/v1/business:ironclad/workflows-list-signatures` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |

### List All Workflow Participants
`GET https://apizie.tech/v1/business:ironclad/workflows-list-all-participants` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |
| email | string | no | The Ironclad user's email address. |

### Revert a Workflow to the Review Step
`POST https://apizie.tech/v1/business:ironclad/workflows-revert-to-review` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| x-as-user-email | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user email. Permissions can be… |
| x-as-user-id | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user id. Permissions can be launch,… |
| body | object | no | JSON request body |

### Create a Comment on a Workflow
`POST https://apizie.tech/v1/business:ironclad/workflows-create-comment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| body | object | no | JSON request body |

### Update Workflow Metadata
`POST https://apizie.tech/v1/business:ironclad/workflows-update-metadata` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| x-as-user-email | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user email. Permissions can be… |
| x-as-user-id | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user id. Permissions can be launch,… |
| body | object | no | JSON request body |

### Retrieve a Workflow Document
`GET https://apizie.tech/v1/business:ironclad/workflows-get-document-by-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier or Ironclad ID of a workflow. |
| key | string | yes | The unique identifier for the attachment. This key can be located using the [Retrieve a… |

### Retrieve Email Threads from A Workflow
`GET https://apizie.tech/v1/business:ironclad/workflows-get-email-threads` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of a workflow |
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |

### Retrieve an Email Thread from a Specified Workflow
`GET https://apizie.tech/v1/business:ironclad/workflows-get-email-thread` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of a workflow |
| emailThreadId | string | yes | The unique identifier of an email thread |

### Retrieve an Attachment from an Email Thread
`GET https://apizie.tech/v1/business:ironclad/workflows-get-attachment-from-email-thread` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of a workflow |
| emailThreadId | string | yes | The unique identifier of an email thread |
| attachmentId | string | yes | The unique identifier for the attachment. This key can be located using the [Retrieve email threads from… |

### List All Workflow Schemas
`GET https://apizie.tech/v1/business:ironclad/workflows-list-all-workflow-schemas` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| form | string | yes | The launch form is the only form supported at this time. |
| x-as-user-email | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user email. Permissions can be… |
| x-as-user-id | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user id. Permissions can be launch,… |

### Retrieve a Workflow Schema
`GET https://apizie.tech/v1/business:ironclad/workflows-get-workflow-schema` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of a schema (see explanation of [Template ID](https://developer.ironcladapp.com/reference/getting-started-api)). A… |
| form | string | no |  |
| x-as-user-email | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user email. Permissions can be… |
| x-as-user-id | string | no | Filters the list of workflow schemas based on the permissions of a user associated with the specified user id. Permissions can be launch,… |

### List All Records
`GET https://apizie.tech/v1/business:ironclad/records-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |
| types | string | no | Comma separated (no spaces) record types to export. Use the [Retrieve Records… |
| lastUpdated | string | no | Get records updated since (UTC) |
| filter | string | no | Filter records for those that contain (1) the specified property with (2) the specified value. The record property ID should be enclosed… |
| sortField | string | no | The field to sort Records. Only one field is supported in the sort operation. |
| sortDirection | string | no | The direction the records are sorted by in correlation with the `sortField`. |

### Create a Record
`POST https://apizie.tech/v1/business:ironclad/records-create-record` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve Predictions
`GET https://apizie.tech/v1/business:ironclad/records-get-predictions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| recordId | string | no | The ID of the Record for prediction status. |
| importId | string | no | The ID of the Import for prediction statuses. |

### Create a Smart Import Record
`POST https://apizie.tech/v1/business:ironclad/records-upload-smart-import-record` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Upload a Smart Import Record to an existing Import
`POST https://apizie.tech/v1/business:ironclad/records-upload-smart-import-record-with-predictions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| importId | string | yes | The Import Id. You can upload a record to an existing import in the repository. |
| body | object | no | Form fields as a JSON object |

### Retrieve a Record
`GET https://apizie.tech/v1/business:ironclad/records-get-record-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. |

### Replace a Record
`POST https://apizie.tech/v1/business:ironclad/records-replace-metadata` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. |
| body | object | no | JSON request body |

### Update Record Metadata
`POST https://apizie.tech/v1/business:ironclad/records-update-metadata` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. |
| body | object | no | JSON request body |

### Delete a Record
`POST https://apizie.tech/v1/business:ironclad/records-delete-record` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. |

### Retrieve Records Schema
`GET https://apizie.tech/v1/business:ironclad/records-get-schema` (byok)

### Retrieve an Attachment on a Record
`GET https://apizie.tech/v1/business:ironclad/records-get-attachment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. |
| key | string | yes | The attachment key. |

### Create an Attachment on a Record
`POST https://apizie.tech/v1/business:ironclad/records-create-attachment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. For an explanation of Record IDs or Ironclad IDs and how to find them, see [Getting… |
| key | string | yes | The attachment key. You can retrieve a list of available attachment keys with the [Retrieve Records… |
| body | object | no | Form fields as a JSON object |

### Delete an Attachment on a Record
`POST https://apizie.tech/v1/business:ironclad/records-remove-attachment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID or Ironclad ID of the Record. |
| key | string | yes | The attachment key. |

### Retrieve XLSX Export File of Records
`GET https://apizie.tech/v1/business:ironclad/records-get-xlsx-export-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| types | string | no | Comma separated list of record types to export. Example: `mutualNDA,NDA` |
| properties | string | no | IDs of properties to export, comma separated. Example: `counterpartyName,agreementDate` |

### List All Webhooks
`GET https://apizie.tech/v1/business:ironclad/webhooks-list-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | no | The page number used when paginating through a list of results. |
| pageSize | integer | no | A limit of the number of results to return. |

### Create a Webhook
`POST https://apizie.tech/v1/business:ironclad/webhooks-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve a Webhook
`GET https://apizie.tech/v1/business:ironclad/webhooks-get-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the webhook. |

### Update a Webhook
`POST https://apizie.tech/v1/business:ironclad/webhooks-update-webhook-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the webhook. |
| body | object | no | JSON request body |

### Delete a Webhook
`POST https://apizie.tech/v1/business:ironclad/webhooks-delete-specific` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the webhook. |

### Retrieve Webhook Verification Key
`GET https://apizie.tech/v1/business:ironclad/webhooks-get-verification-key` (byok)

## Example
```
curl "https://apizie.tech/v1/business:ironclad/workflows-list-all" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Ironclad Public API API?
Create a free Apizie key, then send GET https://apizie.tech/v1/business:ironclad/workflows-list-all with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Ironclad Public API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Ironclad Public API itself also needs your own key from ironcladapp.com.

### Can AI agents use the Ironclad Public API API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:ironclad.

### What is the status of the Ironclad Public API API?
Needs your own provider key (bring your own key)
