Ironclad · Schema
Ironclad Workflow
Schema for an Ironclad Workflow resource — the in-progress contract authoring, negotiation, approval, and signature state machine surfaced by /workflows under the Ironclad Public API.
Contract Lifecycle ManagementCLMContractsLegal TechLegalOpsEnterpriseWorkflowseSignatureClickwrapAIOAuthSCIMWebhooks
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the workflow instance. |
| title | string | Human-readable title for the workflow, typically derived from a workflow attribute or the configured workflow template. |
| template | string | Identifier of the workflow schema/template that this workflow instance was launched from. |
| templateVersion | integer | Version of the workflow schema/template in effect when the workflow was launched. |
| status | string | Current step or phase in the workflow lifecycle (e.g., create, review, sign, complete). |
| step | string | Current step name within the workflow template. |
| creator | object | User who launched the workflow. |
| created | string | Timestamp when the workflow was created. |
| lastUpdated | string | Timestamp of the most recent change to the workflow. |
| isCancelled | boolean | Whether the workflow has been cancelled. |
| isComplete | boolean | Whether the workflow has completed all steps. |
| attributes | object | Free-form key/value map of workflow attribute values configured by the workflow template (counterparty, contract value, dates, custom fields). |
| approvals | array | List of approval roles and their current decision state. |
| roles | object | Map of role names to role assignment configuration. |
| signers | array | Configured signers on the active signature packet. |
| documents | array | Documents associated with the workflow — draft contracts, attachments, signed PDFs. |
| recipients | object | Counterparty recipient configuration for the negotiation phase. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/ironclad/ironclad-workflow-schema.json",
"title": "Ironclad Workflow",
"description": "Schema for an Ironclad Workflow resource — the in-progress contract authoring, negotiation, approval, and signature state machine surfaced by /workflows under the Ironclad Public API.",
"type": "object",
"required": ["id", "creator", "template", "status"],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the workflow instance."
},
"title": {
"type": "string",
"description": "Human-readable title for the workflow, typically derived from a workflow attribute or the configured workflow template."
},
"template": {
"type": "string",
"description": "Identifier of the workflow schema/template that this workflow instance was launched from."
},
"templateVersion": {
"type": "integer",
"description": "Version of the workflow schema/template in effect when the workflow was launched."
},
"status": {
"type": "string",
"description": "Current step or phase in the workflow lifecycle (e.g., create, review, sign, complete).",
"enum": ["create", "review", "sign", "complete", "cancelled", "paused"]
},
"step": {
"type": "string",
"description": "Current step name within the workflow template."
},
"creator": {
"$ref": "#/$defs/User",
"description": "User who launched the workflow."
},
"created": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the workflow was created."
},
"lastUpdated": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the most recent change to the workflow."
},
"isCancelled": {
"type": "boolean",
"description": "Whether the workflow has been cancelled."
},
"isComplete": {
"type": "boolean",
"description": "Whether the workflow has completed all steps."
},
"attributes": {
"type": "object",
"additionalProperties": true,
"description": "Free-form key/value map of workflow attribute values configured by the workflow template (counterparty, contract value, dates, custom fields)."
},
"approvals": {
"type": "array",
"items": { "$ref": "#/$defs/Approval" },
"description": "List of approval roles and their current decision state."
},
"roles": {
"type": "object",
"additionalProperties": { "$ref": "#/$defs/Role" },
"description": "Map of role names to role assignment configuration."
},
"signers": {
"type": "array",
"items": { "$ref": "#/$defs/Signer" },
"description": "Configured signers on the active signature packet."
},
"documents": {
"type": "array",
"items": { "$ref": "#/$defs/Document" },
"description": "Documents associated with the workflow — draft contracts, attachments, signed PDFs."
},
"recipients": {
"type": "object",
"additionalProperties": true,
"description": "Counterparty recipient configuration for the negotiation phase."
}
},
"$defs": {
"User": {
"type": "object",
"properties": {
"email": { "type": "string", "format": "email" },
"userId": { "type": "string" },
"type": { "type": "string", "enum": ["user", "user-group"] }
}
},
"Approval": {
"type": "object",
"properties": {
"name": { "type": "string", "description": "Name of the approval role." },
"status": {
"type": "string",
"description": "Current approval status.",
"enum": ["pending", "approved", "rejected", "skipped"]
},
"approvers": { "type": "array", "items": { "$ref": "#/$defs/User" } },
"current": { "type": "boolean" }
}
},
"Role": {
"type": "object",
"properties": {
"label": { "type": "string" },
"assignees": { "type": "array", "items": { "$ref": "#/$defs/User" } }
}
},
"Signer": {
"type": "object",
"properties": {
"signerRoleName": { "type": "string" },
"email": { "type": "string", "format": "email" },
"fullName": { "type": "string" },
"title": { "type": "string" },
"status": {
"type": "string",
"enum": ["pending", "viewed", "signed", "declined"]
}
}
},
"Document": {
"type": "object",
"properties": {
"key": { "type": "string", "description": "Workflow attribute key for the document attribute." },
"filename": { "type": "string" },
"downloadURL": { "type": "string", "format": "uri" },
"type": { "type": "string", "enum": ["draft", "supporting", "signed"] }
}
}
}
}