{
"error": "url must be an absolute http:// or https:// URL"
}
{
"error": "url must be an absolute http:// or https:// URL"
}
Webhook
Update Webhook
Modify an existing webhook’s configuration. Use this to change the endpoint URL or update which events trigger notifications.
Send only the fields you want to change. Every field you leave out keeps its current value, so {"enabled": false} pauses the webhook without touching its URL or events.
Request body for updating an existing webhook.
All fields are optional, including url. Only include fields you want to change: a field you leave out keeps its current value, and the defaults listed apply only on create. To remove the signing secret, send "secret": ""; the webhook is then delivered unsigned.
URL endpoint to receive webhook POST requests.
Must:
Be an absolute http:// or https:// URL with a host. Anything else is rejected with HTTP 422. Use HTTPS: over plain HTTP, event data travels unencrypted.
Be publicly accessible
Return 2xx status within 10 seconds
Handle duplicate deliveries (use eventId for idempotency)
Fire with the real-time list cleaning result of each email (Validation event, type 82). Needs the Real-Time List Cleaning add-on. Off unless set to true. On update, leaving this out keeps the current value. See Real-Time Validation Results.
Signing secret for this webhook. When set, every request to the webhook carries X-SendPost-Signature, the hex-encoded HMAC-SHA256 of the raw request body keyed with this secret. Without a secret, requests are sent unsigned; your Account API Key is never used for signing. Leading and trailing spaces are removed. On update, leaving this out keeps the current secret and "" removes it. See Webhook Signature Verification.
Narrow which Dropped reasons and Validation results this webhook receives. Leave out dropped or validated and everything in it stays on. Inside either object, list every key: a key you leave out counts as false. On update, this replaces the stored options, so send both objects if you use both. Not returned in webhook responses.
Show child attributes
Response
Webhook updated successfully.
Webhook configuration for receiving real-time email event notifications.
When events occur (delivery, open, click, bounce, etc.), SendPost sends
HTTP POST requests to your configured webhook URL.
Trigger webhook when recipient marks email as spam.
The recipient is automatically added to suppression list.
Monitor this closely - high spam rates damage sender reputation.
Trigger webhook with the real-time list cleaning result of each email (Validation event, type 82). Needs the Real-Time List Cleaning add-on. Only present in responses when true. See Real-Time Validation Results.
UNIX epoch timestamp in nanoseconds when the webhook was created
Example:
1704067200000000000
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SendPost Docs","colors":{"primary":"#5750EC","light":"#5750EC","dark":"#5750EC"},"logo":{"light":"https://mintcdn.com/sendx-43e2b6a9/xWJ6M32vFagLUxJg/logo/sendpost.svg?fit=max\u0026auto=format\u0026n=xWJ6M32vFagLUxJg\u0026q=85\u0026s=fc1d92fba901bca2cbab1ee394bc02ed","dark":"https://mintcdn.com/sendx-43e2b6a9/xWJ6M32vFagLUxJg/logo/sendpost.svg?fit=max\u0026auto=format\u0026n=xWJ6M32vFagLUxJg\u0026q=85\u0026s=fc1d92fba901bca2cbab1ee394bc02ed"},"favicon":"https://mintcdn.com/sendx-43e2b6a9/xWJ6M32vFagLUxJg/favicon.svg?fit=max\u0026auto=format\u0026n=xWJ6M32vFagLUxJg\u0026q=85\u0026s=49e9debc4f6238bdb21ed33aa69238f1","navbar":{"links":[{"href":"mailto:dev@sendpost.io","label":"Support"}],"primary":{"type":"button","label":"SendPost","href":"https://app.sendpost.io/"}},"footer":{"socials":{"github":"https://github.com/sendpost","linkedin":"https://www.linkedin.com/company/sendpost"}},"integrations":{"intercom":{"appId":"APP_ID"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sendx-43e2b6a9","hasAudioNarration":false,"actualSubdomain":"sendx-43e2b6a9","customDomains":["docs.sendpost.io"],"gitSource":{"type":"github","owner":"sendpost","repo":"sendpost-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6aec41183744ce14d0837e22","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Welcome","count":68},{"language":"default","tag":"API Reference","count":49},{"language":"default","tag":"Guides","count":39},{"language":"default","tag":"Quickstarts","count":22},{"language":"default","tag":"Webhook","count":10},{"language":"default","tag":"Amazon SES","count":7},{"language":"default","tag":"Custom SMTP","count":7},{"language":"default","tag":"SendGrid","count":7},{"language":"default","tag":"Common Use Cases","count":6},{"language":"default","tag":"IPPools","count":6}]},"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":"rbac-expansion","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":"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":"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":"editor-metadata","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":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/webhook/update-an-existing-webhook","slug":"/api-reference/webhook/update-an-existing-webhook","pageMetadata":{"openapi":"put /account/webhook/{webhook_id}","title":"Update Webhook","description":"Modify an existing webhook's configuration. Use this to change the endpoint URL or update which events trigger notifications.\n\nSend only the fields you want to change. Every field you leave out keeps its current value, so `{\"enabled\": false}` pauses the webhook without touching its URL or events.\n\n**What Can Be Updated:**\n- Webhook endpoint URL\n- Enabled/disabled events\n- Event-specific settings\n\n**Use Cases:**\n- Migrate to a new endpoint URL\n- Enable additional events as needs grow\n- Disable events to reduce traffic\n- Update after infrastructure changes\n","href":"/api-reference/webhook/update-an-existing-webhook"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Modify an existing webhook’s configuration. Use this to change the endpoint URL or update which events trigger notifications.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Send only the fields you want to change. Every field you leave out keeps its current value, so \", _jsx(_components.code, {\n children: \"{\\\"enabled\\\": false}\"\n }), \" pauses the webhook without touching its URL or events.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"What Can Be Updated:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Webhook endpoint URL\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Enabled/disabled events\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Event-specific settings\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Use Cases:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Migrate to a new endpoint URL\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Enable additional events as needs grow\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Disable events to reduce traffic\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Update after infrastructure changes\"\n }), \"\\n\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"put /account/webhook/{webhook_id}","title":"Update Webhook","description":"Modify an existing webhook's configuration. Use this to change the endpoint URL or update which events trigger notifications.\n\nSend only the fields you want to change. Every field you leave out keeps its current value, so `{\"enabled\": false}` pauses the webhook without touching its URL or events.\n\n**What Can Be Updated:**\n- Webhook endpoint URL\n- Enabled/disabled events\n- Event-specific settings\n\n**Use Cases:**\n- Migrate to a new endpoint URL\n- Enable additional events as needs grow\n- Disable events to reduce traffic\n- Update after infrastructure changes\n","href":"/api-reference/webhook/update-an-existing-webhook"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Update Webhook","description":"Modify an existing webhook's configuration. Use this to change the endpoint URL or update which events trigger notifications.\n\nSend only the fields you want to change. Every field you leave out keeps its current value, so `{\"enabled\": false}` pauses the webhook without touching its URL or events.\n\n**What Can Be Updated:**\n- Webhook endpoint URL\n- Enabled/disabled events\n- Event-specific settings\n\n**Use Cases:**\n- Migrate to a new endpoint URL\n- Enable additional events as needs grow\n- Disable events to reduce traffic\n- Update after infrastructure changes\n","operationId":"updateWebhook","tags":["Webhook"],"security":["bec861cc-bc1c-4c05-91a6-bdef9a14b2ed"],"parameters":["c8426fca-0255-402f-9797-84dd322117e7"],"requestBody":"e9385693-17e9-49f9-965e-a6b307f017e8","responses":{"200":"32c83329-0348-429e-aac5-0df87217de70","404":"cb96000e-6c40-4d9c-a6c6-e6ebf10a2ae7","422":"c8dd20a0-9114-43b8-bea6-d3db824ef4d6"},"method":"put","type":"path","servers":["3e2bf5d9-3b9c-4724-ba94-ee3efb46f2dc"],"path":"/account/webhook/{webhook_id}","baseUrlOptions":["https://api.sendpost.io/api/v1"],"title":"Update Webhook","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c8426fca-0255-402f-9797-84dd322117e7":{"name":"webhook_id","in":"path","required":true,"description":"The unique ID of the webhook to update.","schema":{"type":"integer","example":117,"isRequired":true,"description":"The unique ID of the webhook to update.","uniqueKey":"","typeLabel":"integer"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Request body for updating an existing webhook.\nAll fields are optional, including `url`. Only include fields you want to change: a field you leave out keeps its current value, and the defaults listed apply only on create. To remove the signing secret, send `\"secret\": \"\"`; the webhook is then delivered unsigned.\n","required":["url"],"example":{"enabled":true,"url":"https://app.hooli.com/api/webhooks/sendpost","delivered":true,"dropped":true,"hardBounced":true,"softBounced":true,"opened":true,"clicked":true,"unsubscribed":true,"spam":true},"properties":{"url":{"type":"string","format":"uri","description":"URL endpoint to receive webhook POST requests.\nMust:\n- Be an absolute `http://` or `https://` URL with a host. Anything else is rejected with HTTP 422. Use HTTPS: over plain HTTP, event data travels unencrypted.\n- Be publicly accessible\n- Return 2xx status within 10 seconds\n- Handle duplicate deliveries (use eventId for idempotency)\n","example":"https://app.hooli.com/api/webhooks/sendpost","isRequired":true,"uniqueKey":"url","typeLabel":"string\u003curi>"},"enabled":{"type":"boolean","description":"Whether the webhook is active immediately after creation.\nSet to false to configure and test before activating.\n","default":true,"example":true,"uniqueKey":"enabled","typeLabel":"boolean"},"processed":{"type":"boolean","description":"Fire when email is accepted by SendPost API","default":false,"example":false,"uniqueKey":"processed","typeLabel":"boolean"},"sent":{"type":"boolean","description":"Fire when email is sent to recipient's mail server","default":false,"example":false,"uniqueKey":"sent","typeLabel":"boolean"},"delivered":{"type":"boolean","description":"Fire when email is accepted by recipient's mail server","default":true,"example":true,"uniqueKey":"delivered","typeLabel":"boolean"},"dropped":{"type":"boolean","description":"Fire when email is not sent (suppression, invalid, etc.)","default":true,"example":true,"uniqueKey":"dropped","typeLabel":"boolean"},"smtpDropped":{"type":"boolean","description":"Fire when email is rejected at SMTP level","default":false,"example":false,"uniqueKey":"smtpDropped","typeLabel":"boolean"},"softBounced":{"type":"boolean","description":"Fire on temporary delivery failure (will retry)","default":true,"example":true,"uniqueKey":"softBounced","typeLabel":"boolean"},"hardBounced":{"type":"boolean","description":"Fire on permanent delivery failure","default":true,"example":true,"uniqueKey":"hardBounced","typeLabel":"boolean"},"opened":{"type":"boolean","description":"Fire when email is opened. Fires on EVERY open.\nConsider using `uniqueOpen` instead to reduce volume.\n","default":true,"example":true,"uniqueKey":"opened","typeLabel":"boolean"},"clicked":{"type":"boolean","description":"Fire when a link is clicked. Fires on EVERY click.\nConsider using `uniqueClick` instead to reduce volume.\n","default":true,"example":true,"uniqueKey":"clicked","typeLabel":"boolean"},"unsubscribed":{"type":"boolean","description":"Fire when recipient clicks unsubscribe link","default":true,"example":true,"uniqueKey":"unsubscribed","typeLabel":"boolean"},"spam":{"type":"boolean","description":"Fire when recipient marks email as spam","default":true,"example":true,"uniqueKey":"spam","typeLabel":"boolean"},"uniqueOpen":{"type":"boolean","description":"Fire only on FIRST open of each email (unique opens).\nMore efficient than `opened` if you only need engagement metrics.\n","default":false,"example":false,"uniqueKey":"uniqueOpen","typeLabel":"boolean"},"uniqueClick":{"type":"boolean","description":"Fire only on FIRST click of each email (unique clicks).\nMore efficient than `clicked` if you only need engagement metrics.\n","default":false,"example":false,"uniqueKey":"uniqueClick","typeLabel":"boolean"},"validated":{"type":"boolean","description":"Fire with the real-time list cleaning result of each email (Validation event, type 82). Needs the Real-Time List Cleaning add-on. Off unless set to true. On update, leaving this out keeps the current value. See [Real-Time Validation Results](/api-reference/webhook/validation-results).\n","example":false,"uniqueKey":"validated","typeLabel":"boolean"},"secret":{"type":"string","description":"Signing secret for this webhook. When set, every request to the webhook carries `X-SendPost-Signature`, the hex-encoded HMAC-SHA256 of the raw request body keyed with this secret. Without a secret, requests are sent unsigned; your Account API Key is never used for signing. Leading and trailing spaces are removed. On update, leaving this out keeps the current secret and `\"\"` removes it. See [Webhook Signature Verification](/api-reference/webhook/webhook-signature-verification).\n","example":"8f14e45fceea167a5a36dedd4bea2543","uniqueKey":"secret","typeLabel":"string"},"eventSubOptions":{"type":"object","description":"Narrow which Dropped reasons and Validation results this webhook receives. Leave out `dropped` or `validated` and everything in it stays on. Inside either object, list every key: a key you leave out counts as `false`. On update, this replaces the stored options, so send both objects if you use both. Not returned in webhook responses.\n","properties":{"dropped":{"type":"object","description":"Dropped (type 1) events by reason. Set a reason to `false` to stop receiving it.","properties":{"suppression":{"type":"boolean","description":"The address is on your suppression list.","uniqueKey":"eventSubOptions.dropped.suppression","typeLabel":"boolean"},"systemSuppression":{"type":"boolean","description":"The address already hard-bounced on SendPost.","uniqueKey":"eventSubOptions.dropped.systemSuppression","typeLabel":"boolean"},"blacklist":{"type":"boolean","description":"The address is on SendPost's blocklist.","uniqueKey":"eventSubOptions.dropped.blacklist","typeLabel":"boolean"},"typoDomain":{"type":"boolean","description":"The domain is a known typo domain.","uniqueKey":"eventSubOptions.dropped.typoDomain","typeLabel":"boolean"},"ipPoolCapacity":{"type":"boolean","description":"The IP pool's sending capacity was exceeded.","uniqueKey":"eventSubOptions.dropped.ipPoolCapacity","typeLabel":"boolean"},"subAccountBlocked":{"type":"boolean","description":"The sub-account or the sender domain is blocked.","uniqueKey":"eventSubOptions.dropped.subAccountBlocked","typeLabel":"boolean"},"internalError":{"type":"boolean","description":"Any other reason.","uniqueKey":"eventSubOptions.dropped.internalError","typeLabel":"boolean"}},"uniqueKey":"eventSubOptions.dropped","typeLabel":"object"},"validated":{"type":"object","description":"Validation (type 82) events by result. Set a result to `false` to stop receiving it.","properties":{"valid":{"type":"boolean","uniqueKey":"eventSubOptions.validated.valid","typeLabel":"boolean"},"invalid":{"type":"boolean","uniqueKey":"eventSubOptions.validated.invalid","typeLabel":"boolean"},"catchAll":{"type":"boolean","description":"Results with `validationStatus` \"catch all\".","uniqueKey":"eventSubOptions.validated.catchAll","typeLabel":"boolean"},"unknown":{"type":"boolean","uniqueKey":"eventSubOptions.validated.unknown","typeLabel":"boolean"}},"uniqueKey":"eventSubOptions.validated","typeLabel":"object"}},"uniqueKey":"eventSubOptions","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"enabled":true,"url":"https://app.hooli.com/api/webhooks/sendpost","delivered":true,"dropped":true,"hardBounced":true,"softBounced":true,"opened":true,"clicked":true,"unsubscribed":true,"spam":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"32c83329-0348-429e-aac5-0df87217de70":{"description":"Webhook updated successfully.","content":{"application/json":{"schema":{"type":"object","description":"Webhook configuration for receiving real-time email event notifications.\nWhen events occur (delivery, open, click, bounce, etc.), SendPost sends\nHTTP POST requests to your configured webhook URL.\n\n**Best Practices:**\n- Use HTTPS endpoints for security\n- Respond with 2xx status within 10 seconds\n- Implement idempotency using eventId\n- Verify webhook signatures (see documentation)\n","properties":{"id":{"type":"integer","format":"int64","description":"Unique identifier for the webhook configuration","example":117,"uniqueKey":"id","typeLabel":"integer\u003cint64>"},"enabled":{"type":"boolean","description":"Whether the webhook is active. When false, no events will be sent to this webhook.\nUseful for temporarily pausing notifications during maintenance.\n","example":true,"uniqueKey":"enabled","typeLabel":"boolean"},"url":{"type":"string","format":"uri","description":"HTTPS endpoint URL to receive webhook POST requests.\nMust be publicly accessible and return 2xx status code.\n","example":"https://app.hooli.com/api/webhooks/sendpost","uniqueKey":"url","typeLabel":"string\u003curi>"},"processed":{"type":"boolean","description":"Trigger webhook when an email is accepted for processing.\nFires immediately when API call is successful.\n","example":true,"uniqueKey":"processed","typeLabel":"boolean"},"sent":{"type":"boolean","description":"Trigger webhook when an email is sent to the recipient's mail server.\nIndicates the email left SendPost's infrastructure.\n","example":true,"uniqueKey":"sent","typeLabel":"boolean"},"dropped":{"type":"boolean","description":"Trigger webhook when an email is dropped before sending.\nCommon reasons: suppressed address, invalid email, unverified domain.\n","example":true,"uniqueKey":"dropped","typeLabel":"boolean"},"smtpDropped":{"type":"boolean","description":"Trigger webhook when an email is dropped at SMTP level.\nUsually due to policy rejection by receiving server.\n","example":false,"uniqueKey":"smtpDropped","typeLabel":"boolean"},"delivered":{"type":"boolean","description":"Trigger webhook when an email is successfully delivered.\nNote: \"Delivered\" means accepted by mail server, not inbox placement.\n","example":true,"uniqueKey":"delivered","typeLabel":"boolean"},"softBounced":{"type":"boolean","description":"Trigger webhook on temporary delivery failure (soft bounce).\nSendPost will retry delivery automatically.\n","example":true,"uniqueKey":"softBounced","typeLabel":"boolean"},"hardBounced":{"type":"boolean","description":"Trigger webhook on permanent delivery failure (hard bounce).\nThe recipient is automatically added to suppression list.\n","example":true,"uniqueKey":"hardBounced","typeLabel":"boolean"},"opened":{"type":"boolean","description":"Trigger webhook when recipient opens the email.\nFires on every open (can fire multiple times per email).\n","example":true,"uniqueKey":"opened","typeLabel":"boolean"},"clicked":{"type":"boolean","description":"Trigger webhook when recipient clicks a link.\nFires on every click (can fire multiple times per email).\n","example":true,"uniqueKey":"clicked","typeLabel":"boolean"},"unsubscribed":{"type":"boolean","description":"Trigger webhook when recipient clicks the unsubscribe link.\nThe recipient is automatically added to suppression list.\n","example":true,"uniqueKey":"unsubscribed","typeLabel":"boolean"},"spam":{"type":"boolean","description":"Trigger webhook when recipient marks email as spam.\nThe recipient is automatically added to suppression list.\nMonitor this closely - high spam rates damage sender reputation.\n","example":true,"uniqueKey":"spam","typeLabel":"boolean"},"uniqueOpen":{"type":"boolean","description":"Trigger webhook only on the first open of an email (unique opens).\nUse this instead of 'opened' if you only care about unique engagement.\n","example":false,"uniqueKey":"uniqueOpen","typeLabel":"boolean"},"uniqueClick":{"type":"boolean","description":"Trigger webhook only on the first click of an email (unique clicks).\nUse this instead of 'clicked' if you only care about unique engagement.\n","example":false,"uniqueKey":"uniqueClick","typeLabel":"boolean"},"validated":{"type":"boolean","description":"Trigger webhook with the real-time list cleaning result of each email (Validation event, type 82). Needs the Real-Time List Cleaning add-on. Only present in responses when true. See [Real-Time Validation Results](/api-reference/webhook/validation-results).\n","example":true,"uniqueKey":"validated","typeLabel":"boolean"},"status":{"type":"string","description":"Health status of the webhook (read-only):\n- `active` - delivering normally\n- `degraded` - recent delivery failures\n- `disabled` - auto-disabled after repeated consecutive failures\n","enum":["active","degraded","disabled"],"example":"active","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"disabledAt":{"type":"integer","format":"int64","description":"UNIX epoch timestamp in nanoseconds when the webhook was auto-disabled (0 if never). Read-only.","example":0,"uniqueKey":"disabledAt","typeLabel":"integer\u003cint64>"},"disabledReason":{"type":"string","description":"Human-readable reason the webhook was auto-disabled (empty if active). Read-only.","example":"","uniqueKey":"disabledReason","typeLabel":"string"},"created":{"type":"integer","format":"int64","description":"UNIX epoch timestamp in nanoseconds when the webhook was created","example":1704067200000000000,"uniqueKey":"created","typeLabel":"integer\u003cint64>"}},"example":{"id":117,"enabled":true,"url":"https://app.hooli.com/api/webhooks/sendpost","processed":false,"sent":false,"dropped":true,"smtpDropped":false,"delivered":true,"softBounced":true,"hardBounced":true,"opened":true,"clicked":true,"unsubscribed":true,"spam":true,"uniqueOpen":false,"uniqueClick":false,"created":1704067200000000000},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":117,"enabled":true,"url":"https://app.hooli.com/api/webhooks/sendpost","processed":false,"sent":false,"dropped":true,"smtpDropped":false,"delivered":true,"softBounced":true,"hardBounced":true,"opened":true,"clicked":true,"unsubscribed":true,"spam":true,"uniqueOpen":false,"uniqueClick":false,"created":1704067200000000000}}},"exampleType":"generated"}},"exampleType":"generated"},"cb96000e-6c40-4d9c-a6c6-e6ebf10a2ae7":{"description":"Not found. No webhook with this ID on your account.","content":{"application/json":{"schema":{"type":"object","description":"Error body returned by the webhook endpoints.","properties":{"error":{"type":"string","description":"Why the request failed.","example":"url must be an absolute http:// or https:// URL","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"url must be an absolute http:// or https:// URL"}}},"exampleType":"generated"}},"exampleType":"generated"},"c8dd20a0-9114-43b8-bea6-d3db824ef4d6":{"description":"Unprocessable entity. The new `url` isn't an absolute `http://` or `https://` URL, or the body isn't valid JSON. Nothing is changed.","content":{"application/json":{"schema":{"type":"object","description":"Error body returned by the webhook endpoints.","properties":{"error":{"type":"string","description":"Why the request failed.","example":"url must be an absolute http:// or https:// URL","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"url must be an absolute http:// or https:// URL"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"bec861cc-bc1c-4c05-91a6-bdef9a14b2ed":{"accountAuth":{"type":"apiKey","in":"header","name":"X-Account-ApiKey","description":"This api key can be used for all account level operations","scopes":[],"schemeName":"accountAuth"}}},"servers":{"3e2bf5d9-3b9c-4724-ba94-ee3efb46f2dc":{"url":"https://api.sendpost.io/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Account-ApiKey","description":"This api key can be used for all account level operations","scopes":[],"schemeName":"accountAuth"},"schema":{"title":"X-Account-ApiKey","type":"string","description":"This api key can be used for all account level operations","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"accountAuth","name":"X-Account-ApiKey"}],"title":"accountAuth"}]},"originalFileLocation":"swagger.yaml"},"subdomain":"sendx-43e2b6a9","siteName":"SendPost Docs","title":"Update Webhook - SendPost Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T09:59:55.137Z","originalFileLocation":"api-reference/webhook/update-an-existing-webhook.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=\"Modify an existing webhook\u0026#x27;s configuration. Use this to change the endpoint URL or update which events trigger notifications. Send only the fields you want to change. Every field you leave out keeps its current value, so {\u0026quot;enabled\u0026quot;: false} pauses the webhook without touching its URL or events. What Can Be Updated: - Webhook endpoint URL - Enabled/disabled events - Event-specific settings Use Cases: - Migrate to a new endpoint URL - Enable additional events as needs grow - Disable events to reduce traffic - Update after infrastructure changes\">\u003cmeta data-mint-head name=\"application-name\" content=\"SendPost 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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Webhook - SendPost Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Modify an existing webhook\u0026#x27;s configuration. Use this to change the endpoint URL or update which events trigger notifications. Send only the fields you want to change. Every field you leave out keeps its current value, so {\u0026quot;enabled\u0026quot;: false} pauses the webhook without touching its URL or events. What Can Be Updated: - Webhook endpoint URL - Enabled/disabled events - Event-specific settings Use Cases: - Migrate to a new endpoint URL - Enable additional events as needs grow - Disable events to reduce traffic - Update after infrastructure changes\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SendPost Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sendx-43e2b6a9.mintlify.site/_mintlify/api/og/v2?division=Webhook\u0026amp;title=Update+Webhook\u0026amp;description=Modify+an+existing+webhook%27s+configuration.+Use+this+to+change+the+endpoint+URL+or+update+which+events+trigger+notifications.%0A%0ASend+only+the+fields+you+want+to+\u0026amp;theme=bbc40d8888efa2c040ca1aaf\u0026amp;signature=21004186a1df57353eb799e5f3565bb9a0dfb65534499fd522f38b3a0ca8a59a\">\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 - SendPost Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Modify an existing webhook\u0026#x27;s configuration. Use this to change the endpoint URL or update which events trigger notifications. Send only the fields you want to change. Every field you leave out keeps its current value, so {\u0026quot;enabled\u0026quot;: false} pauses the webhook without touching its URL or events. What Can Be Updated: - Webhook endpoint URL - Enabled/disabled events - Event-specific settings Use Cases: - Migrate to a new endpoint URL - Enable additional events as needs grow - Disable events to reduce traffic - Update after infrastructure changes\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sendx-43e2b6a9.mintlify.site/_mintlify/api/og/v2?division=Webhook\u0026amp;title=Update+Webhook\u0026amp;description=Modify+an+existing+webhook%27s+configuration.+Use+this+to+change+the+endpoint+URL+or+update+which+events+trigger+notifications.%0A%0ASend+only+the+fields+you+want+to+\u0026amp;theme=bbc40d8888efa2c040ca1aaf\u0026amp;signature=21004186a1df57353eb799e5f3565bb9a0dfb65534499fd522f38b3a0ca8a59a\">\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/sendx-43e2b6a9/gASVnBX9Wp6ly5V-/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SendPost Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5750EC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/webhook/update-an-existing-webhook.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sendpost.io/#organization\",\"name\":\"SendPost Docs\",\"url\":\"https://docs.sendpost.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sendx-43e2b6a9/xWJ6M32vFagLUxJg/logo/sendpost.svg?fit=max\u0026auto=format\u0026n=xWJ6M32vFagLUxJg\u0026q=85\u0026s=fc1d92fba901bca2cbab1ee394bc02ed\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sendpost.io#website\",\"name\":\"SendPost Docs\",\"url\":\"https://docs.sendpost.io\",\"publisher\":{\"@id\":\"https://docs.sendpost.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook#webpage\",\"url\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook\",\"name\":\"Update Webhook\",\"description\":\"Modify an existing webhook's configuration. Use this to change the endpoint URL or update which events trigger notifications. Send only the fields you want to change. Every field you leave out keeps its current value, so {\\\"enabled\\\": false} pauses the webhook without touching its URL or events. What Can Be Updated: - Webhook endpoint URL - Enabled/disabled events - Event-specific settings Use Cases: - Migrate to a new endpoint URL - Enable additional events as needs grow - Disable events to reduce traffic - Update after infrastructure changes\",\"dateModified\":\"2026-10-22T09:59:55.137Z\",\"isPartOf\":{\"@id\":\"https://docs.sendpost.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Webhook\",\"item\":\"https://docs.sendpost.io/api-reference/webhook/webhook-testing\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update Webhook\",\"item\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook#apireference\",\"headline\":\"Update Webhook\",\"name\":\"Update Webhook\",\"description\":\"Modify an existing webhook's configuration. Use this to change the endpoint URL or update which events trigger notifications. Send only the fields you want to change. Every field you leave out keeps its current value, so {\\\"enabled\\\": false} pauses the webhook without touching its URL or events. What Can Be Updated: - Webhook endpoint URL - Enabled/disabled events - Event-specific settings Use Cases: - Migrate to a new endpoint URL - Enable additional events as needs grow - Disable events to reduce traffic - Update after infrastructure changes\",\"url\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sendpost.io/api-reference/webhook/update-an-existing-webhook#webpage\"},\"dateModified\":\"2026-10-22T09:59:55.137Z\",\"publisher\":{\"@id\":\"https://docs.sendpost.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sendpost.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SendPost Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SendPost Docs","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":""}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"API Versioning \u0026 Migration","href":"/api-reference/api-versioning"},{"title":"Changelog","href":"/api-reference/changelog"}]},{"group":"Email","pages":[{"openapi":"post /subaccount/email/","title":"Send Email","href":"/api-reference/email/send-email"},{"openapi":"post /subaccount/email/template","title":"Send Email With Template","href":"/api-reference/email/send-email-with-template"}]},{"group":"Domain","pages":[{"openapi":"get /subaccount/domain/{domain_id}","title":"Get Domain","href":"/api-reference/domain/get-a-specific-domain"},{"openapi":"delete /subaccount/domain/{domain_id}","title":"Delete Domain","href":"/api-reference/domain/delete-a-specific-domain"},{"openapi":"get /subaccount/domain","title":"List Domains","href":"/api-reference/domain/get-all-domains"},{"openapi":"post /subaccount/domain","title":"Create Domain","href":"/api-reference/domain/create-a-new-domain"}]},{"group":"Stats","pages":[{"openapi":"get /account/subaccount/stat/{subaccount_id}","title":"List Stats","href":"/api-reference/stats/get-all-stats"},{"openapi":"get /account/subaccount/stat/{subaccount_id}/aggregate","title":"Get Aggregate Stats","href":"/api-reference/stats/get-aggregate-stats"},{"openapi":"get /account/subaccount/stat/{subaccount_id}/group","title":"Get Group Aggregate Stats","href":"/api-reference/stats/get-aggregated-stats-by-group"}]},{"group":"Suppression","pages":[{"openapi":"get /subaccount/suppression","title":"List Suppressions","href":"/api-reference/suppression/get-all-suppressions"},{"openapi":"post /subaccount/suppression","title":"Create Suppressions","href":"/api-reference/suppression/create-new-suppressions"},{"openapi":"delete /subaccount/suppression","title":"Delete Suppressions","href":"/api-reference/suppression/delete-suppressions"}]},{"group":"IP","pages":[{"openapi":"get /account/ip/","title":"List IPs","href":"/api-reference/ip/get-all-ips"},{"openapi":"get /account/ip/{ip_id}","title":"Get IP","href":"/api-reference/ip/get-a-specific-ip"},{"openapi":"put /account/ip/{ip_id}","title":"Update IP","href":"/api-reference/ip/update-an-existing-ip"},{"openapi":"delete /account/ip/{ip_id}","title":"Delete IP","href":"/api-reference/ip/delete-a-specific-ip"},{"openapi":"put /account/ip/allocate","title":"Allocate IP","href":"/api-reference/ip/allocate-a-new-ip"}]},{"group":"Message","pages":[{"openapi":"get /account/message/{message_id}","title":"Get Message","href":"/api-reference/message/retrieve-a-specific-message"}]},{"group":"IPPools","pages":[{"title":"Routing Strategies and Metadata","href":"/api-reference/ippools/routing"},{"openapi":"get /account/ippool","title":"List IPPools","href":"/api-reference/ippools/get-all-ippools"},{"openapi":"post /account/ippool","title":"Create IPPool","href":"/api-reference/ippools/create-a-new-ippool"},{"openapi":"get /account/ippool/{ippool_id}","title":"Get IPPool","href":"/api-reference/ippools/get-a-specific-ippool"},{"openapi":"put /account/ippool/{ippool_id}","title":"Update IPPool","href":"/api-reference/ippools/update-an-existing-ippool"},{"openapi":"delete /account/ippool/{ippool_id}","title":"Delete IPPool","href":"/api-reference/ippools/delete-a-specific-ippool"}]},{"group":"Stats (A)","pages":[{"openapi":"get /account/stat","title":"List Account Stats","href":"/api-reference/stats-a/get-all-account-stats"},{"openapi":"get /account/stat/aggregate","title":"Get Account Aggregate Stats","href":"/api-reference/stats-a/get-account-aggregate-stats"},{"openapi":"get /account/stat/group","title":"List Account Group Stats","href":"/api-reference/stats-a/get-all-account-stats-by-group"},{"openapi":"get /account/stat/aggregate/group","title":"Get Account Group Aggregate Stats","href":"/api-reference/stats-a/get-account-aggregate-stats-by-group"}]},{"group":"Sub-Account","pages":[{"openapi":"get /account/subaccount/","title":"List Sub-Accounts","href":"/api-reference/sub-account/get-all-sub-accounts"},{"openapi":"post /account/subaccount/","title":"Create Sub-Account","href":"/api-reference/sub-account/create-a-new-sub-account"},{"openapi":"get /account/subaccount/{subaccount_id}","title":"Get Sub-Account","href":"/api-reference/sub-account/get-a-specific-sub-account"},{"openapi":"put /account/subaccount/{subaccount_id}","title":"Update Sub-Account","href":"/api-reference/sub-account/update-an-existing-sub-account"},{"openapi":"delete /account/subaccount/{subaccount_id}","title":"Delete Sub-Account","href":"/api-reference/sub-account/delete-a-specific-sub-account"}]},{"group":"Webhook","pages":[{"title":"Webhook Reference","href":"/api-reference/webhook/webhook-testing"},{"title":"Understanding Webhook Event Lifecycle","href":"/api-reference/webhook/understanding-webhook-event-lifecycle"},{"title":"Real-Time Validation Results","href":"/api-reference/webhook/validation-results"},{"title":"Webhook Signature Verification","href":"/api-reference/webhook/webhook-signature-verification"},{"openapi":"get /account/webhook","title":"List Webhooks","href":"/api-reference/webhook/get-all-webhooks"},{"openapi":"post /account/webhook","title":"Create Webhook","href":"/api-reference/webhook/create-a-new-webhook"},{"openapi":"get /account/webhook/{webhook_id}","title":"Get Webhook","description":"Retrieve detailed information about a specific webhook, including its endpoint URL and enabled events.\n\n**Use Cases:**\n- Verify webhook configuration\n- Debug event delivery issues\n- Check enabled events for a webhook\n- Audit webhook settings\n","href":"/api-reference/webhook/get-a-specific-webhook"},{"openapi":"put /account/webhook/{webhook_id}","title":"Update Webhook","href":"/api-reference/webhook/update-an-existing-webhook"},{"openapi":"delete /account/webhook/{webhook_id}","title":"Delete Webhook","description":"Remove a webhook from your account. After deletion, no further events will be sent to that endpoint.\n\n**Before Deleting:**\n- Ensure your application doesn't rely on these events\n- Consider updating to a new webhook instead if you're migrating\n\n**Note:** Events that occurred before deletion are not affected. Historical data remains intact.\n","href":"/api-reference/webhook/delete-a-specific-webhook"},{"openapi":"webhook SendPostWebhooks","title":"SendPost Webhook Object","href":"/api-reference/webhook/sendpost-webhook-object"}]}]}]},"basePath":"","title":"Update Webhook - SendPost Docs","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}