naftiko: 1.0.0-alpha2 info: label: "Ironclad Public API \u2014 Workflows" description: "Ironclad Public API \u2014 Workflows. 43 operations across 38 resource paths. Self-contained Naftiko capability\ \ covering the Ironclad Workflows business surface." tags: - Ironclad - Workflows created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: IRONCLAD_ACCESS_TOKEN: IRONCLAD_ACCESS_TOKEN capability: consumes: - type: http namespace: workflows baseUri: https://na1.ironcladapp.com/public/api/v1 description: Ironclad Workflows business capability. resources: - name: workflows path: /workflows operations: &id001 - name: launch-a-new-workflow method: POST description: Create a Workflow Synchronously outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: list-all-workflows method: GET description: List All Workflows outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: status in: query type: array description: Filter the workflows that are listed based on their status. If this parameter is omitted, `active` workflows will be returned. Active workflows include workflows in the Create, Review, Sign, and Archive stages. Also accepts multiple comma-separated statuses to get workflows in more than one status. required: false - name: template in: query type: string description: Filter workflows to a specific Template ID. required: false - name: lastUpdated in: query type: string description: Retrieve workflows that have been updated since a UTC date. required: false - name: workflows-async path: /workflows/async operations: &id002 - name: create-a-new-workflow-async method: POST description: Create a Workflow Asynchronously outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-async-asyncjobid path: /workflows/async/{asyncJobId} operations: &id003 - name: retrieve-asynchronous-workflow-status method: GET description: Retrieve the Status of an Async Workflow Create Job outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: asyncJobId in: path type: string description: The identifier provided in the response of creating a Workflow asynchronously. required: true - name: workflows-id path: /workflows/{id} operations: &id004 - name: retrieve-a-workflow method: GET description: Retrieve a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-approvals path: /workflows/{id}/approvals operations: &id005 - name: list-all-workflow-approvals method: GET description: List All Workflow Approvals outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-approval-requests path: /workflows/{id}/approval-requests operations: &id006 - name: approval-requests method: GET description: Retrieve the Approval Requests on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: actorDetails in: query type: boolean description: An optional boolean parameter that adds additional information about the actor to each item in the response. Defaults to false. required: false - name: requestType in: query type: string description: An optional string parameter that specifies the type of approval requests and returns approval requests by `role` or `user`. required: false - name: workflows-id-approvals-roleid path: /workflows/{id}/approvals/{roleId} operations: &id007 - name: update-workflow-approval method: PATCH description: Update Approval Status on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleId in: path type: string description: The unique identifier of the approver role whose status should be changed. This identifier can be retrieved using the `GET /workflows/{id}/approvals` endpoint. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-turn-history path: /workflows/{id}/turn-history operations: &id008 - name: turn-history method: GET description: Retrieve the Turn History on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-sign-status path: /workflows/{id}/sign-status operations: &id009 - name: get-sign-status method: GET description: Retrieve Sign Step Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-sign-status-send-signature-request path: /workflows/{id}/sign-status/send-signature-request operations: &id010 - name: send-signature-request method: POST description: Send Signature Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-sign-status-scheduled-send path: /workflows/{id}/sign-status/scheduled-send operations: &id011 - name: schedule-send-signature-request method: POST description: Schedule Send Signature Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: update-scheduled-signature-request method: PATCH description: Update Scheduled Signature Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: delete-scheduled-signature-request method: DELETE description: Delete Scheduled Signature Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-sign-status-cancel-signature-request path: /workflows/{id}/sign-status/cancel-signature-request operations: &id012 - name: cancel-signature-request method: POST description: Cancel Signature Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-sign-status-signers-signerrolename path: /workflows/{id}/sign-status/signers/{signerRoleName} operations: &id013 - name: update-signer method: PATCH description: Update Signer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: signerRoleName in: path type: string description: 'The role name of the signer to be updated. Note: the role name should be URL encoded in the URL.' required: true - name: body in: body type: object description: Request body (JSON). required: true - name: delete-signer method: DELETE description: Delete Signer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: signerRoleName in: path type: string description: 'The role name of the signer to be removed. Note: the role name should be URL encoded in the URL.' required: true - name: workflows-id-sign-status-signers-signerrolename-remind path: /workflows/{id}/sign-status/signers/{signerRoleName}/remind operations: &id014 - name: remind-signer method: POST description: Remind Signer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: signerRoleName in: path type: string description: 'The role name of the signer to be reminded. Note: the role name should be URL encoded in the URL.' required: true - name: workflows-id-signatures path: /workflows/{id}/signatures operations: &id015 - name: list-all-workflow-signers method: GET description: List All Workflow Signers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-signatures-recipient-urls path: /workflows/{id}/signatures/recipient-urls operations: &id016 - name: create-recipient-url method: POST description: Create a Recipient URL for a Signer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-signatures-recipient-urls-embedded path: /workflows/{id}/signatures/recipient-urls/embedded operations: &id017 - name: create-embeddable-recipient-url method: POST description: Create an Embeddable Recipient URL for a Signer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-upload-signed path: /workflows/{id}/upload-signed operations: &id018 - name: workflow-upload-signed-document method: POST description: Create a Signed Document on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-participants path: /workflows/{id}/participants operations: &id019 - name: list-all-workflow-participants method: GET description: List All Workflow Participants outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email in: query type: string description: The Ironclad user's email address. required: false - name: workflows-id-roles-rolename path: /workflows/{id}/roles/{roleName} operations: &id020 - name: update-workflow-role-assignment method: PATCH description: Update Workflow Role Assignment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleName in: path type: string description: The display name of the role, URL-encoded (e.g. `Legal%20Approver`). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-roles-rolename-eligible-assignees path: /workflows/{id}/roles/{roleName}/eligible-assignees operations: &id021 - name: list-workflow-role-eligible-assignees method: GET description: List Eligible Assignees for a Workflow Role outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: roleName in: path type: string description: The display name of the role, URL-encoded (e.g. `Legal%20Approver`). required: true - name: workflows-id-revert-to-review path: /workflows/{id}/revert-to-review operations: &id022 - name: revert-to-review method: PATCH description: Revert a Workflow to the Review Step outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-cancel path: /workflows/{id}/cancel operations: &id023 - name: cancel-a-workflow method: POST description: Cancel a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-pause path: /workflows/{id}/pause operations: &id024 - name: pause-a-workflow method: POST description: Pause a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-resume path: /workflows/{id}/resume operations: &id025 - name: resume-a-workflow method: POST description: Resume a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-comment path: /workflows/{id}/comment operations: &id026 - name: deprecated-create-a-comment-on-a-workflow method: POST description: Create a Comment on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-comments path: /workflows/{id}/comments operations: &id027 - name: create-a-comment-on-a-workflow method: POST description: Create a Comment on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: list-all-comments-in-a-workflow method: GET description: List all Comments on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-comments-commentid path: /workflows/{id}/comments/{commentId} operations: &id028 - name: list-a-comment-from-a-workflow method: GET description: List a Comment from a Specified Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of a workflow. required: true - name: commentId in: path type: string description: The unique identifier of a comment. required: true - name: workflows-id-attributes path: /workflows/{id}/attributes operations: &id029 - name: update-workflow-metadata method: PATCH description: Update Workflow Metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-documents path: /workflows/{id}/documents operations: &id030 - name: retrieve-workflow-documents method: GET description: Retrieve Documents from a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-signature-packet path: /workflows/{id}/signature-packet operations: &id031 - name: update-workflow-signature-packet method: PATCH description: Update Signature Packet on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-documents-attributeid path: /workflows/{id}/documents/{attributeId} operations: &id032 - name: create-a-workflow-document method: POST description: Create a Document on a Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: attributeId in: path type: string description: The file attribute (e.g. "draft", "myFileField") - "document" type attributes can be found in the schema portion of the [Retrieve a Workflow](https://developer.ironcladapp.com/reference/retrieve-a-workflow) response. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: workflows-id-document-key-download path: /workflows/{id}/document/{key}/download operations: &id033 - name: retrieve-a-workflow-document method: GET description: Retrieve a Workflow Document outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: key in: path type: string description: The unique identifier for the attachment. This key can be located using the [Retrieve a Workflow](https://developer.ironcladapp.com/reference/retrieve-a-workflow) endpoint. In the response, locate the file attribute (e.g., `draft`) and look at its `download` parameter. The download parameter include required: true - name: workflows-id-emails path: /workflows/{id}/emails operations: &id034 - name: retrieve-email-threads-from-workflow method: GET description: Retrieve Email Threads from A Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-emails-emailthreadid path: /workflows/{id}/emails/{emailThreadId} operations: &id035 - name: retrieve-email-thread-from-workflow method: GET description: Retrieve an Email Thread from a Specified Workflow outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: [] - name: workflows-id-emails-emailthreadid-attachments-attachmentid path: /workflows/{id}/emails/{emailThreadId}/attachments/{attachmentId} operations: &id036 - name: retrieve-attachment-from-email-thread method: GET description: Retrieve an Attachment from an Email Thread outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: attachmentId in: path type: string description: The unique identifier for the attachment. This key can be located using the [Retrieve email threads from workflow](https://developer.ironcladapp.com/reference/retrieve-emails) endpoint. In the response, locate the file attribute (e.g., `attachments`) and look at its `download` parameter. The downloa required: true - name: workflow-schemas path: /workflow-schemas operations: &id037 - name: list-all-workflow-schemas method: GET description: List All Workflow Schemas outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: form in: query type: string description: The launch form is the only form supported at this time. required: true - name: workflow-schemas-id path: /workflow-schemas/{id} operations: &id038 - name: retrieve-a-workflow-schema method: GET description: Retrieve a Workflow Schema outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The unique identifier of a schema (see explanation of [Template ID](https://developer.ironcladapp.com/reference/getting-started-api)). A list of identifiers can be retrieved using the `GET /workflow-schemas` endpoint. Only published workflows will have an identifier. required: true - name: form in: query type: string description: form query parameter required: false authentication: type: apikey key: Authorization value: Bearer {{env.IRONCLAD_ACCESS_TOKEN}} placement: header exposes: - type: rest namespace: workflows-rest port: 8080 description: REST adapter for Ironclad Workflows. One resource per consumed operation. resources: - name: workflows path: /v1/workflows operations: *id001 - name: workflows-async path: /v1/workflows/async operations: *id002 - name: workflows-async-asyncjobid path: /v1/workflows/async/{asyncJobId} operations: *id003 - name: workflows-id path: /v1/workflows/{id} operations: *id004 - name: workflows-id-approvals path: /v1/workflows/{id}/approvals operations: *id005 - name: workflows-id-approval-requests path: /v1/workflows/{id}/approval-requests operations: *id006 - name: workflows-id-approvals-roleid path: /v1/workflows/{id}/approvals/{roleId} operations: *id007 - name: workflows-id-turn-history path: /v1/workflows/{id}/turn-history operations: *id008 - name: workflows-id-sign-status path: /v1/workflows/{id}/sign-status operations: *id009 - name: workflows-id-sign-status-send-signature-request path: /v1/workflows/{id}/sign-status/send-signature-request operations: *id010 - name: workflows-id-sign-status-scheduled-send path: /v1/workflows/{id}/sign-status/scheduled-send operations: *id011 - name: workflows-id-sign-status-cancel-signature-request path: /v1/workflows/{id}/sign-status/cancel-signature-request operations: *id012 - name: workflows-id-sign-status-signers-signerrolename path: /v1/workflows/{id}/sign-status/signers/{signerRoleName} operations: *id013 - name: workflows-id-sign-status-signers-signerrolename-remind path: /v1/workflows/{id}/sign-status/signers/{signerRoleName}/remind operations: *id014 - name: workflows-id-signatures path: /v1/workflows/{id}/signatures operations: *id015 - name: workflows-id-signatures-recipient-urls path: /v1/workflows/{id}/signatures/recipient-urls operations: *id016 - name: workflows-id-signatures-recipient-urls-embedded path: /v1/workflows/{id}/signatures/recipient-urls/embedded operations: *id017 - name: workflows-id-upload-signed path: /v1/workflows/{id}/upload-signed operations: *id018 - name: workflows-id-participants path: /v1/workflows/{id}/participants operations: *id019 - name: workflows-id-roles-rolename path: /v1/workflows/{id}/roles/{roleName} operations: *id020 - name: workflows-id-roles-rolename-eligible-assignees path: /v1/workflows/{id}/roles/{roleName}/eligible-assignees operations: *id021 - name: workflows-id-revert-to-review path: /v1/workflows/{id}/revert-to-review operations: *id022 - name: workflows-id-cancel path: /v1/workflows/{id}/cancel operations: *id023 - name: workflows-id-pause path: /v1/workflows/{id}/pause operations: *id024 - name: workflows-id-resume path: /v1/workflows/{id}/resume operations: *id025 - name: workflows-id-comment path: /v1/workflows/{id}/comment operations: *id026 - name: workflows-id-comments path: /v1/workflows/{id}/comments operations: *id027 - name: workflows-id-comments-commentid path: /v1/workflows/{id}/comments/{commentId} operations: *id028 - name: workflows-id-attributes path: /v1/workflows/{id}/attributes operations: *id029 - name: workflows-id-documents path: /v1/workflows/{id}/documents operations: *id030 - name: workflows-id-signature-packet path: /v1/workflows/{id}/signature-packet operations: *id031 - name: workflows-id-documents-attributeid path: /v1/workflows/{id}/documents/{attributeId} operations: *id032 - name: workflows-id-document-key-download path: /v1/workflows/{id}/document/{key}/download operations: *id033 - name: workflows-id-emails path: /v1/workflows/{id}/emails operations: *id034 - name: workflows-id-emails-emailthreadid path: /v1/workflows/{id}/emails/{emailThreadId} operations: *id035 - name: workflows-id-emails-emailthreadid-attachments-attachmentid path: /v1/workflows/{id}/emails/{emailThreadId}/attachments/{attachmentId} operations: *id036 - name: workflow-schemas path: /v1/workflow-schemas operations: *id037 - name: workflow-schemas-id path: /v1/workflow-schemas/{id} operations: *id038