The updated URL where form submissions will be sent. Must be a valid HTTPS URL that resolves only to public IP addresses. Private, loopback, link-local, shared (CGNAT), protocol-assignment, benchmark, and cloud metadata addresses are rejected. IPv4-mapped IPv6, NAT64 (64:ff9b::/96 and 64:ff9b:1::/48), and 6to4 destinations are also rejected, including when they embed a public IPv4 address.
Update custom HTTP headers. Replaces all existing headers with the provided ones. Maximum 10 headers allowed. See blocked headers list below for restricted header names.
403 Forbidden – The token does not have manage-integrations ability or insufficient form permissions.404 Not Found – Form or integration not found.422 Unprocessable Entity – Validation error.
{ "message": "The given data was invalid.", "errors": { "data.webhook_url": ["The webhook URL must use HTTPS."], "data.webhook_secret": ["The webhook secret must be at least 12 characters."], "data.webhook_headers": ["The 'Authorization' header cannot be customized for security reasons."] }}
Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment.
When updating the webhook_secret, the new secret will be used for all future webhook requests. Existing webhook attempts with the old secret will fail validation on the receiver’s end.If you need to rotate your secret, consider implementing a grace period on your receiving endpoint to accept both old and new secrets during the transition.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OpnForm Technical Docs","colors":{"primary":"#3b82f6","light":"#60a5fa","dark":"#2563eb"},"logo":{"light":"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955","dark":"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955"},"favicon":"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955","navbar":{"links":[{"href":"https://opnform.com?utm_source=docs\u0026utm_medium=topbar\u0026utm_campaign=technical_docs","label":"OpnForm"},{"href":"https://github.com/OpnForm/OpnForm","label":"GitHub"}],"primary":{"type":"button","label":"Dashboard","href":"https://opnform.com"}},"footer":{"socials":{"twitter":"https://twitter.com/opnform","github":"https://github.com/OpnForm/OpnForm"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Product Documentation","icon":"book-open-cover","href":"https://help.opnform.com"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/YTSjU2a9TS"},{"anchor":"Changelog","icon":"sparkles","href":"https://feedback.opnform.com/changelog"},{"anchor":"Roadmap","icon":"road","href":"https://feedback.opnform.com/roadmap"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opnform","hasAudioNarration":false,"actualSubdomain":"opnform","customDomains":["docs.opnform.com"],"gitSource":{"type":"github","owner":"opnform","repo":"opnform","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4765f812f7e980ce50ded","collectionId":"5e6479b9-2264-435b-92e1-fde87b676701","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4765f812f7e980ce50ded"},"feedback":{"edits":true,"thumbs":true},"entitlements":{},"buildId":"6ae4765f812f7e980ce50ded","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API Reference","count":38},{"language":"default","tag":"Documentation","count":29},{"language":"default","tag":"Contributing","count":11},{"language":"default","tag":"Configuration","count":9},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Workspace Users","count":8},{"language":"default","tag":"Self-hosted Enterprise","count":7},{"language":"default","tag":"Submissions","count":6},{"language":"default","tag":"Deployment","count":6},{"language":"default","tag":"Forms","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/integrations/update-webhook-integration","slug":"/api-reference/integrations/update-webhook-integration","pageMetadata":{"openapi":"put /open/forms/{form}/integrations/{integrationid}","title":"Update Webhook Integration","description":"Update an existing webhook integration. Requires `manage-integrations` ability.","href":"/api-reference/integrations/update-webhook-integration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Update an existing webhook integration. Requires \", _jsx(_components.code, {\n children: \"manage-integrations\"\n }), \" ability.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,ParamField}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`update-webhook-integration`,children:`Update Webhook Integration`}),`\n`,_jsx(_components.p,{children:`Modify an existing webhook integration’s URL, secret, headers, or status.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication-\u0026-scope`,children:`Authentication \u0026 Scope`}),`\n`,_jsxs(_components.p,{children:[`This endpoint requires a `,_jsx(_components.strong,{children:`Personal Access Token`}),` with the `,_jsx(_components.code,{children:`manage-integrations`}),` ability.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(ParamField,{path:`form`,type:`number`,required:true,id:`param-form`,children:_jsx(_components.p,{children:`The ID of the form containing the webhook.`})}),`\n`,_jsx(ParamField,{path:`integrationid`,type:`number`,required:true,id:`param-integrationid`,children:_jsx(_components.p,{children:`The ID of the webhook integration to update.`})}),`\n`,_jsx(ParamField,{body:`integration_id`,type:`string`,required:true,id:`param-integration-id`,children:_jsxs(_components.p,{children:[`Must be set to `,_jsx(_components.code,{children:`\"webhook\"`}),`.`]})}),`\n`,_jsx(ParamField,{body:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[`The status of the webhook. Allowed values: `,_jsx(_components.code,{children:`\"active\"`}),`, `,_jsx(_components.code,{children:`\"inactive\"`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`data`,type:`object`,required:true,id:`param-data`,children:[_jsx(_components.p,{children:`Configuration object containing webhook details. All fields are optional.`}),_jsxs(Expandable,{title:`data properties`,children:[_jsx(ParamField,{body:`webhook_url`,type:`string`,id:`param-webhook-url`,children:_jsxs(_components.p,{children:[`The updated URL where form submissions will be sent. Must be a valid HTTPS URL that resolves only to public IP addresses. Private, loopback, link-local, shared (CGNAT), protocol-assignment, benchmark, and cloud metadata addresses are rejected. IPv4-mapped IPv6, NAT64 (`,_jsx(_components.code,{children:`64:ff9b::/96`}),` and `,_jsx(_components.code,{children:`64:ff9b:1::/48`}),`), and 6to4 destinations are also rejected, including when they embed a public IPv4 address.`]})}),_jsx(ParamField,{body:`webhook_secret`,type:`string`,id:`param-webhook-secret`,children:_jsx(_components.p,{children:`Update the signing secret for HMAC-SHA256 validation. Must be at least 12\ncharacters. Provide a new value to rotate the secret.`})}),_jsx(ParamField,{body:`webhook_headers`,type:`object`,id:`param-webhook-headers`,children:_jsx(_components.p,{children:`Update custom HTTP headers. Replaces all existing headers with the provided ones. Maximum 10 headers allowed. See blocked headers list below for restricted header names.`})})]})]}),`\n`,_jsx(ParamField,{body:`logic`,type:`object`,id:`param-logic`,children:_jsx(_components.p,{children:`Update the conditional logic for webhook triggering.`})}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`200 OK`}),` – Webhook updated successfully.`]}),`\n`,`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`403 Forbidden`}),` – The token does not have `,_jsx(_components.code,{children:`manage-integrations`}),` ability or insufficient form permissions.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`404 Not Found`}),` – Form or integration not found.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`422 Unprocessable Entity`}),` – Validation error.`]}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`security`,children:`Security`}),`\n`,_jsx(_components.p,{children:`Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment.`}),`\n`,_jsx(Heading,{level:`3`,id:`secret-rotation`,children:`Secret Rotation`}),`\n`,_jsxs(_components.p,{children:[`When updating the `,_jsx(_components.code,{children:`webhook_secret`}),`, the new secret will be used for all future webhook requests. Existing webhook attempts with the old secret will fail validation on the receiver’s end.`]}),`\n`,_jsx(_components.p,{children:`If you need to rotate your secret, consider implementing a grace period on your receiving endpoint to accept both old and new secrets during the transition.`}),`\n`,_jsx(Heading,{level:`3`,id:`blocked-headers`,children:`Blocked Headers`}),`\n`,_jsxs(_components.p,{children:[`For security reasons, the following headers cannot be customized in `,_jsx(_components.code,{children:`webhook_headers`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Authorization`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Webhook-Signature`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Type`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Length`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Host`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Cookie`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-CSRF-Token`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-For`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-Proto`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Real-IP`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`For signature validation implementation examples, see `,_jsx(_components.a,{href:`/api-reference/integrations/webhook-security`,children:`Validating Webhook Signatures`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"put /open/forms/{form}/integrations/{integrationid}","title":"Update Webhook Integration","description":"Update an existing webhook integration. Requires `manage-integrations` ability.","href":"/api-reference/integrations/update-webhook-integration"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,RequestExample,ResponseExample}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`update-webhook-integration`,children:`Update Webhook Integration`}),`\n`,_jsx(_components.p,{children:`Modify an existing webhook integration’s URL, secret, headers, or status.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication-\u0026-scope`,children:`Authentication \u0026 Scope`}),`\n`,_jsxs(_components.p,{children:[`This endpoint requires a `,_jsx(_components.strong,{children:`Personal Access Token`}),` with the `,_jsx(_components.code,{children:`manage-integrations`}),` ability.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(ParamField,{path:`form`,type:`number`,required:true,id:`param-form`,children:_jsx(_components.p,{children:`The ID of the form containing the webhook.`})}),`\n`,_jsx(ParamField,{path:`integrationid`,type:`number`,required:true,id:`param-integrationid`,children:_jsx(_components.p,{children:`The ID of the webhook integration to update.`})}),`\n`,_jsx(ParamField,{body:`integration_id`,type:`string`,required:true,id:`param-integration-id`,children:_jsxs(_components.p,{children:[`Must be set to `,_jsx(_components.code,{children:`\"webhook\"`}),`.`]})}),`\n`,_jsx(ParamField,{body:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.p,{children:[`The status of the webhook. Allowed values: `,_jsx(_components.code,{children:`\"active\"`}),`, `,_jsx(_components.code,{children:`\"inactive\"`}),`.`]})}),`\n`,_jsxs(ParamField,{body:`data`,type:`object`,required:true,id:`param-data`,children:[_jsx(_components.p,{children:`Configuration object containing webhook details. All fields are optional.`}),_jsxs(Expandable,{title:`data properties`,children:[_jsx(ParamField,{body:`webhook_url`,type:`string`,id:`param-webhook-url`,children:_jsxs(_components.p,{children:[`The updated URL where form submissions will be sent. Must be a valid HTTPS URL that resolves only to public IP addresses. Private, loopback, link-local, shared (CGNAT), protocol-assignment, benchmark, and cloud metadata addresses are rejected. IPv4-mapped IPv6, NAT64 (`,_jsx(_components.code,{children:`64:ff9b::/96`}),` and `,_jsx(_components.code,{children:`64:ff9b:1::/48`}),`), and 6to4 destinations are also rejected, including when they embed a public IPv4 address.`]})}),_jsx(ParamField,{body:`webhook_secret`,type:`string`,id:`param-webhook-secret`,children:_jsx(_components.p,{children:`Update the signing secret for HMAC-SHA256 validation. Must be at least 12\ncharacters. Provide a new value to rotate the secret.`})}),_jsx(ParamField,{body:`webhook_headers`,type:`object`,id:`param-webhook-headers`,children:_jsx(_components.p,{children:`Update custom HTTP headers. Replaces all existing headers with the provided ones. Maximum 10 headers allowed. See blocked headers list below for restricted header names.`})})]})]}),`\n`,_jsx(ParamField,{body:`logic`,type:`object`,id:`param-logic`,children:_jsx(_components.p,{children:`Update the conditional logic for webhook triggering.`})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`15`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PUT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://api.opnform.com/open/forms/123/integrations/42'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Authorization: Bearer YOUR_PAT'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Content-Type: application/json'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"integration_id\": \"webhook\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"status\": \"active\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"data\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_url\": \"https://new-endpoint.com/opnform-hook\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_secret\": \"whsec_newsecret123456789abcdef\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"webhook_headers\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-API-Key\": \"new-api-key\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"X-Custom-ID\": \"updated-value\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`200 OK`}),` – Webhook updated successfully.`]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Success`,numberOfLines:`17`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Form Integration was updated.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_integration\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`42`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"form_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`123`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"integration_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"webhook\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"active\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"webhook_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://new-endpoint.com/opnform-hook\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"webhook_secret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"whsec_newsecret123456789abcdef\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"webhook_headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-API-Key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"new-api-key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"X-Custom-ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"updated-value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`403 Forbidden`}),` – The token does not have `,_jsx(_components.code,{children:`manage-integrations`}),` ability or insufficient form permissions.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`404 Not Found`}),` – Form or integration not found.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`422 Unprocessable Entity`}),` – Validation error.`]}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Error`,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The given data was invalid.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"errors\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data.webhook_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The webhook URL must use HTTPS.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data.webhook_secret\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The webhook secret must be at least 12 characters.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data.webhook_headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The 'Authorization' header cannot be customized for security reasons.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`security`,children:`Security`}),`\n`,_jsx(_components.p,{children:`Webhook URLs are validated when they are saved and again before each delivery. OpnForm does not follow webhook redirects, and private network destinations are blocked unless the instance operator explicitly enables private webhook URLs for a self-hosted deployment.`}),`\n`,_jsx(Heading,{level:`3`,id:`secret-rotation`,children:`Secret Rotation`}),`\n`,_jsxs(_components.p,{children:[`When updating the `,_jsx(_components.code,{children:`webhook_secret`}),`, the new secret will be used for all future webhook requests. Existing webhook attempts with the old secret will fail validation on the receiver’s end.`]}),`\n`,_jsx(_components.p,{children:`If you need to rotate your secret, consider implementing a grace period on your receiving endpoint to accept both old and new secrets during the transition.`}),`\n`,_jsx(Heading,{level:`3`,id:`blocked-headers`,children:`Blocked Headers`}),`\n`,_jsxs(_components.p,{children:[`For security reasons, the following headers cannot be customized in `,_jsx(_components.code,{children:`webhook_headers`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Authorization`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Webhook-Signature`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Type`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Content-Length`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Host`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`Cookie`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-CSRF-Token`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-For`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Forwarded-Proto`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`X-Real-IP`})}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`For signature validation implementation examples, see `,_jsx(_components.a,{href:`/api-reference/integrations/webhook-security`,children:`Validating Webhook Signatures`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"put /open/forms/{form}/integrations/{integrationid}","title":"Update Webhook Integration","description":"Update an existing webhook integration. Requires `manage-integrations` ability.","href":"/api-reference/integrations/update-webhook-integration"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Update Webhook Integration","slug":"update-webhook-integration","depth":1,"children":[]},{"title":"Authentication \u0026 Scope","slug":"authentication-\u0026-scope","depth":2,"children":[]},{"title":"Request","slug":"request","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Security","slug":"security","depth":2,"children":[{"title":"Secret Rotation","slug":"secret-rotation","depth":3,"children":[]},{"title":"Blocked Headers","slug":"blocked-headers","depth":3,"children":[]}]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"15\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> PUT\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'https://api.opnform.com/open/forms/123/integrations/42'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Authorization: Bearer YOUR_PAT'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> 'Content-Type: application/json'\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"integration_id\": \"webhook\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"status\": \"active\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"data\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"webhook_url\": \"https://new-endpoint.com/opnform-hook\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"webhook_secret\": \"whsec_newsecret123456789abcdef\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"webhook_headers\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"X-API-Key\": \"new-api-key\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"X-Custom-ID\": \"updated-value\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"Success","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"17\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Form Integration was updated.\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"form_integration\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">42\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"form_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">123\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"integration_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"webhook\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"active\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"webhook_url\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://new-endpoint.com/opnform-hook\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"webhook_secret\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"whsec_newsecret123456789abcdef\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"webhook_headers\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"X-API-Key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"new-api-key\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"X-Custom-ID\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"updated-value\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Integrations"],"summary":"Update Webhook Integration","description":"Update an existing webhook integration. Requires `manage-integrations` ability.","security":["93ffe74a-e71c-440e-a607-5281c185bee9"],"parameters":["77b9d9cb-8dde-49fb-8cb4-45134cd87a31","94fe4aee-dd18-426c-98b0-7daabd5dd1d3"],"requestBody":"aa7a4407-7b79-4fc7-97a1-68111534d069","responses":{"200":"9fd57b66-5dd9-4483-ab6d-9b0cfa961ed0","403":"2739c20f-cac2-4561-a7dd-ed9a1de3e95f","404":"e8bd548d-4f34-42fd-9b07-0c776baf07a9","422":"63bc2494-6076-4bbd-b9da-2fc1a930bc17"},"method":"put","type":"path","servers":["76717736-54ad-4f96-9ae4-ef1fd42de952"],"path":"/open/forms/{form}/integrations/{integrationid}","baseUrlOptions":["https://api.opnform.com"],"title":"Update Webhook Integration","codeSamples":[],"requiredOnlyExamples":false,"requestExamples":[{"dropdown":false,"language":"shellscript","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"shellscript","children":{"type":"code","key":null,"ref":null,"props":{"language":"shellscript","numberOfLines":"15","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#953800","--shiki-dark":"#DCDCAA"},"children":"curl"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -X"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" PUT"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" 'https://api.opnform.com/open/forms/123/integrations/42'"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" 'Authorization: Bearer YOUR_PAT'"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" 'Content-Type: application/json'"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#CF222E","--shiki-dark":"#D7BA7D"},"children":" \\"}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#569CD6"},"children":" -d"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" '{"}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"integration_id\": \"webhook\","}}}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"status\": \"active\","}}}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"data\": {"}}}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"webhook_url\": \"https://new-endpoint.com/opnform-hook\","}}}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"webhook_secret\": \"whsec_newsecret123456789abcdef\","}}}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"webhook_headers\": {"}}}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"X-API-Key\": \"new-api-key\","}}}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" \"X-Custom-ID\": \"updated-value\""}}}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" }"}}}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" }"}}}},"\n",{"type":"span","key":"28","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":" }'"}}}},"\n"]}}}},"filename":"cURL"}],"requestExampleType":"mdx","responseExamples":[{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light-default dark-plus","style":{"backgroundColor":"#ffffff","--shiki-dark-bg":"#0B0C0E","color":"#1f2328","--shiki-dark":"#D4D4D4"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"17","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"message\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"Form Integration was updated.\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"form_integration\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"42"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"form_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0550AE","--shiki-dark":"#B5CEA8"},"children":"123"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"integration_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"webhook\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"status\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"active\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"data\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"webhook_url\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"https://new-endpoint.com/opnform-hook\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"webhook_secret\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"whsec_newsecret123456789abcdef\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"webhook_headers\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": {"}}]}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"X-API-Key\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"new-api-key\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":","}}]}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#116329","--shiki-dark":"#9CDCFE"},"children":" \"X-Custom-ID\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#0A3069","--shiki-dark":"#CE9178"},"children":"\"updated-value\""}}]}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"28","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"30","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":" }"}}}},"\n",{"type":"span","key":"32","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#1F2328","--shiki-dark":"#D4D4D4"},"children":"}"}}}},"\n"]}}}},"filename":"Success"}],"responseExampleType":"mdx"},"dependencies":{"parameters":{"77b9d9cb-8dde-49fb-8cb4-45134cd87a31":{"name":"form","in":"path","required":true,"schema":{"type":"number","description":"The ID of the form.","isRequired":true,"uniqueKey":"","typeLabel":"number"}},"94fe4aee-dd18-426c-98b0-7daabd5dd1d3":{"name":"integrationid","in":"path","required":true,"schema":{"type":"number","description":"The ID of the integration.","isRequired":true,"uniqueKey":"","typeLabel":"number"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["integration_id","data"],"properties":{"integration_id":{"type":"string","enum":["webhook"],"description":"Must be \"webhook\"","isRequired":true,"uniqueKey":"integration_id","typeLabel":"enum\u003cstring>"},"data":{"type":"object","required":["webhook_url"],"properties":{"webhook_url":{"type":"string","format":"uri","description":"The URL where submissions will be sent","isRequired":true,"uniqueKey":"data.webhook_url","typeLabel":"string\u003curi>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"status":{"type":"string","enum":["active","inactive"],"description":"The status of the webhook","uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"integration_id":"webhook","data":{"webhook_url":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"9fd57b66-5dd9-4483-ab6d-9b0cfa961ed0":{"description":"Webhook updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Form Integration was updated.","uniqueKey":"message","typeLabel":"string"},"form_integration":{"type":"object","properties":{"id":{"type":"number","description":"Unique identifier for the integration.","readOnly":true,"uniqueKey":"form_integration.id","typeLabel":"number"},"form_id":{"type":"number","description":"The ID of the associated form.","readOnly":true,"uniqueKey":"form_integration.form_id","typeLabel":"number"},"integration_id":{"type":"string","description":"Type of integration exposed via API, including \"webhook\" and the provider-specific \"make\" integration.","example":"webhook","uniqueKey":"form_integration.integration_id","typeLabel":"string"},"status":{"type":"string","enum":["active","inactive"],"description":"Whether the integration is active.","uniqueKey":"form_integration.status","typeLabel":"enum\u003cstring>"},"data":{"type":"object","description":"Integration-specific configuration. For webhooks, contains webhook_url.","example":{"webhook_url":"https://example.com/opnform-hook"},"uniqueKey":"form_integration.data","typeLabel":"object"}},"uniqueKey":"form_integration","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Form Integration was updated.","form_integration":{"id":123,"form_id":123,"integration_id":"webhook","status":"active","data":{"webhook_url":"https://example.com/opnform-hook"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"2739c20f-cac2-4561-a7dd-ed9a1de3e95f":{"description":"Forbidden – insufficient permissions","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"e8bd548d-4f34-42fd-9b07-0c776baf07a9":{"description":"Form or integration not found","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"63bc2494-6076-4bbd-b9da-2fc1a930bc17":{"description":"Validation error","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"93ffe74a-e71c-440e-a607-5281c185bee9":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Personal Access Token","x-bearer-scopemap":{"workspaces-read":"Read access to workspaces","workspaces-write":"Write access to workspaces","workspace-users-read":"Read access to workspace users","workspace-users-write":"Write access to workspace users","forms-read":"Read access to forms","forms-write":"Write access to forms","manage-integrations":"Manage form integrations (webhooks)"},"scopes":[],"schemeName":"bearerAuth"}}},"servers":{"76717736-54ad-4f96-9ae4-ef1fd42de952":{"url":"https://api.opnform.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Personal Access Token","x-bearer-scopemap":{"workspaces-read":"Read access to workspaces","workspaces-write":"Write access to workspaces","workspace-users-read":"Read access to workspace users","workspace-users-write":"Write access to workspace users","forms-read":"Read access to forms","forms-write":"Write access to forms","manage-integrations":"Manage form integrations (webhooks)"},"scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Personal Access Token","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"opnform","siteName":"OpnForm Technical Docs","title":"Update Webhook Integration - OpnForm Technical Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T10:50:11.570Z","originalFileLocation":"api-reference/integrations/update-webhook-integration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Update an existing webhook integration. Requires manage-integrations ability.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpnForm Technical Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Webhook Integration - OpnForm Technical Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update an existing webhook integration. Requires manage-integrations ability.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpnForm Technical Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opnform.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Update+Webhook+Integration\u0026amp;description=Update+an+existing+webhook+integration.+Requires+%60manage-integrations%60+ability.\u0026amp;theme=555c232e9f4f4ee565ee1c66\u0026amp;signature=766748a1e2aa66566ea3bdce55f37f3a2a1750d915b32cb2827b2f4e282adc89\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update Webhook Integration - OpnForm Technical Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update an existing webhook integration. Requires manage-integrations ability.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opnform.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Update+Webhook+Integration\u0026amp;description=Update+an+existing+webhook+integration.+Requires+%60manage-integrations%60+ability.\u0026amp;theme=555c232e9f4f4ee565ee1c66\u0026amp;signature=766748a1e2aa66566ea3bdce55f37f3a2a1750d915b32cb2827b2f4e282adc89\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/opnform/j_5DxxKW6ps4uqTV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpnForm Technical Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3b82f6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/integrations/update-webhook-integration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opnform.com/#organization\",\"name\":\"OpnForm Technical Docs\",\"url\":\"https://docs.opnform.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opnform/OUqYLvFvGemD8lSt/logo.svg?fit=max\u0026auto=format\u0026n=OUqYLvFvGemD8lSt\u0026q=85\u0026s=60c8619bcad52d227a058cc4a5f06955\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opnform.com#website\",\"name\":\"OpnForm Technical Docs\",\"url\":\"https://docs.opnform.com\",\"publisher\":{\"@id\":\"https://docs.opnform.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration#webpage\",\"url\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration\",\"name\":\"Update Webhook Integration\",\"description\":\"Update an existing webhook integration. Requires manage-integrations ability.\",\"dateModified\":\"2026-10-30T10:50:11.570Z\",\"isPartOf\":{\"@id\":\"https://docs.opnform.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.opnform.com/api-reference/integrations/list-form-integrations\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update Webhook Integration\",\"item\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration#apireference\",\"headline\":\"Update Webhook Integration\",\"name\":\"Update Webhook Integration\",\"description\":\"Update an existing webhook integration. Requires manage-integrations ability.\",\"url\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opnform.com/api-reference/integrations/update-webhook-integration#webpage\"},\"dateModified\":\"2026-10-30T10:50:11.570Z\",\"publisher\":{\"@id\":\"https://docs.opnform.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opnform.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpnForm Technical Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OpnForm Technical Docs","nav":{"global":{"anchors":[{"anchor":"Product Documentation","icon":"book-open-cover","href":"https://help.opnform.com"},{"anchor":"Community","icon":"discord","href":"https://discord.gg/YTSjU2a9TS"},{"anchor":"Changelog","icon":"sparkles","href":"https://feedback.opnform.com/changelog"},{"anchor":"Roadmap","icon":"road","href":"https://feedback.opnform.com/roadmap"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"API Keys","href":"/api-reference/api-keys"},{"title":"Changelog","href":"/api-reference/changelog"}]},{"group":"Workspaces","pages":[{"openapi":"get /open/workspaces","title":"List Workspaces","href":"/api-reference/workspaces/list-workspaces"},{"openapi":"post /open/workspaces/create","title":"Create Workspace","href":"/api-reference/workspaces/create-workspace"},{"openapi":"put /open/workspaces/{workspaceId}","title":"Update Workspace","href":"/api-reference/workspaces/update-workspace"},{"openapi":"delete /open/workspaces/{workspaceId}","title":"Delete Workspace","href":"/api-reference/workspaces/delete-workspace"}]},{"group":"Forms","pages":[{"openapi":"get /open/workspaces/{workspaceId}/forms","title":"List Workspace Forms","href":"/api-reference/forms/list-workspace-forms"},{"openapi":"post /open/forms","title":"Create Form","href":"/api-reference/forms/create-form"},{"openapi":"get /open/forms/{slug}","title":"Get Form","href":"/api-reference/forms/get-form"},{"openapi":"put /open/forms/{id}","title":"Update Form","href":"/api-reference/forms/update-form"},{"openapi":"delete /open/forms/{id}","title":"Delete Form","href":"/api-reference/forms/delete-form"}]},{"group":"Submissions","pages":[{"openapi":"get /open/forms/{id}/submissions","title":"List Submissions","href":"/api-reference/submissions/list-submissions"},{"openapi":"post /forms/{slug}/answer","title":"Create Submission","href":"/api-reference/submissions/create-submission"},{"openapi":"post /open/forms/{id}/submissions/export","title":"Export Submissions (CSV)","href":"/api-reference/submissions/export-submissions-csv"},{"openapi":"get /open/forms/{id}/submissions/export/status/{job_id}","title":"Check Export Status","href":"/api-reference/submissions/export-status"},{"openapi":"put /open/forms/{id}/submissions/{submission_id}","title":"Update Submission","href":"/api-reference/submissions/update-submission"},{"openapi":"delete /open/forms/{id}/submissions/{submission_id}","title":"Delete Submission","href":"/api-reference/submissions/delete-submission"}]},{"group":"Integrations","pages":[{"openapi":"get /open/forms/{form}/integrations","title":"List Form Integrations","href":"/api-reference/integrations/list-form-integrations"},{"openapi":"post /open/forms/{form}/integrations","title":"Create Webhook Integration","description":"Create a new generic webhook or provider-specific Make integration for a form. Requires `manage-integrations` ability.","href":"/api-reference/integrations/create-webhook-integration"},{"openapi":"put /open/forms/{form}/integrations/{integrationid}","title":"Update Webhook Integration","href":"/api-reference/integrations/update-webhook-integration"},{"openapi":"delete /open/forms/{form}/integrations/{integrationid}","title":"Delete Webhook Integration","description":"Delete a webhook integration. Requires `manage-integrations` ability.","href":"/api-reference/integrations/delete-webhook-integration"},{"title":"List Integration Events","openapi":"get /open/forms/{form}/integrations/{integrationid}/events","href":"/api-reference/integrations/list-webhook-events"},{"title":"Retry an Integration Event","openapi":"post /open/forms/{form}/integrations/{integrationid}/events/{event}/retry","href":"/api-reference/integrations/retry-integration-event"},{"title":"Validating Webhook Signatures","href":"/api-reference/integrations/webhook-security"}]},{"group":"Workspace Users","pages":[{"openapi":"get /open/workspaces/{workspaceId}/users","title":"List Workspace Users","href":"/api-reference/workspace-users/list-workspace-users"},{"openapi":"get /open/workspaces/{workspaceId}/invites","title":"List Workspace Invites","href":"/api-reference/workspace-users/list-workspace-invites"},{"openapi":"post /open/workspaces/{workspaceId}/users/add","title":"Add Workspace User","href":"/api-reference/workspace-users/add-workspace-user"},{"openapi":"delete /open/workspaces/{workspaceId}/users/{userId}/remove","title":"Remove Workspace User","href":"/api-reference/workspace-users/remove-workspace-user"},{"openapi":"put /open/workspaces/{workspaceId}/users/{userId}/update-role","title":"Update Workspace User Role","href":"/api-reference/workspace-users/update-workspace-user-role"},{"openapi":"post /open/workspaces/{workspaceId}/leave","title":"Leave Workspace","href":"/api-reference/workspace-users/leave-workspace"},{"openapi":"post /open/workspaces/{workspaceId}/invites/{inviteId}/resend","title":"Resend Workspace Invite","href":"/api-reference/workspace-users/resend-workspace-invite"},{"openapi":"delete /open/workspaces/{workspaceId}/invites/{inviteId}/cancel","title":"Cancel Workspace Invite","href":"/api-reference/workspace-users/cancel-workspace-invite"}]},{"group":"Zapier","pages":[{"openapi":"get /external/zapier/validate","title":"Validate API Key","href":"/api-reference/zapier/validate-api-key"},{"openapi":"get /external/zapier/forms","title":"List Forms","href":"/api-reference/zapier/list-forms"},{"openapi":"post /external/zapier/webhook","title":"New Submission Trigger","href":"/api-reference/zapier/new-submission-trigger"},{"openapi":"delete /external/zapier/webhook","title":"Unsubscribe Webhook","href":"/api-reference/zapier/unsubscribe-webhook"},{"openapi":"get /external/zapier/submissions/recent","title":"Sample Submission Polling","href":"/api-reference/zapier/sample-submission-polling"}]}]},{"tab":"Contributing","pages":[{"title":"Contributing","href":"/contributing/getting-started"}]}]},"basePath":"","title":"Update Webhook Integration - OpnForm Technical Docs","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}