Get every new DM and status change pushed to your server in real time.
The fastest way to build an inbox is to let us push changes to you. Webhooks are also how you keep a history longer than our 30-day retention: save every conversation.message.created payload (and apply conversation.message.updated for edits, unsends and status changes) and you have the full thread on your side.
Heads-up: new events arrive as soon as the feature is on. From then on we send your webhook an event for every new DM (conversation.*) and every new comment from other people on the account’s posts, including posts published outside bundle.social (comment.received, described in Automations). If your webhook has no event filter, you get all of them automatically.Answer every event with a 2xx within 15 seconds, including event types you don’t handle yet. Just ignore them. If your endpoint keeps failing and goes 7 days without a single successful delivery, we disable it automatically. You’ll get an email and a dashboard notification, and you then have to re-enable it (or set up a new one) in the Webhooks dashboard. Events sent while it was disabled are not replayed. More in Webhooks.
Subscribe to these events on your webhook (or leave the event filter empty to get everything):
Event
When it fires
data contains
conversation.created
First message from a new participant (or first private reply)
Conversation
conversation.updated
Status, preview or participant info changed, or a new message raised the unread count
Conversation
conversation.read.updated
You marked it as read (unread count reset), or the participant read your messages (platformSeenAt)
Conversation
conversation.message.created
New message, incoming or outgoing
Message
conversation.message.updated
Status changed (SENT → SEEN…), edited, unsent, or reacted to
Message
Payloads use the same shape as the conversation and message objects from the REST API, wrapped in the usual envelope. One difference: the top-level replyTo and privateReplyContext of a message are only filled in on REST reads. In webhooks, look at platformData.replyTo instead, or fetch the message.
Verify the signature, answer fast, do the real work afterwards:
import crypto from "node:crypto";import express from "express";const app = express();// Keep the raw body - the signature is computed over the exact bytes we sent.app.post("/webhooks/bundle", express.raw({ type: "application/json" }), async (req, res) => { const expected = crypto .createHmac("sha256", process.env.BUNDLE_WEBHOOK_SECRET!) .update(req.body) .digest("hex"); const received = String(req.headers["x-signature"] ?? ""); if ( received.length !== expected.length || !crypto.timingSafeEqual(Buffer.from(received), Buffer.from(expected)) ) { return res.status(401).end(); } const event = JSON.parse(req.body.toString("utf8")); res.status(200).end(); // ack first, we have 15 seconds if (event.type === "conversation.message.created" && event.data.direction === "INBOUND") { await saveToInbox(event.data); // your code await notifyAgents(event.data.conversationId); // your code } if (event.type === "conversation.message.updated") { await updateMessageStatus(event.data.id, event.data.status); // Messenger: SENT -> DELIVERED -> SEEN, Instagram: SENT -> SEEN }});
Deduplicate on data.id + data.updatedAt. Don’t use status for this: edits, unsends and reactions change a message without changing its status. Retries (ours and Meta’s) can occasionally deliver the same change twice.
Outgoing messages reach your webhook already as SENT or FAILED, never as PENDING.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"bundle.social","colors":{"primary":"#EB6700","light":"#EB6700","dark":"#EB6700"},"logo":{"light":"https://mintcdn.com/bundlesocial/oEoIR6PzIjzRvOGB/favicon.svg?fit=max\u0026auto=format\u0026n=oEoIR6PzIjzRvOGB\u0026q=85\u0026s=a47f23bcffc1d1e1e67610d9767f2596","dark":"https://mintcdn.com/bundlesocial/oEoIR6PzIjzRvOGB/favicon.svg?fit=max\u0026auto=format\u0026n=oEoIR6PzIjzRvOGB\u0026q=85\u0026s=a47f23bcffc1d1e1e67610d9767f2596"},"favicon":"https://mintcdn.com/bundlesocial/oEoIR6PzIjzRvOGB/favicon.svg?fit=max\u0026auto=format\u0026n=oEoIR6PzIjzRvOGB\u0026q=85\u0026s=a47f23bcffc1d1e1e67610d9767f2596","navbar":{"links":[{"href":"https://bundle.social/contact","label":"Contact"}],"primary":{"type":"button","label":"Dashboard","href":"https://bundle.social/dashboard"}},"footer":{"socials":{"twitter":"https://twitter.com/bundle_social","github":"https://github.com/bundleglobal","linkedin":"https://www.linkedin.com/company/bundlesocial"}},"seo":{"metatags":{"robots":"index, follow","googlebot":"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1","og:image":"https://bundle.social/og.png","og:site_name":"bundle.social Documentation","twitter:site":"@bundle_social","twitter:card":"summary_large_image"},"indexing":"all"},"errors":{"404":{"redirect":false,"title":"Page not found","description":"We couldn't find the page you're looking for. Head [back to the homepage](/welcome), explore the [API Reference](/api-reference/introduction), or check the [FAQ](/faq)."}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"browser","href":"https://bundle.social/dashboard"},{"anchor":"Github","icon":"github","href":"https://github.com/bundleglobal"},{"anchor":"Status","icon":"wave-pulse","href":"https://bundlesocial.betteruptime.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bundlesocial","hasAudioNarration":false,"actualSubdomain":"bundlesocial","customDomains":["info.bundle.social"],"gitSource":{"type":"github","owner":"bundleglobal","repo":"bundlesocial-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb702e51ee19a3cd670c64","collectionId":"9b25881b-58ba-434f-a861-2dac31269089","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb702e51ee19a3cd670c64"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6aeb702e51ee19a3cd670c64","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":264},{"language":"default","tag":"Endpoints","count":197},{"language":"default","tag":"misc","count":92},{"language":"default","tag":"API Documentation","count":39},{"language":"default","tag":"Platforms","count":27},{"language":"default","tag":"Knowledge","count":22},{"language":"default","tag":"automation","count":17},{"language":"default","tag":"Social Accounts","count":16},{"language":"default","tag":"socialAccount","count":13},{"language":"default","tag":"upload","count":12}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/direct-messages/webhooks","slug":"/api-reference/direct-messages/webhooks","pageMetadata":{"title":"DM Webhooks","description":"Get every new DM and status change pushed to your server in real time.","icon":"webhook","keywords":["dm webhooks","conversation webhooks","instagram message webhook","messenger webhook"],"href":"/api-reference/direct-messages/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: \"Get every new DM and status change pushed to your server in real time.\"\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`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The fastest way to build an inbox is to let us push changes to you. Webhooks are also how you keep a history longer than our `,_jsx(_components.a,{href:`/api-reference/data-retention`,children:`30-day retention`}),`: save every `,_jsx(_components.code,{children:`conversation.message.created`}),` payload (and apply `,_jsx(_components.code,{children:`conversation.message.updated`}),` for edits, unsends and status changes) and you have the full thread on your side.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Heads-up: new events arrive as soon as the feature is on.`}),` From then on we send your `,_jsx(_components.a,{href:`/api-reference/webhooks`,children:`webhook`}),` an event for every new DM (`,_jsx(_components.code,{children:`conversation.*`}),`) and every new comment from other people on the account’s posts, including posts published outside bundle.social (`,_jsx(_components.code,{children:`comment.received`}),`, described in `,_jsx(_components.a,{href:`/api-reference/automations/webhooks`,children:`Automations`}),`). If your webhook has no event filter, you get all of them automatically.`]}),_jsxs(_components.p,{children:[`Answer every event with a `,_jsx(_components.code,{children:`2xx`}),` within 15 seconds, `,_jsx(_components.strong,{children:`including event types you don’t handle yet`}),`. Just ignore them. If your endpoint keeps failing and goes `,_jsx(_components.strong,{children:`7 days without a single successful delivery`}),`, we disable it automatically. You’ll get an email and a dashboard notification, and you then have to re-enable it (or set up a new one) in the `,_jsx(_components.a,{href:`https://bundle.social/dashboard/organization/webhooks`,children:`Webhooks dashboard`}),`. Events sent while it was disabled are not replayed. More in `,_jsx(_components.a,{href:`/api-reference/webhooks`,children:`Webhooks`}),`.`]})]}),`\n`,_jsx(_components.p,{children:`Subscribe to these events on your webhook (or leave the event filter empty to get everything):`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Event`}),_jsx(_components.th,{style:{textAlign:`left`},children:`When it fires`}),_jsxs(_components.th,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`data`}),` contains`]})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`conversation.created`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`First message from a new participant (or first private reply)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Conversation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`conversation.updated`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Status, preview or participant info changed, or a new message raised the unread count`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Conversation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`conversation.read.updated`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`You marked it as read (unread count reset), or the participant read your messages (`,_jsx(_components.code,{children:`platformSeenAt`}),`)`]}),_jsx(_components.td,{style:{textAlign:`left`},children:`Conversation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`conversation.message.created`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`New message, incoming or outgoing`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Message`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`conversation.message.updated`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Status changed (`,_jsx(_components.code,{children:`SENT`}),` → `,_jsx(_components.code,{children:`SEEN`}),`…), edited, unsent, or reacted to`]}),_jsx(_components.td,{style:{textAlign:`left`},children:`Message`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Payloads use the same shape as the `,_jsx(_components.a,{href:`/api-reference/direct-messages/conversations`,children:`conversation and message objects`}),` from the REST API, wrapped in the usual envelope. One difference: the top-level `,_jsx(_components.code,{children:`replyTo`}),` and `,_jsx(_components.code,{children:`privateReplyContext`}),` of a message are only filled in on REST reads. In webhooks, look at `,_jsx(_components.code,{children:`platformData.replyTo`}),` instead, or fetch the message.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`19`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`19`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"conversation.message.created\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"msg_1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"conversationId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"conv_abc\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"teamId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"team_123\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"socialAccountId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sa_789\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"platform\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INSTAGRAM\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"direction\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"INBOUND\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DELIVERED\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"DM\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"text\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Hi! Do you ship to Poland?\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"attachments\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"sentAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-26T09:30:00.000Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"platformData\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-26T09:30:01.000Z\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-09-26T09:30:01.000Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`example-a-tiny-inbox-handler`,children:`Example: A Tiny Inbox Handler`}),`\n`,_jsx(_components.p,{children:`Verify the signature, answer fast, do the real work afterwards:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`32`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`32`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` crypto`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"node:crypto\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` express`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"express\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` app`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` express`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Keep the raw body - the signature is computed over the exact bytes we sent.`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`app`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/webhooks/bundle\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`express`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`raw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }), `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` expected`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` crypto`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createHmac`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sha256\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`BUNDLE_WEBHOOK_SECRET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`update`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` .`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`digest`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hex\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` received`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` String`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`headers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-signature\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`] `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`??`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` received`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !==`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` expected`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:`length`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ||`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`crypto`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`timingSafeEqual`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Buffer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`received`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Buffer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`expected`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`))`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ) {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`401`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`end`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` event`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` JSON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`parse`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`req`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`body`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`toString`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"utf8\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`));`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` res`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`200`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`end`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// ack first, we have 15 seconds`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"conversation.message.created\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`direction`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"INBOUND\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` saveToInbox`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// your code`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` notifyAgents`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`conversationId`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// your code`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"conversation.message.updated\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` updateMessageStatus`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`event`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`data`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`status`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Messenger: SENT -> DELIVERED -> SEEN, Instagram: SENT -> SEEN`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Deduplicate on `,_jsx(_components.code,{children:`data.id`}),` + `,_jsx(_components.code,{children:`data.updatedAt`}),`. Don’t use `,_jsx(_components.code,{children:`status`}),` for this: edits, unsends and reactions change a message without changing its status. Retries (ours and Meta’s) can occasionally deliver the same change twice.`]})}),`\n`,_jsxs(_components.p,{children:[`Outgoing messages reach your webhook already as `,_jsx(_components.code,{children:`SENT`}),` or `,_jsx(_components.code,{children:`FAILED`}),`, never as `,_jsx(_components.code,{children:`PENDING`}),`.`]})]})}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":"DM Webhooks","description":"Get every new DM and status change pushed to your server in real time.","icon":"webhook","keywords":["dm webhooks","conversation webhooks","instagram message webhook","messenger webhook"],"href":"/api-reference/direct-messages/webhooks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Example: A Tiny Inbox Handler","slug":"example-a-tiny-inbox-handler","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"bundlesocial","siteName":"bundle.social","title":"DM Webhooks - bundle.social","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T16:30:07.434Z","originalFileLocation":"api-reference/direct-messages/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=\"Get every new DM and status change pushed to your server in real time.\">\u003cmeta data-mint-head name=\"application-name\" content=\"bundle.social\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_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/bundlesocial/d-sY0TmL91H8sdiz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"DM Webhooks - bundle.social\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get every new DM and status change pushed to your server in real time.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"bundle.social Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://info.bundle.social/api-reference/direct-messages/webhooks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bundle.social/og.png\">\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=\"DM Webhooks - bundle.social\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get every new DM and status change pushed to your server in real time.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bundle.social/og.png\">\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/bundlesocial/d-sY0TmL91H8sdiz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"bundle.social\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EB6700\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://info.bundle.social/api-reference/direct-messages/webhooks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/direct-messages/webhooks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://info.bundle.social/#organization\",\"name\":\"bundle.social\",\"url\":\"https://info.bundle.social\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bundlesocial/oEoIR6PzIjzRvOGB/favicon.svg?fit=max\u0026auto=format\u0026n=oEoIR6PzIjzRvOGB\u0026q=85\u0026s=a47f23bcffc1d1e1e67610d9767f2596\"}},{\"@type\":\"WebSite\",\"@id\":\"https://info.bundle.social#website\",\"name\":\"bundle.social\",\"url\":\"https://info.bundle.social\",\"publisher\":{\"@id\":\"https://info.bundle.social/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://info.bundle.social/api-reference/direct-messages/webhooks#webpage\",\"url\":\"https://info.bundle.social/api-reference/direct-messages/webhooks\",\"name\":\"DM Webhooks\",\"description\":\"Get every new DM and status change pushed to your server in real time.\",\"dateModified\":\"2026-11-03T16:30:07.434Z\",\"isPartOf\":{\"@id\":\"https://info.bundle.social#website\"},\"breadcrumb\":{\"@id\":\"https://info.bundle.social/api-reference/direct-messages/webhooks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://info.bundle.social/api-reference/direct-messages/webhooks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Documentation\",\"item\":\"https://info.bundle.social/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Direct Messages\",\"item\":\"https://info.bundle.social/api-reference/direct-messages\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"DM Webhooks\",\"item\":\"https://info.bundle.social/api-reference/direct-messages/webhooks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://info.bundle.social/api-reference/direct-messages/webhooks#article\",\"headline\":\"DM Webhooks\",\"name\":\"DM Webhooks\",\"description\":\"Get every new DM and status change pushed to your server in real time.\",\"url\":\"https://info.bundle.social/api-reference/direct-messages/webhooks\",\"mainEntityOfPage\":{\"@id\":\"https://info.bundle.social/api-reference/direct-messages/webhooks#webpage\"},\"image\":\"https://bundle.social/og.png\",\"dateModified\":\"2026-11-03T16:30:07.434Z\",\"keywords\":\"dm webhooks, conversation webhooks, instagram message webhook, messenger webhook\",\"publisher\":{\"@id\":\"https://info.bundle.social/#organization\"},\"isPartOf\":{\"@id\":\"https://info.bundle.social#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"bundle.social\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"bundle.social","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"browser","href":"https://bundle.social/dashboard"},{"anchor":"Github","icon":"github","href":"https://github.com/bundleglobal"},{"anchor":"Status","icon":"wave-pulse","href":"https://bundlesocial.betteruptime.com"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/welcome"}]},{"tab":"API Reference","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","icon":"key","href":"/api-reference/introduction"},{"title":"Health","icon":"heart-pulse","href":"/api-reference/health"},{"title":"OpenAPI","icon":"code","href":"/api-reference/openapi"},{"title":"SDK","icon":"box-open","href":"/api-reference/sdk"},{"title":"CLI","icon":"terminal","href":"/api-reference/cli"},{"title":"MCP Server","icon":"plug","href":"/api-reference/mcp"},{"title":"n8n","icon":"diagram-project","href":"/api-reference/n8n"},{"title":"Platform parameters","icon":"sliders","href":"/api-reference/platform-parameters"},{"group":"Connect Social Accounts","icon":"plug","pages":[{"title":"Connect Social Accounts","icon":"plug","href":"/api-reference/connect-social-accounts"},{"title":"Hosted Flow","icon":"link","href":"/api-reference/connect-social-accounts/hosted-flow"},{"title":"Custom UI Flow","icon":"code","href":"/api-reference/connect-social-accounts/custom-ui-flow"},{"title":"Channel Management","icon":"shuffle","href":"/api-reference/connect-social-accounts/channel-management"},{"title":"OAuth Options","icon":"key","href":"/api-reference/connect-social-accounts/oauth-options"},{"title":"Callback Parameters","icon":"route","href":"/api-reference/connect-social-accounts/callbacks"}]},{"title":"Webhooks","icon":"webhook","href":"/api-reference/webhooks"},{"title":"Examples","icon":"code","href":"/api-reference/examples"},{"title":"Analytics","icon":"chart-mixed","href":"/api-reference/analytics"},{"title":"Data Retention","icon":"clock-rotate-left","href":"/api-reference/data-retention"},{"title":"Platform Limits","icon":"ruler","href":"/api-reference/limits"},{"title":"Rate Limits","icon":"gauge-high","href":"/api-reference/rate-limits"},{"title":"Import Post History","icon":"file-import","href":"/api-reference/import-posts"},{"title":"Bulk Post from CSV","icon":"table-cells","href":"/api-reference/bulk-posts-csv"},{"title":"Media Upload","icon":"cloud-arrow-up","href":"/api-reference/upload-content"},{"title":"Errors","icon":"bug","href":"/api-reference/errors"},{"title":"Comments","icon":"comments","href":"/api-reference/comments"},{"group":"Direct Messages","icon":"inbox","pages":[{"title":"Direct Messages","icon":"inbox","href":"/api-reference/direct-messages"},{"title":"Setup","icon":"plug","href":"/api-reference/direct-messages/setup"},{"title":"Conversations","icon":"comments","href":"/api-reference/direct-messages/conversations"},{"title":"Sending Messages","icon":"paper-plane","href":"/api-reference/direct-messages/sending-messages"},{"title":"Private Replies","description":"Answer a Facebook or Instagram comment with a direct message.","icon":"reply","href":"/api-reference/direct-messages/private-replies"},{"title":"DM Webhooks","icon":"webhook","href":"/api-reference/direct-messages/webhooks"}]},{"group":"Automations","icon":"robot","pages":[{"title":"Automations","description":"Auto-reply to comments and DMs on Instagram, Facebook and TikTok. Keyword triggers, private replies, quick replies, buttons, execution logs and platform menus.","icon":"robot","href":"/api-reference/automations"},{"title":"Building Flows","icon":"diagram-project","href":"/api-reference/automations/building-flows"},{"title":"Managing Flows","icon":"sliders","href":"/api-reference/automations/managing-flows"},{"title":"How Flows Behave","icon":"lightbulb","href":"/api-reference/automations/how-flows-behave"},{"title":"Testing \u0026 Execution Logs","icon":"list-check","href":"/api-reference/automations/testing-and-logs"},{"title":"Ice Breakers \u0026 Persistent Menu","icon":"bars","href":"/api-reference/automations/provider-settings"},{"title":"Automation Webhooks","icon":"webhook","href":"/api-reference/automations/webhooks"},{"title":"Recipes","icon":"book-open","href":"/api-reference/automations/recipes"}]}]},{"group":"Platforms","pages":[{"title":"Platforms Overview","icon":"layer-group","href":"/api-reference/platforms/index"},{"group":"Instagram","icon":"instagram","pages":[{"title":"Instagram","icon":"instagram","href":"/api-reference/platforms/instagram"},{"title":"Instagram Music Library","icon":"music","href":"/api-reference/platforms/instagram-music"}]},{"group":"Facebook","icon":"facebook","pages":[{"title":"Facebook","icon":"facebook","href":"/api-reference/platforms/facebook"},{"title":"Facebook Page Reviews","icon":"facebook","href":"/api-reference/platforms/facebook-page-reviews"}]},{"title":"LinkedIn","icon":"linkedin","href":"/api-reference/platforms/linkedin"},{"group":"TikTok","icon":"tiktok","pages":[{"title":"TikTok","icon":"tiktok","href":"/api-reference/platforms/tiktok"},{"title":"TikTok Music (CML)","icon":"music","href":"/api-reference/platforms/tiktok-music"}]},{"title":"YouTube","icon":"youtube","href":"/api-reference/platforms/youtube"},{"title":"Snapchat","icon":"ghost","href":"/api-reference/platforms/snapchat"},{"title":"Twitter / X","icon":"x-twitter","href":"/api-reference/platforms/twitter"},{"title":"Threads","icon":"at","href":"/api-reference/platforms/threads"},{"title":"Pinterest","icon":"pinterest","href":"/api-reference/platforms/pinterest"},{"title":"Reddit","icon":"reddit","href":"/api-reference/platforms/reddit"},{"title":"Mastodon","icon":"mastodon","href":"/api-reference/platforms/mastodon"},{"title":"Bluesky","icon":"cloud","href":"/api-reference/platforms/bluesky"},{"title":"Discord","icon":"discord","href":"/api-reference/platforms/discord"},{"title":"Slack","icon":"slack","href":"/api-reference/platforms/slack"},{"group":"Google Business","icon":"google","pages":[{"title":"Google Business","icon":"google","href":"/api-reference/platforms/google-business"},{"title":"Google Business Location \u0026 profile","icon":"google","href":"/api-reference/platforms/google-business-location"},{"title":"Google Business Hours","icon":"google","href":"/api-reference/platforms/google-business-hours"},{"title":"Google Business Attributes","icon":"google","href":"/api-reference/platforms/google-business-attributes"},{"title":"Google Business Service list","icon":"google","href":"/api-reference/platforms/google-business-service-list"},{"title":"Google Business Food menus","icon":"google","href":"/api-reference/platforms/google-business-food-menus"},{"title":"Google Business Place action links","icon":"google","href":"/api-reference/platforms/google-business-place-action-links"},{"title":"Google Business Profile media","icon":"google","href":"/api-reference/platforms/google-business-profile-media"},{"title":"Google Business Reviews","icon":"google","href":"/api-reference/platforms/google-business-reviews"}]}]},{"group":"Guides","pages":[{"title":"Building a Scheduler","icon":"calendar-days","href":"/guides/building-scheduler"}]},{"group":"Endpoints","pages":[{"group":"app","pages":[{"title":"Get health","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/","href":"/api-reference/client/app/get-health"}]},{"group":"organization","pages":[{"title":"Get organization","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/","href":"/api-reference/client/organization/get-organization"},{"title":"Get organization posts usage","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/usage/posts","href":"/api-reference/client/organization/get-organization-posts-usage"},{"title":"Get organization comments usage","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/usage/comments","href":"/api-reference/client/organization/get-organization-comments-usage"},{"title":"Get organization uploads usage","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/usage/uploads","href":"/api-reference/client/organization/get-organization-uploads-usage"},{"title":"Get daily limits usage for one social account on a given day","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/usage/daily-limits","href":"/api-reference/client/organization/get-daily-limits-usage-for-one-social-account-on-a-given-day"},{"title":"Get organization imports usage per social account (paginated)","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/usage/imports","href":"/api-reference/client/organization/get-organization-imports-usage-per-social-account-paginated"},{"title":"Get DM and automation run usage per social account (paginated)","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/organization/usage/messages","href":"/api-reference/client/organization/get-dm-and-automation-run-usage-per-social-account-paginated"}]},{"group":"team","pages":[{"title":"Get team","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/team/{id}","href":"/api-reference/client/team/get-team"},{"title":"Delete team","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/team/{id}","href":"/api-reference/client/team/delete-team"},{"title":"Update team","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/team/{id}","href":"/api-reference/client/team/update-team"},{"title":"Get list of teams","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/team/","href":"/api-reference/client/team/get-list-of-teams"},{"title":"Create new team","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/team/","href":"/api-reference/client/team/create-new-team"}]},{"group":"socialAccount","pages":[{"title":"Connect social account for team","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/connect","href":"/api-reference/client/socialaccount/connect-social-account-for-team"},{"title":"Disconnect social account from team","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/social-account/disconnect","href":"/api-reference/client/socialaccount/disconnect-social-account-from-team"},{"title":"Set channel for social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/set-channel","href":"/api-reference/client/socialaccount/set-channel-for-social-account"},{"title":"Unset channel for social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/unset-channel","href":"/api-reference/client/socialaccount/unset-channel-for-social-account"},{"title":"Refresh channels for social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/refresh-channels","href":"/api-reference/client/socialaccount/refresh-channels-for-social-account"},{"title":"Create portal link","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/create-portal-link","href":"/api-reference/client/socialaccount/create-portal-link"},{"title":"Enable DM messaging for a social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/messaging/enable","href":"/api-reference/client/socialaccount/enable-dm-messaging-for-a-social-account"},{"title":"Disable DM messaging for a social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/messaging/disable","href":"/api-reference/client/socialaccount/disable-dm-messaging-for-a-social-account"},{"title":"Manually run connection/disconnect check","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/connection-check","href":"/api-reference/client/socialaccount/manually-run-connectiondisconnect-check"},{"title":"Manually refresh social account profile info","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/profile-refresh","href":"/api-reference/client/socialaccount/manually-refresh-social-account-profile-info"},{"title":"Get social account by team and type","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/social-account/by-type","href":"/api-reference/client/socialaccount/get-social-account-by-team-and-type"},{"title":"Copy social accounts","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/social-account/copy","href":"/api-reference/client/socialaccount/copy-social-accounts"},{"title":"Get paginated social accounts scheduled to delete","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/social-account/to-delete","href":"/api-reference/client/socialaccount/get-paginated-social-accounts-scheduled-to-delete"}]},{"group":"upload","pages":[{"title":"Get upload list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/upload/","href":"/api-reference/client/upload/get-upload-list"},{"title":"Create upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/","href":"/api-reference/client/upload/create-upload"},{"title":"Delete many uploads","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/upload/","href":"/api-reference/client/upload/delete-many-uploads"},{"title":"Get upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/upload/{id}","href":"/api-reference/client/upload/get-upload"},{"title":"Delete upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/upload/{id}","href":"/api-reference/client/upload/delete-upload"},{"title":"Create upload from URL","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/from-url","href":"/api-reference/client/upload/create-upload-from-url"},{"title":"Initialize large upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/init","href":"/api-reference/client/upload/initialize-large-upload"},{"title":"Finalize large upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/finalize","href":"/api-reference/client/upload/finalize-large-upload"},{"title":"Initialize multipart upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/multipart/init","href":"/api-reference/client/upload/initialize-multipart-upload"},{"title":"Re-sign multipart upload parts","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/multipart/sign","href":"/api-reference/client/upload/re-sign-multipart-upload-parts"},{"title":"Complete multipart upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/multipart/complete","href":"/api-reference/client/upload/complete-multipart-upload"},{"title":"Abort multipart upload","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/upload/multipart/abort","href":"/api-reference/client/upload/abort-multipart-upload"}]},{"group":"post","pages":[{"title":"Get posts that can be reconnected to a social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post/reconnect-social-account/candidates","href":"/api-reference/client/post/get-posts-that-can-be-reconnected-to-a-social-account"},{"title":"Reconnect social account to matching posts","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/post/reconnect-social-account","href":"/api-reference/client/post/reconnect-social-account-to-matching-posts"},{"title":"Get post by reference key","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post/reference-key/{referenceKey}","href":"/api-reference/client/post/get-post-by-reference-key"},{"title":"Get post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post/{id}","href":"/api-reference/client/post/get-post"},{"title":"Delete post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/post/{id}","href":"/api-reference/client/post/delete-post"},{"title":"Update post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/post/{id}","href":"/api-reference/client/post/update-post"},{"title":"Get post list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post/","href":"/api-reference/client/post/get-post-list"},{"title":"Create post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/post/","href":"/api-reference/client/post/create-post"},{"title":"Retry post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/post/{id}/retry","href":"/api-reference/client/post/retry-post"}]},{"group":"credit","pages":[{"title":"Get credit balance","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/billing/credits/balance","href":"/api-reference/client/credit/get-credit-balance"},{"title":"Quote a metered X action","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/billing/billable-usage/quote","href":"/api-reference/client/credit/quote-a-metered-x-action"}]},{"group":"analytics","pages":[{"title":"Get Social Account Analytics","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/analytics/social-account","href":"/api-reference/client/analytics/get-social-account-analytics"},{"title":"Get Post Analytics","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/analytics/post","href":"/api-reference/client/analytics/get-post-analytics"},{"title":"Get Social Account Analytics Raw","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/analytics/social-account/raw","href":"/api-reference/client/analytics/get-social-account-analytics-raw"},{"title":"Get Post Analytics Raw","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/analytics/post/raw","href":"/api-reference/client/analytics/get-post-analytics-raw"},{"title":"Get Bulk Post Analytics","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/analytics/post/bulk","href":"/api-reference/client/analytics/get-bulk-post-analytics"},{"title":"Force refresh social account analytics","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/analytics/social-account/force","href":"/api-reference/client/analytics/force-refresh-social-account-analytics"},{"title":"Force refresh post analytics","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/analytics/post/force","href":"/api-reference/client/analytics/force-refresh-post-analytics"}]},{"group":"comment","pages":[{"title":"Get comment import list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/comment/import","href":"/api-reference/client/comment/get-comment-import-list"},{"title":"Start a new comment import for a post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/comment/import","href":"/api-reference/client/comment/start-a-new-comment-import-for-a-post"},{"title":"Get fetched comments for a post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/comment/import/comments","href":"/api-reference/client/comment/get-fetched-comments-for-a-post"},{"title":"Run an action on a fetched comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/comment/import/comments/{commentId}/action","href":"/api-reference/client/comment/run-an-action-on-a-fetched-comment"},{"title":"Get comment import by ID","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/comment/import/{importId}","href":"/api-reference/client/comment/get-comment-import-by-id"},{"title":"Get comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/comment/{id}","href":"/api-reference/client/comment/get-comment"},{"title":"Delete comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/comment/{id}","href":"/api-reference/client/comment/delete-comment"},{"title":"Update comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/comment/{id}","href":"/api-reference/client/comment/update-comment"},{"title":"Get comment list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/comment/","href":"/api-reference/client/comment/get-comment-list"},{"title":"Create comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/comment/","href":"/api-reference/client/comment/create-comment"},{"title":"Retry comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/comment/{id}/retry","href":"/api-reference/client/comment/retry-comment"}]},{"group":"conversation","pages":[{"title":"Get conversations","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/conversations/","href":"/api-reference/client/conversation/get-conversations"},{"title":"Get conversation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/conversations/{id}","href":"/api-reference/client/conversation/get-conversation"},{"title":"Update conversation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/conversations/{id}","href":"/api-reference/client/conversation/update-conversation"},{"title":"Get conversation messages","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/conversations/{id}/messages","href":"/api-reference/client/conversation/get-conversation-messages"},{"title":"Send a conversation message","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/conversations/{id}/messages","href":"/api-reference/client/conversation/send-a-conversation-message"},{"title":"React or unreact to a conversation message","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/conversations/{id}/messages/{messageId}/reaction","href":"/api-reference/client/conversation/react-or-unreact-to-a-conversation-message"},{"title":"Mark conversation as read","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/conversations/{id}/read","href":"/api-reference/client/conversation/mark-conversation-as-read"},{"title":"Send a private reply to a fetched Meta comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/conversations/private-reply","href":"/api-reference/client/conversation/send-a-private-reply-to-a-fetched-meta-comment"},{"title":"Archive conversation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/conversations/{id}/archive","href":"/api-reference/client/conversation/archive-conversation"},{"title":"Open conversation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/conversations/{id}/open","href":"/api-reference/client/conversation/open-conversation"}]},{"group":"automation","pages":[{"title":"Get automation flows","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/automations","href":"/api-reference/client/automation/get-automation-flows"},{"title":"Create an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations","href":"/api-reference/client/automation/create-an-automation-flow"},{"title":"Copy automation flows between teams","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations/copy","href":"/api-reference/client/automation/copy-automation-flows-between-teams"},{"title":"Get an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/automations/{id}","href":"/api-reference/client/automation/get-an-automation-flow"},{"title":"Delete an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/automations/{id}","href":"/api-reference/client/automation/delete-an-automation-flow"},{"title":"Update an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/automations/{id}","href":"/api-reference/client/automation/update-an-automation-flow"},{"title":"Publish an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations/{id}/publish","href":"/api-reference/client/automation/publish-an-automation-flow"},{"title":"Pause an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations/{id}/pause","href":"/api-reference/client/automation/pause-an-automation-flow"},{"title":"Activate an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations/{id}/activate","href":"/api-reference/client/automation/activate-an-automation-flow"},{"title":"Archive an automation flow","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations/{id}/archive","href":"/api-reference/client/automation/archive-an-automation-flow"},{"title":"Get automation flow executions","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/automations/{id}/executions","href":"/api-reference/client/automation/get-automation-flow-executions"},{"title":"Get an automation execution","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/automation-executions/{id}","href":"/api-reference/client/automation/get-an-automation-execution"},{"title":"Run an automation flow test","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automations/{id}/test","href":"/api-reference/client/automation/run-an-automation-flow-test"},{"title":"Get automation provider settings","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/automation-provider-settings","href":"/api-reference/client/automation/get-automation-provider-settings"},{"title":"Create or update automation provider settings","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json put /api/v1/automation-provider-settings/{socialAccountId}/{type}","href":"/api-reference/client/automation/create-or-update-automation-provider-settings"},{"title":"Sync automation provider settings","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automation-provider-settings/{id}/sync","href":"/api-reference/client/automation/sync-automation-provider-settings"},{"title":"Send a rich automation message to a conversation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/automation-rich-messages/conversations/{conversationId}","href":"/api-reference/client/automation/send-a-rich-automation-message-to-a-conversation"}]},{"group":"misc","pages":[{"title":"Set or change thumbnail for a YouTube video","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/youtube/thumbnail","href":"/api-reference/client/misc/set-or-change-thumbnail-for-a-youtube-video"},{"title":"Get channel playlists","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/youtube/playlist","href":"/api-reference/client/misc/get-channel-playlists"},{"title":"Update an existing playlist","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json put /api/v1/misc/youtube/playlist","href":"/api-reference/client/misc/update-an-existing-playlist"},{"title":"Create a new playlist","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/youtube/playlist","href":"/api-reference/client/misc/create-a-new-playlist"},{"title":"Delete a channel playlist","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/youtube/playlist/{playlistId}","href":"/api-reference/client/misc/delete-a-channel-playlist"},{"title":"Get videos from a playlist","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/youtube/playlist-items","href":"/api-reference/client/misc/get-videos-from-a-playlist"},{"title":"Add a video to a playlist","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/youtube/playlist-items","href":"/api-reference/client/misc/add-a-video-to-a-playlist"},{"title":"Remove a video from a playlist","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/youtube/playlist-items/{playlistItemId}","href":"/api-reference/client/misc/remove-a-video-from-a-playlist"},{"title":"Delete a YouTube video","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/youtube/video","href":"/api-reference/client/misc/delete-a-youtube-video"},{"title":"Edit YouTube video metadata","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/youtube/video","href":"/api-reference/client/misc/edit-youtube-video-metadata"},{"title":"Delete a YouTube comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/youtube/comment","href":"/api-reference/client/misc/delete-a-youtube-comment"},{"title":"Edit YouTube comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/youtube/comment","href":"/api-reference/client/misc/edit-youtube-comment"},{"title":"Get YouTube video categories","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/youtube/video-categories","href":"/api-reference/client/misc/get-youtube-video-categories"},{"title":"Get YouTube regions","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/youtube/regions","href":"/api-reference/client/misc/get-youtube-regions"},{"title":"Get Linkedin mentionable tags (people \u0026 organizations)","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/linkedin/mentions/tags","href":"/api-reference/client/misc/get-linkedin-mentionable-tags-people-\u0026-organizations"},{"title":"Build Linkedin text, insert mentions at tag placeholders.","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/linkedin/mentions/builder","href":"/api-reference/client/misc/build-linkedin-text-insert-mentions-at-tag-placeholders"},{"title":"Reshare an existing LinkedIn post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/linkedin/post/reshare","href":"/api-reference/client/misc/reshare-an-existing-linkedin-post"},{"title":"Delete a LinkedIn post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/linkedin/post","href":"/api-reference/client/misc/delete-a-linkedin-post"},{"title":"Edit an existing LinkedIn post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/linkedin/post","href":"/api-reference/client/misc/edit-an-existing-linkedin-post"},{"title":"Delete a LinkedIn comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/linkedin/comment","href":"/api-reference/client/misc/delete-a-linkedin-comment"},{"title":"Edit an existing LinkedIn comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/linkedin/comment","href":"/api-reference/client/misc/edit-an-existing-linkedin-comment"},{"title":"List Google Business media items","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/media","href":"/api-reference/client/misc/list-google-business-media-items"},{"title":"Add a media item (photo/video) using uploadId and category","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/google-business/media","href":"/api-reference/client/misc/add-a-media-item-photovideo-using-uploadid-and-category"},{"title":"Delete Google Business media item","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/google-business/media","href":"/api-reference/client/misc/delete-google-business-media-item"},{"title":"Delete a Google Business post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/google-business/post","href":"/api-reference/client/misc/delete-a-google-business-post"},{"title":"Get Google Business location profile","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location","href":"/api-reference/client/misc/get-google-business-location-profile"},{"title":"Update Google Business location profile fields","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/google-business/location","href":"/api-reference/client/misc/update-google-business-location-profile-fields"},{"title":"Update Google Business regular/special/more hours","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/google-business/location/hours","href":"/api-reference/client/misc/update-google-business-regularspecialmore-hours"},{"title":"Get Google Business location attributes","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/attributes","href":"/api-reference/client/misc/get-google-business-location-attributes"},{"title":"Update Google Business location attributes","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/google-business/location/attributes","href":"/api-reference/client/misc/update-google-business-location-attributes"},{"title":"List available Google Business attributes","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/attributes/available","href":"/api-reference/client/misc/list-available-google-business-attributes"},{"title":"List the search terms customers used to find the location","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/search-keywords","href":"/api-reference/client/misc/list-the-search-terms-customers-used-to-find-the-location"},{"title":"List available Google Business categories","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/categories/available","href":"/api-reference/client/misc/list-available-google-business-categories"},{"title":"Get Google Business service list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/service-list","href":"/api-reference/client/misc/get-google-business-service-list"},{"title":"Update Google Business service list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/google-business/location/service-list","href":"/api-reference/client/misc/update-google-business-service-list"},{"title":"Get Google Business food menus","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/food-menus","href":"/api-reference/client/misc/get-google-business-food-menus"},{"title":"Update Google Business food menus","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/google-business/location/food-menus","href":"/api-reference/client/misc/update-google-business-food-menus"},{"title":"List Google Business place action links","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/location/place-action-links","href":"/api-reference/client/misc/list-google-business-place-action-links"},{"title":"Create Google Business place action link","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/google-business/location/place-action-links","href":"/api-reference/client/misc/create-google-business-place-action-link"},{"title":"Delete Google Business place action link","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/google-business/location/place-action-links","href":"/api-reference/client/misc/delete-google-business-place-action-link"},{"title":"Update Google Business place action link","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/google-business/location/place-action-links","href":"/api-reference/client/misc/update-google-business-place-action-link"},{"title":"Get review import status list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/reviews/import","href":"/api-reference/client/misc/get-review-import-status-list"},{"title":"Start a new Google Reviews import","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/google-business/reviews/import","href":"/api-reference/client/misc/start-a-new-google-reviews-import"},{"title":"Get review import by ID","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/reviews/import/{importId}","href":"/api-reference/client/misc/get-review-import-by-id"},{"title":"List imported Google Reviews","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/reviews","href":"/api-reference/client/misc/list-imported-google-reviews"},{"title":"Get a single imported Google Review","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/google-business/reviews/{reviewId}","href":"/api-reference/client/misc/get-a-single-imported-google-review"},{"title":"Reply to a Google Review (creates or updates the owner reply)","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json put /api/v1/misc/google-business/reviews/{reviewId}/reply","href":"/api-reference/client/misc/reply-to-a-google-review-creates-or-updates-the-owner-reply"},{"title":"Delete the owner reply from a Google Review","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/google-business/reviews/{reviewId}/reply","href":"/api-reference/client/misc/delete-the-owner-reply-from-a-google-review"},{"title":"Get subreddit post requirements (flair required/enabled)","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/reddit/post-requirements","href":"/api-reference/client/misc/get-subreddit-post-requirements-flair-requiredenabled"},{"title":"Get subreddit flairs list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/reddit/subreddit-flairs","href":"/api-reference/client/misc/get-subreddit-flairs-list"},{"title":"Delete a Reddit post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/reddit/post","href":"/api-reference/client/misc/delete-a-reddit-post"},{"title":"Edit an existing Reddit post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/reddit/post","href":"/api-reference/client/misc/edit-an-existing-reddit-post"},{"title":"Delete a Reddit comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/reddit/comment","href":"/api-reference/client/misc/delete-a-reddit-comment"},{"title":"Edit an existing Reddit comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/reddit/comment","href":"/api-reference/client/misc/edit-an-existing-reddit-comment"},{"title":"Search for Instagram Business/Creator user by username","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/instagram/tags","href":"/api-reference/client/misc/search-for-instagram-businesscreator-user-by-username"},{"title":"Search Instagram location IDs","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/instagram/locations","href":"/api-reference/client/misc/search-instagram-location-ids"},{"title":"Search Instagram audio assets","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/instagram/audio","href":"/api-reference/client/misc/search-instagram-audio-assets"},{"title":"Delete an Instagram comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/instagram/comment","href":"/api-reference/client/misc/delete-an-instagram-comment"},{"title":"Search Facebook Pages","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/pages","href":"/api-reference/client/misc/search-facebook-pages"},{"title":"List Facebook text background presets","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/text-format-presets","href":"/api-reference/client/misc/list-facebook-text-background-presets"},{"title":"Get Facebook token debug details","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/token-debug","href":"/api-reference/client/misc/get-facebook-token-debug-details"},{"title":"Get Facebook recommendations import status list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/recommendations/import","href":"/api-reference/client/misc/get-facebook-recommendations-import-status-list"},{"title":"Start a new Facebook recommendations import","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/facebook/recommendations/import","href":"/api-reference/client/misc/start-a-new-facebook-recommendations-import"},{"title":"Get Facebook recommendations import by ID","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/recommendations/import/{importId}","href":"/api-reference/client/misc/get-facebook-recommendations-import-by-id"},{"title":"List imported Facebook recommendations","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/recommendations","href":"/api-reference/client/misc/list-imported-facebook-recommendations"},{"title":"Get a single imported Facebook recommendation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/recommendations/{recommendationId}","href":"/api-reference/client/misc/get-a-single-imported-facebook-recommendation"},{"title":"Get recommendation thread comments","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/facebook/recommendations/{recommendationId}/comments","href":"/api-reference/client/misc/get-recommendation-thread-comments"},{"title":"Reply to a Facebook recommendation","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json put /api/v1/misc/facebook/recommendations/{recommendationId}/reply","href":"/api-reference/client/misc/reply-to-a-facebook-recommendation"},{"title":"Reply to a Facebook recommendation thread comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json put /api/v1/misc/facebook/recommendations/{recommendationId}/comments/{commentId}/reply","href":"/api-reference/client/misc/reply-to-a-facebook-recommendation-thread-comment"},{"title":"Delete a Facebook post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/facebook/post","href":"/api-reference/client/misc/delete-a-facebook-post"},{"title":"Edit an existing Facebook post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/facebook/post","href":"/api-reference/client/misc/edit-an-existing-facebook-post"},{"title":"Delete a Facebook comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/facebook/comment","href":"/api-reference/client/misc/delete-a-facebook-comment"},{"title":"Edit a Facebook comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/facebook/comment","href":"/api-reference/client/misc/edit-a-facebook-comment"},{"title":"Delete a Pinterest pin","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/pinterest/pin","href":"/api-reference/client/misc/delete-a-pinterest-pin"},{"title":"[DISABLED] Edit an existing Pinterest pin","deprecated":true,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/pinterest/pin","href":"/api-reference/client/misc/[disabled]-edit-an-existing-pinterest-pin"},{"title":"Delete a Mastodon status","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/mastodon/status","href":"/api-reference/client/misc/delete-a-mastodon-status"},{"title":"Edit an existing Mastodon status","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/mastodon/status","href":"/api-reference/client/misc/edit-an-existing-mastodon-status"},{"title":"Delete a Mastodon comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/mastodon/comment","href":"/api-reference/client/misc/delete-a-mastodon-comment"},{"title":"Edit a Mastodon comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/mastodon/comment","href":"/api-reference/client/misc/edit-a-mastodon-comment"},{"title":"Delete a Slack message","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/slack/message","href":"/api-reference/client/misc/delete-a-slack-message"},{"title":"Edit an existing Slack message","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json patch /api/v1/misc/slack/message","href":"/api-reference/client/misc/edit-an-existing-slack-message"},{"title":"Delete a Bluesky post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/bluesky/post","href":"/api-reference/client/misc/delete-a-bluesky-post"},{"title":"Delete a Bluesky comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/bluesky/comment","href":"/api-reference/client/misc/delete-a-bluesky-comment"},{"title":"Delete a Twitter/X tweet","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/twitter/tweet","href":"/api-reference/client/misc/delete-a-twitterx-tweet"},{"title":"Delete a Twitter/X comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/twitter/comment","href":"/api-reference/client/misc/delete-a-twitterx-comment"},{"title":"Repost a Twitter/X post","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/misc/twitter/retweet","href":"/api-reference/client/misc/repost-a-twitterx-post"},{"title":"Undo a Twitter/X repost","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/twitter/retweet","href":"/api-reference/client/misc/undo-a-twitterx-repost"},{"title":"Delete a Discord message","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/discord/message","href":"/api-reference/client/misc/delete-a-discord-message"},{"title":"Search TikTok location tags","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/tiktok/locations","href":"/api-reference/client/misc/search-tiktok-location-tags"},{"title":"Get popular tracks from TikTok Commercial Music Library","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/tiktok/cml/trending-list","href":"/api-reference/client/misc/get-popular-tracks-from-tiktok-commercial-music-library"},{"title":"Delete a TikTok comment","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/misc/tiktok/comment","href":"/api-reference/client/misc/delete-a-tiktok-comment"},{"title":"Get the posting options of a TikTok account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/misc/tiktok/post-settings","href":"/api-reference/client/misc/get-the-posting-options-of-a-tiktok-account"}]},{"group":"postImport","pages":[{"title":"Get import status list","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-history-import/","href":"/api-reference/client/postimport/get-import-status-list"},{"title":"Start a new post history import","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/post-history-import/","href":"/api-reference/client/postimport/start-a-new-post-history-import"},{"title":"Get import by ID","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-history-import/{importId}","href":"/api-reference/client/postimport/get-import-by-id"},{"title":"Get imported posts with analytics for a social account","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-history-import/posts","href":"/api-reference/client/postimport/get-imported-posts-with-analytics-for-a-social-account"},{"title":"Bulk delete imported posts and their analytics","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json delete /api/v1/post-history-import/posts","href":"/api-reference/client/postimport/bulk-delete-imported-posts-and-their-analytics"},{"title":"Retry a failed import","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/post-history-import/{importId}/retry","href":"/api-reference/client/postimport/retry-a-failed-import"}]},{"group":"postCSV","pages":[{"title":"Get post CSV import history","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-csv-import/","href":"/api-reference/client/postcsv/get-post-csv-import-history"},{"title":"Create post CSV import","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json post /api/v1/post-csv-import/","href":"/api-reference/client/postcsv/create-post-csv-import"},{"title":"Get post CSV import details","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-csv-import/{importId}","href":"/api-reference/client/postcsv/get-post-csv-import-details"},{"title":"Get post CSV import processing status","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-csv-import/{importId}/status","href":"/api-reference/client/postcsv/get-post-csv-import-processing-status"},{"title":"Get post CSV import row results","deprecated":null,"version":null,"openapi":"https://api.bundle.social/swagger-json get /api/v1/post-csv-import/{importId}/rows","href":"/api-reference/client/postcsv/get-post-csv-import-row-results"}]}]}]},{"tab":"Knowledge","pages":[{"title":"Knowledge","href":"/knowledge"}]},{"tab":"Blog","href":"https://bundle.social/blog"},{"tab":"Comparison","pages":[{"title":"Comparison","href":"/comparison"}]}]},"basePath":"","title":"DM Webhooks - bundle.social","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}