Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.
One webhook covers your whole partner account. The owner, or whoever manages the clients, sets it in the console under Clients → API and webhook, Webhook: an HTTPS URL and a signing secret, revealed on demand and rotatable there and nowhere else. Which events reach it is a subscription you choose in the console or with PUT /v1/partner/webhook; the catalogue, the defaults and the opt-in events are on the Events page, together with the feed you can poll instead of running a webhook at all.Client applications have no per-application webhook. Their verification.* events reach your partner webhook instead, with your external_id in the data, once you opt in.
GET /v1/partner/webhook answers the URL, whether a secret exists, the low-balance threshold, the events that reach the URL, the default set and every event you may subscribe to. The secret is never returned. PUT /v1/partner/webhook takes events and low_balance_threshold_halalas; a body naming url or secret is refused with a message pointing at the console.
GET /v1/partner/webhook/deliveries is the Delivery log the console shows under Clients → API and webhook, newest first: every webhook call with its status (pending, delivered, failed), the attempts so far, the last response code or error, and the next attempt when one is scheduled. Filter by status and event, page with cursor. POST /v1/partner/webhook/deliveries/{id}/retry gives a failed delivery one more attempt, to the URL configured now and with a fresh signature; anything but failed answers 409 not_retryable with the current status.
Every delivery carries tawked-timestamp (milliseconds since the epoch, the same value as sent_at), tawked-signature (hex HMAC-SHA256 of "{timestamp}.{raw body}" with your secret), tawked-event and tawked-webhook-id (the event’s id, the same on every retry and on a delivery retried by hand). Compute the HMAC over the raw request body before parsing it, compare in constant time, and reject timestamps older than a few minutes. The code on the Webhooks page works unchanged with your partner secret.Delivery retries on anything but a 2xx within 5 seconds: 5 attempts in all, right away and then after 1 minute, 5 minutes, 30 minutes and 2 hours, each wait counted from the attempt before it. A timeout, a failed connection and a redirect count as failures too. Answer 2xx quickly and do your own work after acknowledging, or the delivery is retried. After the fifth failure the delivery is failed until you retry it. Deliveries are not ordered and can repeat, so make your handler idempotent on the tawked-webhook-id header (or on event together with the ids in data), and compare states rather than trusting arrival order. Webhooks has the schedule as a table.
balance.low fires once per crossing: on the charge whose before and after straddle your threshold, and again only after a top-up lifts the balance back above it. A threshold of 0 turns the alert off. Keep it high enough for a top-up to land before the balance reaches zero, since a send with an empty balance answers 402 insufficient_credits.
Last modified on October 20, 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tawked","description":"Tawked developer docs: one-time codes by SMS with Tawked Verify, WhatsApp template messages from your own number with Tawked Notifications, replies in Tawked Chat, transactional e-mail from your own domain with Tawked Email, the Partner API for platforms, and the store integrations.","colors":{"primary":"#2563EB","light":"#60A5FA","dark":"#1D4ED8"},"logo":{"light":"https://mintcdn.com/tawked/Vn57enlu2GVgFv-J/logo/light.svg?fit=max\u0026auto=format\u0026n=Vn57enlu2GVgFv-J\u0026q=85\u0026s=353a0cedb91848c1296f205d3552fcca","dark":"https://mintcdn.com/tawked/Vn57enlu2GVgFv-J/logo/dark.svg?fit=max\u0026auto=format\u0026n=Vn57enlu2GVgFv-J\u0026q=85\u0026s=55027020324a6f5ac4b2608dbd1f8b9f","href":"https://tawked.com"},"favicon":"https://mintcdn.com/tawked/Vn57enlu2GVgFv-J/favicon.svg?fit=max\u0026auto=format\u0026n=Vn57enlu2GVgFv-J\u0026q=85\u0026s=a021d3b38b58bccc6b7b81a1b83946ee","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","php","python"]}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://tawked.com/en/contact","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://tawked.com/en/login"}},"footer":{"socials":{"x":"https://x.com/tawkeds"},"links":[{"header":"Products","items":[{"label":"Tawked Verify","href":"https://tawked.com/en/verify"},{"label":"Tawked Notifications","href":"https://tawked.com/en/whatsapp"},{"label":"Tawked Chat","href":"https://tawked.com/en/chat"},{"label":"The Salla app","href":"https://tawked.com/en/salla"},{"label":"Pricing","href":"https://tawked.com/en/pricing"},{"label":"Status","href":"https://tawked.com/en/status"}]},{"header":"Machine-readable","items":[{"label":"OpenAPI","href":"https://tawked.com/openapi.json"},{"label":"Docs MCP server","href":"https://docs.tawked.com/agents"},{"label":"llms.txt","href":"https://docs.tawked.com/llms.txt"},{"label":"skill.md","href":"https://docs.tawked.com/skill.md"},{"label":"Changelog RSS","href":"https://docs.tawked.com/changelog/rss.xml"}]},{"header":"Legal","items":[{"label":"Terms","href":"https://tawked.com/en/terms"},{"label":"Privacy","href":"https://tawked.com/en/privacy"}]}]},"search":{"prompt":"Search the Tawked docs"},"seo":{"metatags":{"og:site_name":"Tawked developer docs","og:image":"https://tawked.com/og/developer-docs-en.png?v=27df06570d","og:image:type":"image/png","og:image:width":"1200","og:image:height":"630","og:image:alt":"Tawked developer docs. Verify, WhatsApp, Chat, Email and the Account API","twitter:card":"summary_large_image","twitter:image":"https://tawked.com/og/developer-docs-en.png?v=27df06570d"},"indexing":"all"},"fonts":{"family":"Figtree"},"styling":{"eyebrows":"section","codeblocks":"dark","latex":false},"errors":{"404":{"redirect":false,"title":"This page is not here","description":"It may have moved. Search the docs, or start from the [overview](/)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","add-mcp","cursor","vscode","download-spec"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"signal","href":"https://tawked.com/en/status"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tawked","hasAudioNarration":false,"actualSubdomain":"tawked","customDomains":["docs.tawked.com"],"gitSource":{"type":"github","owner":"snoker87","repo":"tawked","deployBranch":"main","contentDirectory":"docs/site","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae5f6a33d1d28d235826841","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Account API","count":413},{"language":"default","tag":"Operations","count":403},{"language":"default","tag":"API reference","count":133},{"language":"default","tag":"radeef","count":65},{"language":"default","tag":"email","count":58},{"language":"default","tag":"Email","count":53},{"language":"default","tag":"Webhooks","count":50},{"language":"default","tag":"Guides","count":44},{"language":"default","tag":"whatsapp","count":43},{"language":"default","tag":"campaigns","count":32}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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}],"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":":root{--tawked-radius: 0.75rem}.card,[class*=\"card\"]{border-radius:var(--tawked-radius)}.callout{border-radius:var(--tawked-radius)}.code-block,pre{border-radius:var(--tawked-radius)}code:not(pre code){font-size:0.9em}.method-pill,[class*=\"method\"]>span{border-radius:9999px}table td:first-child,table th:first-child{white-space:nowrap;width:1%}table td code{white-space:nowrap}"}],"page":{"pagePath":"partners/webhooks","slug":"/partners/webhooks","pageMetadata":{"title":"Partner webhooks","description":"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.","href":"/partners/webhooks"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`One webhook covers your whole partner account. The owner, or whoever manages the clients, sets it in the console under `,_jsx(_components.strong,{children:`Clients → API and webhook`}),`, `,_jsx(_components.strong,{children:`Webhook`}),`: an HTTPS URL and a signing secret, revealed on demand and rotatable there and nowhere else. Which events reach it is a subscription you choose in the console or with `,_jsx(_components.a,{href:`/api-reference/partner/update-the-webhook`,children:_jsx(_components.code,{children:`PUT /v1/partner/webhook`})}),`; the catalogue, the defaults and the opt-in events are on the `,_jsx(_components.a,{href:`/partners/events`,children:`Events`}),` page, together with the feed you can poll instead of running a webhook at all.`]}),`\n`,_jsxs(_components.p,{children:[`Client applications have no per-application webhook. Their `,_jsx(_components.code,{children:`verification.*`}),` events reach your partner webhook instead, with your `,_jsx(_components.code,{children:`external_id`}),` in the data, once you opt in.`]}),`\n`,_jsx(Heading,{level:`2`,id:`reading-the-configuration`,children:`Reading the configuration`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/partner/get-the-webhook`,children:_jsx(_components.code,{children:`GET /v1/partner/webhook`})}),` answers the URL, whether a secret exists, the low-balance threshold, the events that reach the URL, the default set and every event you may subscribe to. The secret is never returned. `,_jsx(_components.a,{href:`/api-reference/partner/update-the-webhook`,children:_jsx(_components.code,{children:`PUT /v1/partner/webhook`})}),` takes `,_jsx(_components.code,{children:`events`}),` and `,_jsx(_components.code,{children:`low_balance_threshold_halalas`}),`; a body naming `,_jsx(_components.code,{children:`url`}),` or `,_jsx(_components.code,{children:`secret`}),` is refused with a message pointing at the console.`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-envelope`,children:`The envelope`}),`\n`,_jsx(_components.p,{children:`The same envelope as every Tawked webhook:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"event\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"service.approved\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"service_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"c2a10f3e-8b7a-4d2e-9c1a-1a2b3c4d5e6f\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"application_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"c2a10f3e-8b7a-4d2e-9c1a-1a2b3c4d5e6f\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"external_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"store_88\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"active\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"sent_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"1788265862201\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Two more, as they arrive:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`12`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"event\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"service.rejected\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"service_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"c2a10f3e-8b7a-4d2e-9c1a-1a2b3c4d5e6f\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"application_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"c2a10f3e-8b7a-4d2e-9c1a-1a2b3c4d5e6f\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"external_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"store_88\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"rejected\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"reason\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"اسم يشبه علامة محمية\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"reason_code\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"protected_brand\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"sent_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"1789000000000\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"event\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"balance.low\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"data\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"balance_halalas\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`4200`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"threshold_halalas\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`10000`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"sent_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"1789000000000\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`deliveries`,children:`Deliveries`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/partner/list-deliveries`,children:_jsx(_components.code,{children:`GET /v1/partner/webhook/deliveries`})}),` is the `,_jsx(_components.strong,{children:`Delivery log`}),` the console shows under `,_jsx(_components.strong,{children:`Clients → API and webhook`}),`, newest first: every webhook call with its `,_jsx(_components.code,{children:`status`}),` (`,_jsx(_components.code,{children:`pending`}),`, `,_jsx(_components.code,{children:`delivered`}),`, `,_jsx(_components.code,{children:`failed`}),`), the `,_jsx(_components.code,{children:`attempts`}),` so far, the last response code or error, and the next attempt when one is scheduled. Filter by `,_jsx(_components.code,{children:`status`}),` and `,_jsx(_components.code,{children:`event`}),`, page with `,_jsx(_components.code,{children:`cursor`}),`. `,_jsx(_components.a,{href:`/api-reference/partner/retry-a-delivery`,children:_jsx(_components.code,{children:`POST /v1/partner/webhook/deliveries/{id}/retry`})}),` gives a failed delivery one more attempt, to the URL configured now and with a fresh signature; anything but `,_jsx(_components.code,{children:`failed`}),` answers `,_jsx(_components.code,{children:`409 not_retryable`}),` with the current `,_jsx(_components.code,{children:`status`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"7e3c5d9b-0a4f-4c1e-9b8d-2f6a1c3e5d7b\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"event\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"service.suspended\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"status\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"failed\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"attempts\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"last_status_code\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#B5CEA8`,\"--shiki-dark\":`#B5CEA8`},children:`500`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"last_error\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"http_500\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"next_attempt_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"delivered_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`\"created_at\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-26T10:00:00.000Z\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"next_cursor\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`signature-and-retries`,children:`Signature and retries`}),`\n`,_jsxs(_components.p,{children:[`Every delivery carries `,_jsx(_components.code,{children:`tawked-timestamp`}),` (milliseconds since the epoch, the same value as `,_jsx(_components.code,{children:`sent_at`}),`), `,_jsx(_components.code,{children:`tawked-signature`}),` (hex HMAC-SHA256 of `,_jsx(_components.code,{children:`\"{timestamp}.{raw body}\"`}),` with your secret), `,_jsx(_components.code,{children:`tawked-event`}),` and `,_jsx(_components.code,{children:`tawked-webhook-id`}),` (the event’s id, the same on every retry and on a delivery retried by hand). Compute the HMAC over the raw request body before parsing it, compare in constant time, and reject timestamps older than a few minutes. The code on the `,_jsx(_components.a,{href:`/webhooks#verifying-the-signature`,children:`Webhooks`}),` page works unchanged with your partner secret.`]}),`\n`,_jsxs(_components.p,{children:[`Delivery retries on anything but a `,_jsx(_components.code,{children:`2xx`}),` within 5 seconds: 5 attempts in all, right away and then after 1 minute, 5 minutes, 30 minutes and 2 hours, each wait counted from the attempt before it. A timeout, a failed connection and a redirect count as failures too. Answer `,_jsx(_components.code,{children:`2xx`}),` quickly and do your own work after acknowledging, or the delivery is retried. After the fifth failure the delivery is `,_jsx(_components.code,{children:`failed`}),` until you retry it. Deliveries are not ordered and can repeat, so make your handler idempotent on the `,_jsx(_components.code,{children:`tawked-webhook-id`}),` header (or on `,_jsx(_components.code,{children:`event`}),` together with the ids in `,_jsx(_components.code,{children:`data`}),`), and compare states rather than trusting arrival order. `,_jsx(_components.a,{href:`/webhooks#retries`,children:`Webhooks`}),` has the schedule as a table.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`balance.low`}),` fires once per crossing: on the charge whose before and after straddle your threshold, and again only after a top-up lifts the balance back above it. A threshold of 0 turns the alert off. Keep it high enough for a top-up to land before the balance reaches zero, since a send with an empty balance answers `,_jsx(_components.code,{children:`402 insufficient_credits`}),`.`]})})]})}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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Partner webhooks","description":"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.","href":"/partners/webhooks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Reading the configuration","slug":"reading-the-configuration","depth":2,"children":[]},{"title":"The envelope","slug":"the-envelope","depth":2,"children":[]},{"title":"Deliveries","slug":"deliveries","depth":2,"children":[]},{"title":"Signature and retries","slug":"signature-and-retries","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tawked","siteName":"Tawked","title":"Partner webhooks - Tawked","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-20T18:10:52.953Z","gitLastModified":"2026-10-20T21:03:25.000Z","originalFileLocation":"partners/webhooks.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=\"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tawked\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_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/tawked/1Q4IItpqEOP1_JUm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Partner webhooks - Tawked\">\u003cmeta data-mint-head property=\"og:description\" content=\"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tawked developer docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tawked.com/partners/webhooks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tawked.com/og/developer-docs-en.png?v=27df06570d\">\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=\"Partner webhooks - Tawked\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tawked.com/og/developer-docs-en.png?v=27df06570d\">\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/tawked/1Q4IItpqEOP1_JUm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tawked\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2563EB\">\u003cmeta data-mint-head name=\"og:image:type\" content=\"image/png\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Tawked developer docs. Verify, WhatsApp, Chat, Email and the Account API\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tawked.com/partners/webhooks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/partners/webhooks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tawked.com/#organization\",\"name\":\"Tawked\",\"url\":\"https://docs.tawked.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tawked/Vn57enlu2GVgFv-J/logo/light.svg?fit=max\u0026auto=format\u0026n=Vn57enlu2GVgFv-J\u0026q=85\u0026s=353a0cedb91848c1296f205d3552fcca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tawked.com#website\",\"name\":\"Tawked\",\"url\":\"https://docs.tawked.com\",\"publisher\":{\"@id\":\"https://docs.tawked.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tawked.com/partners/webhooks#webpage\",\"url\":\"https://docs.tawked.com/partners/webhooks\",\"name\":\"Partner webhooks\",\"description\":\"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.\",\"dateModified\":\"2026-10-20T21:03:25.000Z\",\"isPartOf\":{\"@id\":\"https://docs.tawked.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tawked.com/partners/webhooks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tawked.com/partners/webhooks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Partners\",\"item\":\"https://docs.tawked.com/partners/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Partner webhooks\",\"item\":\"https://docs.tawked.com/partners/webhooks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tawked.com/partners/webhooks#article\",\"headline\":\"Partner webhooks\",\"name\":\"Partner webhooks\",\"description\":\"Signed deliveries for the whole partner account: the envelope, the signature, the retries, and the delivery log by API.\",\"url\":\"https://docs.tawked.com/partners/webhooks\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tawked.com/partners/webhooks#webpage\"},\"image\":\"https://tawked.com/og/developer-docs-en.png?v=27df06570d\",\"dateModified\":\"2026-10-20T21:03:25.000Z\",\"publisher\":{\"@id\":\"https://docs.tawked.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tawked.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tawked\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Tawked\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/partners/webhooks.md","siteName":"Tawked","nav":{"global":{"anchors":[{"anchor":"Status","icon":"signal","href":"https://tawked.com/en/status"}]},"tabs":[{"tab":"Guides","icon":"book-open","groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"Tawked developer docs","sidebarTitle":"Overview","href":""},{"title":"How Tawked works","sidebarTitle":"How Tawked works","href":"/concepts"},{"title":"Authentication","href":"/authentication"},{"title":"Testing and the sandbox","sidebarTitle":"Testing and the sandbox","href":"/sandbox"},{"title":"Go-live checklist","sidebarTitle":"Go-live checklist","href":"/going-live"},{"title":"Troubleshooting","href":"/troubleshooting"}]},{"group":"Verify","icon":"shield-check","pages":[{"title":"Verify quickstart","sidebarTitle":"Quickstart","href":"/quickstart"},{"title":"Build a sign-in flow","sidebarTitle":"Build a sign-in flow","href":"/verify/sign-in-flow"},{"title":"Numbers, language and the SMS","sidebarTitle":"Numbers and the SMS","href":"/destinations"},{"title":"Reliability and limits","href":"/reliability"}]},{"group":"Notifications","icon":"message","pages":[{"title":"Tawked Notifications","sidebarTitle":"Overview","href":"/whatsapp/overview"},{"title":"Notifications quickstart","sidebarTitle":"Quickstart","href":"/whatsapp/quickstart"},{"title":"Templates","href":"/whatsapp/templates"},{"title":"Sending messages","href":"/whatsapp/messages"},{"title":"Send a PDF attachment","href":"/whatsapp/pdf-attachments"},{"title":"Your number's account","sidebarTitle":"Number and account","href":"/whatsapp/account"},{"title":"Tawked Chat","href":"/chat"},{"title":"Conversation menus","sidebarTitle":"Conversation menus","href":"/chat-menus"}]},{"group":"Email","icon":"envelope","pages":[{"title":"Tawked Email","sidebarTitle":"Overview","href":"/email/overview"},{"title":"Email quickstart","sidebarTitle":"Quickstart","href":"/email/quickstart"},{"title":"Sender domains","href":"/email/senders"},{"title":"Suppressed addresses","href":"/email/suppressions"},{"title":"Sending email","href":"/email/messages"},{"title":"Sending over SMTP","sidebarTitle":"SMTP","href":"/email/smtp"},{"title":"Sending in batches","sidebarTitle":"Batches","href":"/email/batch"},{"title":"Scheduling","href":"/email/scheduling"},{"title":"Templates","href":"/email/templates"},{"title":"Test mode","href":"/email/test-mode"},{"title":"Open and click tracking","href":"/email/tracking"},{"title":"Previews","href":"/email/previews"},{"title":"Domains by API","href":"/email/domains"},{"title":"Metrics","href":"/email/metrics"},{"title":"Receiving email","href":"/email/receiving"}]},{"group":"Webhooks and errors","icon":"bell","pages":[{"title":"Webhooks","href":"/webhooks"},{"title":"Event catalog","href":"/webhooks/events"},{"title":"Errors","href":"/errors"}]},{"group":"Partners","icon":"handshake","pages":[{"title":"Partner API","sidebarTitle":"Overview","href":"/partners/overview"},{"title":"Partner quickstart","sidebarTitle":"Quickstart","href":"/partners/quickstart"},{"title":"Applications","href":"/partners/applications"},{"title":"Sending codes for an application","href":"/partners/sending"},{"title":"Events and the event log","sidebarTitle":"Events","description":"Every event a partner can receive, which ones reach the webhook, and the feed to poll or catch up from.","href":"/partners/events"},{"title":"Partner webhooks","href":"/partners/webhooks"}]},{"group":"Build with AI","icon":"robot","pages":[{"title":"AI agents and coding assistants","sidebarTitle":"Agents and assistants","description":"Let an agent work in your Tawked account through the MCP server and the Account API, and give Claude Code, Codex, Cursor or any agent the Tawked reference: the docs MCP server, Markdown pages, llms.txt, skill.md and the OpenAPI document.","href":"/agents"},{"title":"Tawked MCP server","sidebarTitle":"MCP server","href":"/ai/mcp-server"}]}]},{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/integrations/overview"}]},{"tab":"API reference","icon":"square-terminal","pages":[{"title":"API reference","href":"/api-reference/verify/start-a-verification"}]},{"tab":"Account API","icon":"user-gear","pages":[{"title":"Account API","href":"/account-api/overview"}]},{"tab":"Changelog","icon":"list","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Partner webhooks - Tawked","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":[],"chunks":[]}