canonical: https://jentic.com/apis/ironcladapp.com/ironclad-public-api

# Ironcladapp Ironclad Public API

Ironclad's Public API gives programmatic control of contract workflows, records, approvals, signatures, and webhooks inside an Ironclad workspace. The 41 endpoints cover synchronous and asynchronous workflow creation, approval and signer management, turn history and revert-to-review actions, plus records, comments, and webhook subscription operations. Authentication is via an Authorization header bearing an API key, with JSON bodies for all read and write operations.

## For AI agents

Create and manage contract workflows in Ironclad - kick off a workflow, track approvals and signatures, list participants, and react to lifecycle events via webhooks. Useful for legal-ops automation and contract intake pipelines.

## Scope

Does not handle e-signature legal evidence, document storage, or AI redlining - use for Ironclad workflow, approval, and signature orchestration only.

## Capabilities

- Create contract workflows synchronously or asynchronously and track the resulting job
- List, retrieve, and update workflow approvals across reviewers and roles
- Manage signature requests, signers, and signing status on workflows
- Inspect turn history and revert workflows to the review step when redlines arrive
- List participants on a workflow and update their roles or notification settings
- Subscribe to webhooks for contract lifecycle events such as launch, approval, and signature
- Drive contract intake and post-signature data flows from external CLM, CRM, or ticketing systems

## Use cases

### Self-Service Contract Intake from a Form

Sales or procurement teams expose a Typeform, Slack form, or internal portal that creates a contract in Ironclad as soon as a request is submitted. POST /workflows kicks off a synchronous workflow with the captured fields, while POST `/workflows/async` handles long-running templates without blocking the form. Integration takes a couple of days end-to-end.

Example prompt: POST /workflows with the captured form fields, then poll GET `/workflows/{id}` until the workflow reaches the review step.

### Approvals and Signature Tracking in CRM

Revenue ops teams pull approval and signature state for each open Ironclad workflow back into their CRM so the deal owner sees blockers without leaving the opportunity record. GET `/workflows/{id}/approvals` and /signatures provide the per-role state, and webhook subscriptions push updates as they happen.

Example prompt: Fetch GET `/workflows/{id}/approvals` and `/workflows/{id}/signatures` for each open workflow and update the matching opportunity record with the next pending step.

### Redline-Driven Workflow Revert

When a counterparty returns redlines after the review step, legal ops can revert the workflow programmatically rather than asking the owner to click through the UI. PATCH `/workflows/{id}/revert-to-review` moves the workflow back, then the team re-routes the updated draft for approval. Reduces manual handling on every redline cycle.

Example prompt: Call PATCH `/workflows/{id}/revert-to-review` on workflows where the counterparty returned redlines and notify the owner to re-launch approvals.

### Lifecycle Webhooks into a Data Warehouse

Legal data teams subscribe to contract lifecycle webhooks so that workflow launches, approvals, and signatures land in their warehouse in near real time. Combined with periodic GET /workflows snapshots, this supports cycle-time analysis and bottleneck reporting across templates and counterparties.

Example prompt: Subscribe to workflow webhooks via the webhooks endpoints and write each event into the warehouse with workflow ID and event type.

### Agent Contract Operations via Jentic

An AI assistant supporting legal ops can answer 'where is the Acme MSA right now?' or kick off a renewal workflow through Jentic. The agent searches by intent, Jentic returns the matching Ironclad operation with its API-key-protected schema, and the Authorization header is injected from the vault.

Example prompt: Use Jentic to search for 'create an Ironclad workflow', load the POST /workflows operation, and execute it with the workflow template and form fields supplied by the user.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/workflows` | Create a workflow synchronously |
| GET | `/workflows` | List all workflows |
| POST | `/workflows/async` | Create a workflow asynchronously |
| GET | `/workflows/async/{asyncJobId}` | Retrieve the status of an async workflow create job |
| GET | `/workflows/{id}` | Retrieve a specific workflow |
| GET | `/workflows/{id}/approvals` | List all approvals on a workflow |
| GET | `/workflows/{id}/signatures` | List all signers on a workflow |
| PATCH | `/workflows/{id}/revert-to-review` | Revert a workflow to the review step |

## Key resources

- **Workflows** — Create, retrieve, and manage contract workflows synchronously or asynchronously
- **Approvals** — List, update, and inspect approvals and approval requests on workflows
- **Signatures** — Manage signers and signature state for a workflow
- **Participants** — List participants on a workflow and update roles
- **Turn History** — Retrieve the turn history of a workflow and revert to review when needed

## Why Jentic

- **Setup:** Wiring the Ironclad Public API by hand means generating a bearer key, sending it in the Authorization header, and picking the right regional host among the US, EU, demo, and preview servers for every workflow call. Through Jentic you install once, import the Ironclad Public API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Ironclad puts the workflow id in the URL path (`/workflows/{id}/...`), so a rule can pin your agent to one workflow: it can read that workflow's approvals and signatures and nothing else. You choose the operations it may call, so state changes like revert-to-review are not included unless you add them.
- **Credential handling:** Your Ironclad API key is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'launch a contract workflow', and Jentic returns the matching Ironclad operation with its input schema, so the agent fills in the workflow fields without reading the reference docs.

## Related APIs

- **PandaDoc API** — Document automation, e-signature, and CPQ workflows for sales-led deals.
- **Juro API** — Browser-native contract automation with templates, approvals, and analytics.
- **Ironclad API** — Companion Ironclad spec covering authentication and resource listing primitives.
- **Greenhouse API** — ATS that often hands off to Ironclad for offer-letter and employment-contract workflows.

## FAQ

### What authentication does the Ironclad Public API use?

Ironclad uses an API key passed in the Authorization header on every request. Through Jentic, the API key is stored in the encrypted vault and injected at execution time, so the agent never handles the raw value.

### Can I create contract workflows asynchronously?

Yes. POST `/workflows/async` creates a workflow asynchronously and returns an asyncJobId, which you poll via GET `/workflows/async/{asyncJobId}` until completion. Use this for templates that take longer to render.

### How do I track approvals and signatures on a workflow?

GET `/workflows/{id}/approvals` lists role-by-role approval state, GET `/workflows/{id}/approval-requests` returns outstanding requests, and GET `/workflows/{id}/signatures` lists signers and signature status.

### Can I revert a workflow back to the review step?

Yes. PATCH `/workflows/{id}/revert-to-review` moves a workflow that has progressed past review back to the review step, which is useful when counterparties return redlines.

### What are the rate limits for the Ironclad Public API?

Ironclad does not enforce strict per-minute caps in the spec; throughput is governed by your workspace plan. Bulk operations should be paginated and respect the standard HTTP retry headers when present.

### How do I create a workflow through Jentic?

Search Jentic for 'create an Ironclad workflow', load the POST /workflows operation, and execute it with the workflow template and form fields. Jentic injects the Authorization header from the vault.

### Can I limit what my agent is allowed to do with the Ironclad Public API?

Yes. Because you run Jentic One yourself, your own rules decide which Ironclad operations and credentials the agent may use. Since Ironclad puts the workflow id in the URL path (`/workflows/{id}/...`), a rule can pin the agent to a single workflow so it reads only that workflow's approvals and signatures. You pick the operations it can call, so state-changing actions like PATCH `/workflows/{id}/revert-to-review` are excluded unless you add them.
