Compute its HMAC-SHA256 digest with the destination signing secret.
Compare the result with the signature header using a timing-safe comparison.
Reject timestamps older than five minutes.
Do not parse and re-serialise the JSON before verification. Even harmless whitespace or key-order changes produce a different signature.
If you rotate the secret or edit the webhook URL, Redbark generates a new secret. Update your receiver before the next sync or it will reject deliveries.See the webhook payload reference for implementation examples and the full contract.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Redbark","colors":{"primary":"#FF5454","light":"#FF8A8A","dark":"#D40A20"},"logo":{"light":"https://mintcdn.com/redbark/Lg8qacPKNh5Xpue4/logo/light.png?fit=max\u0026auto=format\u0026n=Lg8qacPKNh5Xpue4\u0026q=85\u0026s=de3279ffc7bef823bfa1e593b81265d9","dark":"https://mintcdn.com/redbark/Lg8qacPKNh5Xpue4/logo/dark.png?fit=max\u0026auto=format\u0026n=Lg8qacPKNh5Xpue4\u0026q=85\u0026s=7960b0842dc00cfd472af3821d8ca953"},"favicon":"https://mintcdn.com/redbark/4quigyRAqPSbF82b/favicon.svg?fit=max\u0026auto=format\u0026n=4quigyRAqPSbF82b\u0026q=85\u0026s=9b80c48967b4ae7c425626dff0d139d2","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"navbar":{"links":[{"href":"mailto:support@redbark.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.redbark.com/sign-in"}},"footer":{"socials":{"github":"https://github.com/redbark-co"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"redbark","hasAudioNarration":false,"actualSubdomain":"redbark","customDomains":["redbark.com"],"gitSource":{"type":"github","owner":"redbark-co","repo":"core","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"agentFeedback":true},"entitlements":{},"buildId":"6aee602305c3b40e0ad9d424","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":258},{"language":"default","tag":"Advisor","count":175},{"language":"default","tag":"Sync","count":151},{"language":"default","tag":"Documentation","count":56},{"language":"default","tag":"Meetings","count":23},{"language":"default","tag":"Checklists","count":22},{"language":"default","tag":"Documents","count":20},{"language":"default","tag":"Destinations","count":18},{"language":"default","tag":"Document types","count":18},{"language":"default","tag":"Help center","count":16}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","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":"help-center/webhook-signatures","slug":"/help-center/webhook-signatures","pageMetadata":{"title":"Verify webhook signatures","description":"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.","icon":"shield-check","href":"/help-center/webhook-signatures"},"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: \"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Redbark signs every webhook request with HMAC-SHA256. Use the signing secret generated for that destination.`}),`\n`,_jsx(Heading,{level:`2`,id:`required-headers`,children:`Required headers`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`X-Redbark-Signature`}),`: `,_jsx(_components.code,{children:`sha256=\u003chex digest>`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`X-Redbark-Timestamp`}),`: Unix timestamp in seconds`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`X-Redbark-Delivery-Id`}),`: stable idempotency key for retries of the same delivery`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`verification`,children:`Verification`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Read the raw request body before parsing JSON.`}),`\n`,_jsx(_components.li,{children:`Read the timestamp header.`}),`\n`,_jsxs(_components.li,{children:[`Build `,_jsx(_components.code,{children:`\u003ctimestamp>.\u003craw_body>`}),`.`]}),`\n`,_jsx(_components.li,{children:`Compute its HMAC-SHA256 digest with the destination signing secret.`}),`\n`,_jsx(_components.li,{children:`Compare the result with the signature header using a timing-safe comparison.`}),`\n`,_jsx(_components.li,{children:`Reject timestamps older than five minutes.`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not parse and re-serialise the JSON before verification. Even harmless whitespace or key-order changes produce a different signature.`})}),`\n`,_jsx(_components.p,{children:`If you rotate the secret or edit the webhook URL, Redbark generates a new secret. Update your receiver before the next sync or it will reject deliveries.`}),`\n`,_jsxs(_components.p,{children:[`See the `,_jsx(_components.a,{href:`/api-reference/webhooks#request-headers`,children:`webhook payload reference`}),` for implementation examples and the full contract.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Verify webhook signatures","description":"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.","icon":"shield-check","href":"/help-center/webhook-signatures"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Required headers","slug":"required-headers","depth":2,"children":[]},{"title":"Verification","slug":"verification","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"redbark","siteName":"Redbark","title":"Verify webhook signatures - Redbark","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-22T21:47:37.323Z","originalFileLocation":"help-center/webhook-signatures.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=\"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Redbark\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_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=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Verify webhook signatures - Redbark\">\u003cmeta data-mint-head property=\"og:description\" content=\"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Redbark\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://redbark.com/docs/help-center/webhook-signatures\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://redbark.mintlify.site/docs/_mintlify/api/og/v2?division=Webhooks+and+API\u0026amp;title=Verify+webhook+signatures\u0026amp;description=Validate+Redbark+webhook+requests+with+the+destination+secret%2C+timestamp%2C+and+unmodified+request+body.\u0026amp;theme=dab95e9f32bbdf5feb9572e8\u0026amp;signature=722921c687e92c5218d9322a6b0c690ef623df34618692530a4abc87dc7f6208\">\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=\"Verify webhook signatures - Redbark\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://redbark.mintlify.site/docs/_mintlify/api/og/v2?division=Webhooks+and+API\u0026amp;title=Verify+webhook+signatures\u0026amp;description=Validate+Redbark+webhook+requests+with+the+destination+secret%2C+timestamp%2C+and+unmodified+request+body.\u0026amp;theme=dab95e9f32bbdf5feb9572e8\u0026amp;signature=722921c687e92c5218d9322a6b0c690ef623df34618692530a4abc87dc7f6208\">\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=\"/docs/mintlify-assets/_mintlify/favicons/redbark/18Zou9nIgNt39LhG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Redbark\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5454\">\u003clink data-mint-head rel=\"canonical\" href=\"https://redbark.com/docs/help-center/webhook-signatures\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/help-center/webhook-signatures.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://redbark.com/#organization\",\"name\":\"Redbark\",\"url\":\"https://redbark.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/redbark/Lg8qacPKNh5Xpue4/logo/light.png?fit=max\u0026auto=format\u0026n=Lg8qacPKNh5Xpue4\u0026q=85\u0026s=de3279ffc7bef823bfa1e593b81265d9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://redbark.com/docs#website\",\"name\":\"Redbark\",\"url\":\"https://redbark.com/docs\",\"publisher\":{\"@id\":\"https://redbark.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://redbark.com/docs/help-center/webhook-signatures#webpage\",\"url\":\"https://redbark.com/docs/help-center/webhook-signatures\",\"name\":\"Verify webhook signatures\",\"description\":\"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.\",\"dateModified\":\"2026-09-22T21:47:37.323Z\",\"isPartOf\":{\"@id\":\"https://redbark.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://redbark.com/docs/help-center/webhook-signatures#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://redbark.com/docs/help-center/webhook-signatures#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Help center\",\"item\":\"https://redbark.com/docs/help-center/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webhooks and API\",\"item\":\"https://redbark.com/docs/help-center/webhook-delivery-failures\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Verify webhook signatures\",\"item\":\"https://redbark.com/docs/help-center/webhook-signatures\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://redbark.com/docs/help-center/webhook-signatures#article\",\"headline\":\"Verify webhook signatures\",\"name\":\"Verify webhook signatures\",\"description\":\"Validate Redbark webhook requests with the destination secret, timestamp, and unmodified request body.\",\"url\":\"https://redbark.com/docs/help-center/webhook-signatures\",\"mainEntityOfPage\":{\"@id\":\"https://redbark.com/docs/help-center/webhook-signatures#webpage\"},\"dateModified\":\"2026-09-22T21:47:37.323Z\",\"publisher\":{\"@id\":\"https://redbark.com/#organization\"},\"isPartOf\":{\"@id\":\"https://redbark.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Redbark\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Redbark","nav":{"global":null,"products":[{"product":"Sync","icon":"arrows-rotate","description":"Bank feeds to spreadsheets, budgeting apps and your own code","tabs":[{"tab":"Documentation","groups":[{"group":"Guide","pages":[{"title":"Getting Started","href":""}]},{"group":"Help center","pages":[{"title":"Help center","icon":"circle-question","href":"/help-center/index"},{"group":"Connections and transactions","pages":[{"title":"Transactions are late or missing","icon":"clock","href":"/help-center/transactions-late-or-missing"},{"title":"Why pending transactions are excluded","icon":"hourglass-half","href":"/help-center/pending-transactions"},{"title":"Fix a connection that needs attention","icon":"link-slash","href":"/help-center/connection-needs-attention"},{"title":"A bank account is missing","icon":"building-columns","href":"/help-center/missing-bank-accounts"},{"title":"Connect a business bank account","icon":"briefcase","href":"/help-center/business-bank-accounts"},{"title":"American Express availability in Australia","icon":"credit-card","href":"/help-center/american-express-australia"},{"title":"Check duplicate transactions","icon":"copy","href":"/help-center/duplicate-transactions"},{"title":"Using Redbark for a business or customers","icon":"users","href":"/help-center/business-and-customer-data"}]},{"group":"YNAB","pages":[{"title":"Map categories to YNAB","icon":"tags","href":"/help-center/ynab-category-mapping"},{"title":"Configure YNAB Payee and Memo","icon":"table-columns","href":"/help-center/ynab-payee-and-memo"},{"title":"Match bank transfers in YNAB","icon":"right-left","href":"/help-center/ynab-transfers"}]},{"group":"Webhooks and API","pages":[{"title":"Fix failed webhook deliveries","description":"Use delivery history to diagnose endpoint errors, timeouts, public reachability, and an auto-disabled webhook.","icon":"webhook","href":"/help-center/webhook-delivery-failures"},{"title":"Verify webhook signatures","icon":"shield-check","href":"/help-center/webhook-signatures"},{"title":"Replay missed webhook data","description":"Choose Hard resync for undelivered records or Replay everything when your endpoint lost an accepted payload.","icon":"rotate","href":"/help-center/webhook-replay"},{"title":"Fix API authentication","icon":"key","href":"/help-center/api-authentication"}]}]},{"group":"Features","pages":[{"title":"Syncs","href":"/syncs"},{"title":"Connections","href":"/connections"},{"title":"Redbark for iPhone","href":"/iphone"},{"title":"Brokerage Accounts","href":"/brokerage"},{"title":"Documents","href":"/documents"},{"title":"Destinations","href":"/destinations"},{"title":"Custom categories","href":"/categories"},{"title":"Rules","href":"/rules"},{"title":"Sync activity","href":"/runs"},{"title":"Consents","href":"/consents"}]},{"group":"Destinations","pages":[{"title":"Google Sheets","href":"/google-sheets"},{"title":"Airtable","href":"/airtable"},{"title":"Notion","href":"/notion"},{"title":"You Need a Budget","href":"/ynab"},{"title":"Webhook","href":"/webhook"},{"title":"Actual Budget","href":"/actual-budget"},{"title":"Zerosum","href":"/zerosum"},{"title":"Sure","href":"/sure"},{"title":"Firefly III","href":"/firefly-iii"}]},{"group":"Compliance","pages":[{"title":"CDR overview","href":"/compliance/cdr-overview"},{"title":"Consent and data handling","href":"/compliance/consent-and-data"}]}]},{"tab":"API Reference","versions":[{"version":"v2","default":true,"groups":[{"group":"Guides","pages":[{"title":"API v2 overview","href":"/api-reference/v2/overview"},{"title":"Account and API keys","href":"/api-reference/v2/account-and-keys"},{"title":"Connections, accounts and transactions","href":"/api-reference/v2/banking"},{"title":"Connecting banks and destinations","href":"/api-reference/v2/connect"},{"title":"Syncs, runs and categories","href":"/api-reference/v2/syncs"},{"title":"Rules","href":"/api-reference/v2/rules"},{"title":"Events and event destinations","href":"/api-reference/v2/events"},{"title":"Errors","href":"/api-reference/v2/errors"},{"title":"Migrating from v1","href":"/api-reference/v2/migrating-from-v1"}]},{"group":"Account","pages":[{"title":"Retrieve the account","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /me","href":"/api-reference/v2/account/retrieve-the-account"}]},{"group":"API keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /api_keys","href":"/api-reference/v2/api-keys/list-api-keys"},{"title":"Create an API key","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /api_keys","href":"/api-reference/v2/api-keys/create-an-api-key"},{"title":"Retrieve an API key","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /api_keys/{id}","href":"/api-reference/v2/api-keys/retrieve-an-api-key"},{"title":"Update an API key","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /api_keys/{id}","href":"/api-reference/v2/api-keys/update-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /api_keys/{id}","href":"/api-reference/v2/api-keys/revoke-an-api-key"},{"title":"Rotate an API key","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /api_keys/{id}/rotate","href":"/api-reference/v2/api-keys/rotate-an-api-key"}]},{"group":"Connections","pages":[{"title":"List connections","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /connections","href":"/api-reference/v2/connections/list-connections"},{"title":"Retrieve a connection","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /connections/{id}","href":"/api-reference/v2/connections/retrieve-a-connection"},{"title":"Revoke a connection","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /connections/{id}","href":"/api-reference/v2/connections/revoke-a-connection"},{"title":"Reauthorize a connection","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /connections/{id}/reauthorize","href":"/api-reference/v2/connections/reauthorize-a-connection"},{"title":"Refresh a connection","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /connections/{id}/refresh","href":"/api-reference/v2/connections/refresh-a-connection"}]},{"group":"Consents","pages":[{"title":"List consents","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /consents","href":"/api-reference/v2/consents/list-consents"},{"title":"Retrieve a consent","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /consents/{id}","href":"/api-reference/v2/consents/retrieve-a-consent"}]},{"group":"Accounts","pages":[{"title":"List accounts","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /accounts","href":"/api-reference/v2/accounts/list-accounts"},{"title":"Retrieve an account","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /accounts/{id}","href":"/api-reference/v2/accounts/retrieve-an-account"},{"title":"Retrieve the account balance","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /accounts/{account}/balance","href":"/api-reference/v2/accounts/retrieve-the-account-balance"},{"title":"Retrieve account details","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /accounts/{account}/details","href":"/api-reference/v2/accounts/retrieve-account-details"},{"title":"List balances","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /balances","href":"/api-reference/v2/accounts/list-balances"}]},{"group":"Transactions","pages":[{"title":"List transactions","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /transactions","href":"/api-reference/v2/transactions/list-transactions"},{"title":"Retrieve a transaction","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /transactions/{id}","href":"/api-reference/v2/transactions/retrieve-a-transaction"}]},{"group":"Holdings","pages":[{"title":"List holdings","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /holdings","href":"/api-reference/v2/holdings/list-holdings"}]},{"group":"Trades","pages":[{"title":"List trades","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /trades","href":"/api-reference/v2/trades/list-trades"}]},{"group":"Categories","pages":[{"title":"List provider categories","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /provider_categories","href":"/api-reference/v2/categories/list-provider-categories"},{"title":"List categories","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /categories","href":"/api-reference/v2/categories/list-categories"},{"title":"Create a group or category","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /categories","href":"/api-reference/v2/categories/create-a-group-or-category"},{"title":"Reset the taxonomy","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /categories/reset","href":"/api-reference/v2/categories/reset-the-taxonomy"},{"title":"Retrieve a category","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /categories/{id}","href":"/api-reference/v2/categories/retrieve-a-category"},{"title":"Update a category","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /categories/{id}","href":"/api-reference/v2/categories/update-a-category"},{"title":"Update a category (PATCH alias)","deprecated":null,"version":null,"openapi":"/openapi/v2.json patch /categories/{id}","href":"/api-reference/v2/categories/update-a-category-patch-alias"},{"title":"Delete a group or category","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /categories/{id}","href":"/api-reference/v2/categories/delete-a-group-or-category"},{"title":"Replace the claimed sources","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /categories/{id}/sources","href":"/api-reference/v2/categories/replace-the-claimed-sources"}]},{"group":"Syncs","pages":[{"title":"List syncs","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /syncs","href":"/api-reference/v2/syncs/list-syncs"},{"title":"Create a sync","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /syncs","href":"/api-reference/v2/syncs/create-a-sync"},{"title":"Retrieve a sync","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /syncs/{id}","href":"/api-reference/v2/syncs/retrieve-a-sync"},{"title":"Update a sync","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /syncs/{id}","href":"/api-reference/v2/syncs/update-a-sync"},{"title":"Update a sync (PATCH alias)","deprecated":null,"version":null,"openapi":"/openapi/v2.json patch /syncs/{id}","href":"/api-reference/v2/syncs/update-a-sync-patch-alias"},{"title":"Delete a sync","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /syncs/{id}","href":"/api-reference/v2/syncs/delete-a-sync"},{"title":"Run a sync now","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /syncs/{id}/run","href":"/api-reference/v2/syncs/run-a-sync-now"},{"title":"Resync from the start date","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /syncs/{id}/resync","href":"/api-reference/v2/syncs/resync-from-the-start-date"},{"title":"List category mappings","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /syncs/{id}/category_mappings","href":"/api-reference/v2/syncs/list-category-mappings"},{"title":"Replace category mappings","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /syncs/{id}/category_mappings","href":"/api-reference/v2/syncs/replace-category-mappings"}]},{"group":"Sync runs","pages":[{"title":"List runs for a sync","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /syncs/{id}/runs","href":"/api-reference/v2/sync-runs/list-runs-for-a-sync"},{"title":"Retrieve a run","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /sync_runs/{id}","href":"/api-reference/v2/sync-runs/retrieve-a-run"},{"title":"Cancel a queued run","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /sync_runs/{id}/cancel","href":"/api-reference/v2/sync-runs/cancel-a-queued-run"}]},{"group":"Rules","pages":[{"title":"List rulesets","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /rulesets","href":"/api-reference/v2/rules/list-rulesets"},{"title":"Create a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rulesets","href":"/api-reference/v2/rules/create-a-ruleset"},{"title":"Retrieve a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /rulesets/{id}","href":"/api-reference/v2/rules/retrieve-a-ruleset"},{"title":"Update a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rulesets/{id}","href":"/api-reference/v2/rules/update-a-ruleset"},{"title":"Delete a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /rulesets/{id}","href":"/api-reference/v2/rules/delete-a-ruleset"},{"title":"Duplicate a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rulesets/{id}/duplicate","href":"/api-reference/v2/rules/duplicate-a-ruleset"},{"title":"List rules in a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /rulesets/{id}/rules","href":"/api-reference/v2/rules/list-rules-in-a-ruleset"},{"title":"Create a rule","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rulesets/{id}/rules","href":"/api-reference/v2/rules/create-a-rule"},{"title":"Reorder rules","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rulesets/{id}/rules/reorder","href":"/api-reference/v2/rules/reorder-rules"},{"title":"Preview a ruleset","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rulesets/{id}/preview","href":"/api-reference/v2/rules/preview-a-ruleset"},{"title":"Retrieve a rule","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /rules/{id}","href":"/api-reference/v2/rules/retrieve-a-rule"},{"title":"Update a rule","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /rules/{id}","href":"/api-reference/v2/rules/update-a-rule"},{"title":"Delete a rule","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /rules/{id}","href":"/api-reference/v2/rules/delete-a-rule"},{"title":"Attach a ruleset to a sync","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /syncs/{id}/rulesets","href":"/api-reference/v2/rules/attach-a-ruleset-to-a-sync"}]},{"group":"Destinations","pages":[{"title":"List destinations","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /destinations","href":"/api-reference/v2/destinations/list-destinations"},{"title":"Create a webhook destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /destinations","href":"/api-reference/v2/destinations/create-a-webhook-destination"},{"title":"Retrieve a destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /destinations/{id}","href":"/api-reference/v2/destinations/retrieve-a-destination"},{"title":"Update a destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /destinations/{id}","href":"/api-reference/v2/destinations/update-a-destination"},{"title":"Update a destination (PATCH alias)","deprecated":null,"version":null,"openapi":"/openapi/v2.json patch /destinations/{id}","href":"/api-reference/v2/destinations/update-a-destination-patch-alias"},{"title":"Delete a destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /destinations/{id}","href":"/api-reference/v2/destinations/delete-a-destination"},{"title":"Rotate a webhook signing secret","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /destinations/{id}/rotate_secret","href":"/api-reference/v2/destinations/rotate-a-webhook-signing-secret"},{"title":"Re-enable a disabled destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /destinations/{id}/enable","href":"/api-reference/v2/destinations/re-enable-a-disabled-destination"},{"title":"List what a destination offers","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /destinations/{id}/resources","href":"/api-reference/v2/destinations/list-what-a-destination-offers"}]},{"group":"Link sessions","pages":[{"title":"Create a link session","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /link_sessions","href":"/api-reference/v2/link-sessions/create-a-link-session"},{"title":"Retrieve a link session","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /link_sessions/{id}","href":"/api-reference/v2/link-sessions/retrieve-a-link-session"}]},{"group":"Destination links","pages":[{"title":"Create a destination link","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /destination_links","href":"/api-reference/v2/destination-links/create-a-destination-link"},{"title":"Retrieve a destination link","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /destination_links/{id}","href":"/api-reference/v2/destination-links/retrieve-a-destination-link"}]},{"group":"Institutions","pages":[{"title":"List institutions","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /institutions","href":"/api-reference/v2/institutions/list-institutions"}]},{"group":"Event destinations","pages":[{"title":"List event destinations","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /event_destinations","href":"/api-reference/v2/event-destinations/list-event-destinations"},{"title":"Create an event destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /event_destinations","href":"/api-reference/v2/event-destinations/create-an-event-destination"},{"title":"Retrieve an event destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /event_destinations/{id}","href":"/api-reference/v2/event-destinations/retrieve-an-event-destination"},{"title":"Update an event destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /event_destinations/{id}","href":"/api-reference/v2/event-destinations/update-an-event-destination"},{"title":"Delete an event destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json delete /event_destinations/{id}","href":"/api-reference/v2/event-destinations/delete-an-event-destination"},{"title":"Enable an event destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /event_destinations/{id}/enable","href":"/api-reference/v2/event-destinations/enable-an-event-destination"},{"title":"Disable an event destination","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /event_destinations/{id}/disable","href":"/api-reference/v2/event-destinations/disable-an-event-destination"},{"title":"Send a ping event","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /event_destinations/{id}/ping","href":"/api-reference/v2/event-destinations/send-a-ping-event"},{"title":"Rotate the signing secret","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /event_destinations/{id}/rotate_secret","href":"/api-reference/v2/event-destinations/rotate-the-signing-secret"}]},{"group":"Events","pages":[{"title":"List events","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /events","href":"/api-reference/v2/events/list-events"},{"title":"Retrieve an event","deprecated":null,"version":null,"openapi":"/openapi/v2.json get /events/{id}","href":"/api-reference/v2/events/retrieve-an-event"},{"title":"Redeliver an event","deprecated":null,"version":null,"openapi":"/openapi/v2.json post /events/{id}/redeliver","href":"/api-reference/v2/events/redeliver-an-event"}]},{"group":"CLI","pages":[{"title":"CLI","href":"/api-reference/cli"}]},{"group":"SimpleFIN","pages":[{"title":"SimpleFIN","href":"/api-reference/simplefin"}]},{"group":"Webhooks","pages":[{"title":"Webhook Payload","href":"/api-reference/webhooks"}]}]},{"version":"v1","tag":"Deprecated","pages":[{"title":"v1","href":"/api-reference/overview"}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp-server"}]}]},{"product":"Advisor","icon":"briefcase","description":"Client portal for advisory firms. Early Access","pages":[{"title":"Advisor","href":"/advisor"}]}]},"basePath":"","title":"Verify webhook signatures - Redbark","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":[],"chunks":[]}