---
updatedAt: 2026-05-27T18:08:33.000Z
agentTools:
  projectIndex: https://developer.ironcladapp.com/llms.txt
---

# Update a Webhook

Update the data associated with a specific webhook. 

**OAuth Scope required:** `public.webhooks.updateWebhooks`

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Ironclad Public API",
    "description": "Documentation for Ironclad's REST API.\n\n## Pagination\n\nList endpoints (for example `/obligations`, `/records`, `/entities`, and `/workflows`) return results one page at a time. Request pages with the `page` (zero-based) and `pageSize` query parameters; see the `pageSize` parameter on each endpoint for its default and maximum. Each response echoes `page` and `pageSize` and includes `count` (the total number of items matching the query across ALL pages) and `list` (the items on the current page). When `count` is greater than the number of items you have retrieved so far, request the next page by incrementing `page` until you have collected everything you need.",
    "contact": {
      "name": "Ironclad Support",
      "email": "support@ironcladapp.com"
    },
    "version": "1"
  },
  "servers": [
    {
      "url": "https://ironcladapp.com/public/api/v1",
      "description": "Production server"
    },
    {
      "url": "https://eu1.ironcladapp.com/public/api/v1",
      "description": "EU Production server"
    },
    {
      "url": "https://demo.ironcladapp.com/public/api/v1",
      "description": "Demo server"
    }
  ],
  "paths": {
    "/webhooks/{id}": {
      "patch": {
        "summary": "Update a Webhook",
        "description": "Update the data associated with a specific webhook. \n\n**OAuth Scope required:** `public.webhooks.updateWebhooks`",
        "operationId": "update-a-webhook",
        "parameters": [
          {
            "$ref": "#/components/parameters/XAsUserEmail"
          },
          {
            "$ref": "#/components/parameters/XAsUserId"
          },
          {
            "$ref": "#/components/parameters/WebhookId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "events": {
                    "type": "array",
                    "description": "The type of events that will trigger a notification to the target URL.",
                    "minItems": 1,
                    "items": {
                      "$ref": "#/components/schemas/WebhookEvent"
                    }
                  },
                  "targetURL": {
                    "type": "string",
                    "description": "The URL of where the notification gets sent.",
                    "format": "https-url"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "enabled",
                      "disabled"
                    ],
                    "description": "The status of the webhook. If the status is `disabled`, the webhook will not be triggered."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "sec0": [],
            "OAuth2": [
              "public.webhooks.updateWebhooks"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "200",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookModel"
                }
              }
            }
          },
          "400": {
            "description": "400",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        },
        "tags": [
          "Webhooks"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "WebhookEvent": {
        "type": "string",
        "description": "Events that can be subscribed to using a webhook.",
        "example": "workflow_launched",
        "enum": [
          "*",
          "workflow_launched",
          "workflow_updated",
          "workflow_cancelled",
          "workflow_deleted",
          "workflow_completed",
          "workflow_approval_status_changed",
          "workflow_attribute_updated",
          "workflow_comment_added",
          "workflow_comment_removed",
          "workflow_comment_updated",
          "workflow_comment_reaction_added",
          "workflow_comment_reaction_removed",
          "workflow_counterparty_invite_sent",
          "workflow_counterparty_invite_revoked",
          "workflow_documents_added",
          "workflow_documents_removed",
          "workflow_documents_updated",
          "workflow_documents_renamed",
          "workflow_document_edited",
          "workflow_changed_turn",
          "workflow_paused",
          "workflow_resumed",
          "workflow_signature_packet_cancelled",
          "workflow_signature_packet_document_moved",
          "workflow_signature_packet_fully_signed",
          "workflow_signature_packet_sent",
          "workflow_signature_packet_signatures_collected",
          "workflow_signature_packet_signer_first_viewed",
          "workflow_signature_packet_signer_viewed",
          "workflow_signature_packet_uploaded",
          "workflow_signer_added",
          "workflow_signer_removed",
          "workflow_signer_reassigned",
          "workflow_step_updated",
          "workflow_roles_assigned",
          "record_contract_status_changed",
          "obligation_created",
          "obligation_status_changed",
          "obligation_due_date_changed",
          "obligation_assignee_changed",
          "obligation_updated",
          "obligations_extraction_completed"
        ]
      },
      "WebhookModel": {
        "description": "Webhook object describing the subscribed events and target URL to be called.",
        "type": "object",
        "required": [
          "id",
          "events",
          "targetURL",
          "companyId",
          "status",
          "consecutiveFailureCount"
        ],
        "properties": {
          "id": {
            "description": "Unique ID of the webhook",
            "type": "string",
            "example": "5928719b30182d3700364a74"
          },
          "events": {
            "description": "Array of events to which webhook is subscribed to.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/WebhookEvent"
            }
          },
          "targetURL": {
            "description": "Target URL to which the webhook is called.",
            "type": "string",
            "format": "https-url",
            "example": "https://develop.ironcladapp.com"
          },
          "companyId": {
            "description": "Unique ID of the Ironclad company instance to which the webhook belongs to.",
            "type": "string",
            "example": "5928719b30182d3700364a74"
          },
          "status": {
            "description": "The status of the webhook. If the status is `disabled`, the webhook will not be triggered.",
            "type": "string",
            "enum": [
              "enabled",
              "disabled",
              "disabledBySystem"
            ],
            "example": "enabled"
          },
          "statusLastUpdatedAt": {
            "description": "The timestamp of the most recent status change in ISO 8601 format.",
            "type": "string",
            "format": "date-time",
            "example": "2025-01-17T17:51:49.008Z"
          },
          "statusLastUpdatedBy": {
            "description": "The user or system ID that made the most recent status change.",
            "type": "string",
            "example": "system"
          },
          "consecutiveFailureCount": {
            "description": "The number of consecutive failed deliveries of the webhook. After a certain number of consecutive failures over a certain period of time, the webhook will be disabled. See [more](https://developer.ironcladapp.com/reference/webhook-deactivation).",
            "type": "number",
            "example": 0
          },
          "firstConsecutiveFailure": {
            "description": "The timestamp of the first consecutive failure of the webhook in ISO 8601 format.",
            "type": "string",
            "format": "date-time",
            "example": "2025-01-17T17:51:49.008Z"
          }
        }
      }
    },
    "parameters": {
      "XAsUserEmail": {
        "name": "x-as-user-email",
        "in": "header",
        "description": "Denotes the actor of the request. When used, the API will take into account this user's permissions and access. This or `x-as-user-id` is required when the associated token was produced from the Client Credentials grant or with legacy bearer tokens on select endpoints. More information about [permissions](https://support.ironcladapp.com/hc/en-us/articles/23063233934999-Ironclad-Permissions-Overview).",
        "required": false,
        "schema": {
          "type": "string",
          "example": "jane.doe@test.com"
        }
      },
      "XAsUserId": {
        "name": "x-as-user-id",
        "in": "header",
        "description": "Denotes the actor of the request. When used, the API will take into account this user's permissions and access. This or `x-as-user-email` is required when the associated token was produced from the Client Credentials grant or with legacy bearer tokens on select endpoints. More information about [permissions](https://support.ironcladapp.com/hc/en-us/articles/23063233934999-Ironclad-Permissions-Overview).",
        "required": false,
        "schema": {
          "type": "string",
          "example": "5f0375c4cdc1927a3c5edcd3"
        }
      },
      "WebhookId": {
        "name": "id",
        "in": "path",
        "description": "The unique identifier of the webhook",
        "schema": {
          "type": "string"
        },
        "required": true
      }
    },
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "x-bearer-format": "bearer"
      },
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://ironcladapp.com/oauth/authorize",
            "tokenUrl": "https://ironcladapp.com/oauth/token",
            "scopes": {
              "public.records.createRecords": "Create Records",
              "public.records.readRecords": "Read Records",
              "public.records.updateRecords": "Update Records",
              "public.records.deleteRecords": "Delete Records",
              "public.records.readSchemas": "Read Record Schemas",
              "public.records.createAttachments": "Create Record Attachments",
              "public.records.readAttachments": "Read Record Attachments",
              "public.records.deleteAttachments": "Delete Record Attachments",
              "public.records.createSmartImportRecords": "Create Records via Smart Import",
              "public.records.readSmartImportRecords": "Read Record Import Details from Smart Import",
              "public.records.applyContractAction": "Apply Contract Actions",
              "public.webhooks.createWebhooks": "Create Webhooks",
              "public.webhooks.readWebhooks": "Read Webhooks",
              "public.webhooks.updateWebhooks": "Update Webhooks",
              "public.webhooks.deleteWebhooks": "Delete Webhooks",
              "public.workflows.createWorkflows": "Create Workflows",
              "public.workflows.readWorkflows": "Read Workflows",
              "public.workflows.updateWorkflows": "Update Workflows",
              "public.workflows.createFromSource": "Launch Workflow from Attribute Source",
              "public.workflows.updateFromSource": "Refresh Workflow from Attribute Source",
              "public.workflows.readApprovals": "Read Workflow Approvals",
              "public.workflows.updateApprovals": "Update Workflow Approvals",
              "public.workflows.readSignatures": "Read Workflow Signatures",
              "public.workflows.uploadSignedDocuments": "Upload Signed Workflow Documents",
              "public.workflows.readParticipants": "Read Workflow Participants",
              "public.workflows.readRoleAssignees": "Read Workflow Role Eligible Assignees",
              "public.workflows.updateRoleAssignment": "Update Workflow Role Assignment",
              "public.workflows.revertToReview": "Revert Workflows to Review",
              "public.workflows.cancel": "Cancel Workflows",
              "public.workflows.pauseAndResume": "Resume and Pause Workflows",
              "public.workflows.createComments": "Create Workflow Comments",
              "public.workflows.readComments": "Read Workflow Comments",
              "public.workflows.createDocuments": "Create Workflow Documents",
              "public.workflows.readDocuments": "Read Workflow Documents",
              "public.workflows.updateSignaturePacket": "Update Signature Packet",
              "public.workflows.readSchemas": "Read Workflow Schemas",
              "public.workflows.readTurnHistory": "Read Workflow Turn History",
              "public.workflows.readEmailCommunications": "Read Workflow Email Communications",
              "public.workflows.readSignStatus": "Read Sign Status",
              "public.records.createComments": "Create Workflow Comments",
              "public.export.createReports": "Create Reports",
              "public.export.readReports": "Read Reports",
              "public.workflows.createSignatureRecipientUrls": "Create Signature Request Recipient URLs",
              "public.workflows.createEmbeddableSignerUrls": "Create Embeddable Signature Request Recipient URLs",
              "public.workflows.sendSignatureRequests": "Send Signature Requests",
              "public.workflows.cancelSignatureRequests": "Cancel Signature Requests",
              "public.workflows.deleteSigners": "Delete Signers",
              "public.workflows.remindSigners": "Remind Signers",
              "public.workflows.updateSigners": "Update Signers",
              "public.entities.readRelationshipTypes": "Read Relationship Types",
              "public.entities.updateEntities": "Update Entities",
              "public.entities.deleteEntities": "Delete Entities",
              "public.entities.createEntities": "Create Entities",
              "public.entities.readEntities": "Read Entities",
              "public.obligations.readObligations": "Read Obligations",
              "public.obligations.createObligations": "Create Obligations",
              "public.obligations.updateObligations": "Update Obligations",
              "public.obligations.deleteObligations": "Delete Obligations",
              "public.workflows.scheduleSendSignatureRequest": "Schedule Send Signature Request",
              "public.workflows.updateScheduledSignatureRequest": "Update Scheduled Signature Request",
              "public.workflows.deleteScheduledSignatureRequest": "Delete Scheduled Signature Request",
              "public.signatureRequests.updateRequest": "Update Custom Signature Request Status",
              "public.search.conversational": "Run Conversational agent Search"
            }
          },
          "clientCredentials": {
            "tokenUrl": "https://ironcladapp.com/oauth/token",
            "scopes": {
              "public.records.createRecords": "Create Records",
              "public.records.readRecords": "Read Records",
              "public.records.updateRecords": "Update Records",
              "public.records.deleteRecords": "Delete Records",
              "public.records.readSchemas": "Read Record Schemas",
              "public.records.createAttachments": "Create Record Attachments",
              "public.records.readAttachments": "Read Record Attachments",
              "public.records.deleteAttachments": "Delete Record Attachments",
              "public.records.createSmartImportRecords": "Create Records via Smart Import",
              "public.records.readSmartImportRecords": "Read Record Import Details from Smart Import",
              "public.records.applyContractAction": "Apply Contract Actions",
              "public.webhooks.createWebhooks": "Create Webhooks",
              "public.webhooks.readWebhooks": "Read Webhooks",
              "public.webhooks.updateWebhooks": "Update Webhooks",
              "public.webhooks.deleteWebhooks": "Delete Webhooks",
              "public.workflows.createWorkflows": "Create Workflows",
              "public.workflows.readWorkflows": "Read Workflows",
              "public.workflows.updateWorkflows": "Update Workflows",
              "public.workflows.createFromSource": "Launch Workflow from Attribute Source",
              "public.workflows.updateFromSource": "Refresh Workflow from Attribute Source",
              "public.workflows.readApprovals": "Read Workflow Approvals",
              "public.workflows.updateApprovals": "Update Workflow Approvals",
              "public.workflows.readSignatures": "Read Workflow Signatures",
              "public.workflows.uploadSignedDocuments": "Upload Signed Workflow Documents",
              "public.workflows.readParticipants": "Read Workflow Participants",
              "public.workflows.readRoleAssignees": "Read Workflow Role Eligible Assignees",
              "public.workflows.updateRoleAssignment": "Update Workflow Role Assignment",
              "public.workflows.revertToReview": "Revert Workflows to Review",
              "public.workflows.cancel": "Cancel Workflows",
              "public.workflows.pauseAndResume": "Resume and Pause Workflows",
              "public.workflows.createComments": "Create Workflow Comments",
              "public.workflows.readComments": "Read Workflow Comments",
              "public.workflows.createDocuments": "Create Workflow Documents",
              "public.workflows.readDocuments": "Read Workflow Documents",
              "public.workflows.updateSignaturePacket": "Update Signature Packet",
              "public.workflows.readSchemas": "Read Workflow Schemas",
              "public.workflows.readTurnHistory": "Read Workflow Turn History",
              "public.workflows.readEmailCommunications": "Read Workflow Email Communications",
              "public.records.createComments": "Create Workflow Comments",
              "public.export.createReports": "Create Reports",
              "public.export.readReports": "Read Reports",
              "public.workflows.createSignatureRecipientUrls": "Create Signature Request Recipient URLs",
              "public.workflows.createEmbeddableSignerUrls": "Create Embeddable Signature Request Recipient URLs",
              "public.workflows.sendSignatureRequests": "Send Signature Requests",
              "public.workflows.cancelSignatureRequests": "Cancel Signature Requests",
              "public.workflows.deleteSigners": "Delete Signers",
              "public.workflows.remindSigners": "Remind Signers",
              "public.workflows.updateSigners": "Update Signers",
              "public.entities.readRelationshipTypes": "Read Relationship Types",
              "public.entities.updateEntities": "Update Entities",
              "public.entities.deleteEntities": "Delete Entities",
              "public.entities.createEntities": "Create Entities",
              "public.entities.readEntities": "Read Entities",
              "public.obligations.readObligations": "Read Obligations",
              "public.obligations.createObligations": "Create Obligations",
              "public.obligations.updateObligations": "Update Obligations",
              "public.obligations.deleteObligations": "Delete Obligations",
              "public.workflows.scheduleSendSignatureRequest": "Schedule Send Signature Request",
              "public.workflows.updateScheduledSignatureRequest": "Update Scheduled Signature Request",
              "public.workflows.deleteScheduledSignatureRequest": "Delete Scheduled Signature Request",
              "public.signatureRequests.updateRequest": "Update Custom Signature Request Status"
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Webhooks",
      "description": "Documentation on Ironclad Webhooks."
    }
  ],
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true,
    "samples-languages": [
      "curl",
      "node",
      "ruby",
      "javascript",
      "python"
    ]
  }
}
```