Deliver one synthetic event to your sandbox webhook endpoint, signed with your sandbox secret and
recorded in GET /webhook-logs exactly like a real delivery. Use it to exercise every handler before
going live. Live keys receive 403.
Every event type you can subscribe to is supported, and the event is delivered whether or not your
sandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on.
The payload has the same shape as the real event; metadata.test is "true" and metadata.sandbox is
"true" so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SideShift","description":"API documentation for SideShift — campaign operations, embedded payments, and social data.","colors":{"primary":"#2E6FE0","light":"#3C83F9","dark":"#2E6FE0"},"logo":{"light":"https://mintcdn.com/sideshift/oTyWBbQpawmh0yna/logo/light.svg?fit=max\u0026auto=format\u0026n=oTyWBbQpawmh0yna\u0026q=85\u0026s=067b5f4d28c1d362dd1035d42fd4cf61","dark":"https://mintcdn.com/sideshift/oTyWBbQpawmh0yna/logo/light.svg?fit=max\u0026auto=format\u0026n=oTyWBbQpawmh0yna\u0026q=85\u0026s=067b5f4d28c1d362dd1035d42fd4cf61","href":"https://sideshift.app"},"favicon":"https://mintcdn.com/sideshift/oTyWBbQpawmh0yna/favicon.svg?fit=max\u0026auto=format\u0026n=oTyWBbQpawmh0yna\u0026q=85\u0026s=9a8515441d19975691d5531716a644ba","appearance":{"default":"light","strict":true},"background":{"color":{"light":"#FFFFFF"}},"navbar":{"links":[{"href":"https://app.sideshift.app","label":"Dashboard"}],"primary":{"type":"button","label":"Choose OAuth flow","href":"/authentication"}},"fonts":{"family":"Geist"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sideshift","hasAudioNarration":false,"actualSubdomain":"sideshift","customDomains":["docs.sideshift.app"],"gitSource":{"type":"github","owner":"sideshiftapp","repo":"sideshift-monorepo","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade7b6f018724cf90808947","collectionId":"e2a35d62-3745-4438-ab70-95c8294a6ef6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade7b6f018724cf90808947"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae0c07eb2d56c99c7a60ebc","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Platform API","count":391},{"language":"default","tag":"OAuth 2.1 \u0026 MCP","count":347},{"language":"default","tag":"Content \u0026 Analytics","count":111},{"language":"default","tag":"Reference","count":109},{"language":"default","tag":"Scraper","count":77},{"language":"default","tag":"Payments \u0026 Finance","count":66},{"language":"default","tag":"Ads","count":58},{"language":"default","tag":"Company \u0026 Team","count":55},{"language":"default","tag":"Creators \u0026 Recruiting","count":52},{"language":"default","tag":"Connect","count":50}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"@keyframes ss-modal-in{0%{opacity:0}to{opacity:1}}:root{--ds-blue:#3c83f9;--ds-blue-light:#ebf2fe;--ds-blue-mid:#7eb4ff;--ds-text-primary:#202020;--ds-text-secondary:#707070;--ds-text-tertiary:#979a9b;--ds-surface:#ffffff;--ds-surface-secondary:#fafafa;--ds-surface-page:#f6f6f6;--ds-surface-muted:#7b818c0d;--ds-surface-inverse:#202020;--ds-border:#20202014;--ds-border-strong:#20202029;--ds-radius-sm:8px;--ds-radius-md:12px;--ds-radius-lg:16px;--ds-shadow-xs:0px 1px 2px 0px #6865650f;--ds-shadow-sm:0px 2px 4px -1px #01416314;--ds-shadow-md:0px 4px 8px -2px #0141631a, 0px 2px 4px -1px #0141630f;--ds-shadow-lg:0px 12px 24px -4px #0141631a, 0px 4px 8px -2px #0141630a;--ds-shadow-card:0px 2px 4px -1px #01416314, 0px 0px 0px 1px #20202014;--ds-tracking-tight:-0.02em;--ds-heading-weight:550;--ds-body-weight:350;--ds-button-weight:600}#navbar>div:first-child{background-color:var(--ds-surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important;border-bottom-color:var(--ds-border)!important}.sidebar-group-header{border-top:1px solid var(--ds-border);padding-top:1rem;margin-right:.9rem}ul.sidebar-group:first-child{border-top:1px solid var(--ds-border);padding-top:1rem;margin-right:.9rem}ul.sidebar-group:has(>li>ul>li>button)>li>button{font-weight:600;color:var(--ds-text-primary)}ul.sidebar-group>li:has(>ul>li>button)+li:has(>ul>li>button){margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--ds-border);margin-right:.9rem}ul.sidebar-group>li:has(>ul>li>button)>ul{position:relative}ul.sidebar-group>li:has(>ul>li>button)>ul::before{content:\"\";position:absolute;left:8px;top:.15rem;bottom:.15rem;width:1px;border-radius:1px;background:var(--ds-border-strong);transition:background-color .18s ease}ul.sidebar-group>li:has(>ul>li>button)>ul:has([data-active-nav-item=true])::before{background:var(--ds-blue)}ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)){position:relative}ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button))::before{content:\"\";position:absolute;left:0;top:.15rem;bottom:.15rem;width:1px;border-radius:1px;background:var(--ds-border-strong);transition:background-color .18s ease}#navigation-items>ul.sidebar-group:not(:has(li+li)):has([data-active-nav-item=true])::before,.sidebar-group-header+ul.sidebar-group:not(:has(button)):has([data-active-nav-item=true])::before,ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)):has([data-active-nav-item=true])::before{background:var(--ds-blue)}.sidebar-group-header+ul.sidebar-group:not(:has(button)){position:relative}#navigation-items>ul.sidebar-group:not(:has(li+li))::before,.sidebar-group-header+ul.sidebar-group:not(:has(button))::before{content:\"\";position:absolute;left:0;top:.15rem;bottom:.15rem;width:1px;border-radius:1px;background:var(--ds-border-strong);transition:background-color .18s ease}#navigation-items>ul.sidebar-group:not(:has(li+li)){position:relative;padding-top:0;margin-top:16px}#navigation-items>ul.sidebar-group:not(:has(li+li)) li:has(>a:hover)::after{content:\"\";position:absolute;top:1px;bottom:1px;left:-1px;width:3px;border-radius:3px;background:var(--ds-blue);pointer-events:none}ul.sidebar-group li{position:relative}.sidebar-group-header+ul.sidebar-group:not(:has(button)) li:has(>a:hover)::after,ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li:has(>a:hover)::after,ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li:has(>button:hover)::after,ul.sidebar-group>li:has(>ul>li>button)>ul li:has(>a:hover)::after,ul.sidebar-group>li:has(>ul>li>button)>ul li:has(>button:hover)::after{content:\"\";position:absolute;top:1px;bottom:1px;width:3px;border-radius:3px;background:var(--ds-blue);pointer-events:none}ul.sidebar-group>li:has(>ul>li>button)>ul li:has(>a:hover)::after,ul.sidebar-group>li:has(>ul>li>button)>ul li:has(>button:hover)::after{left:7px}.sidebar-group-header+ul.sidebar-group:not(:has(button)) li:has(>a:hover)::after,ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li:has(>a:hover)::after,ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li:has(>button:hover)::after{left:-1px}ul.sidebar-group>li:has(>ul>li>button):has(>button:hover)>ul::before{background:var(--ds-blue);width:3px;left:6.5px}ul.sidebar-group li:has(>a[aria-current=page])>a{background-color:transparent!important;position:relative}ul.sidebar-group li:has(>a[aria-current=page])::before{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:12px;background:rgb(60 131 249/.1);pointer-events:none}ul.sidebar-group>li:has(>ul>li>button)>ul li:has(>a[aria-current=page])::before{left:12px}ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li:has(>a[aria-current=page])::before{left:4px}ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li>a:not([aria-current=page]):hover,ul.sidebar-group:has(>li>button):not(:has(>li>ul>li>button)) li>button:hover,ul.sidebar-group>li:has(>ul>li>button)>button:hover,ul.sidebar-group>li:has(>ul>li>button)>ul li>a:not([aria-current=page]):hover,ul.sidebar-group>li:has(>ul>li>button)>ul li>button:hover{background-color:transparent!important}li[id$=\"/accountrisk_flagged\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/depositconfirmed\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/depositfailed\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/depositpending\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/transfercompleted\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/withdrawalcompleted\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/withdrawalcreated\"] .method-nav-pill>span[class*=bg-blue-400],li[id$=\"/withdrawalupdated\"] .method-nav-pill>span[class*=bg-blue-400]{background-color:rgb(167 139 250/.22)!important;color:#6d28d9!important}li[id$=\"/accountrisk_flagged\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/depositconfirmed\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/depositfailed\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/depositpending\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/transfercompleted\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/withdrawalcompleted\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/withdrawalcreated\"] .method-nav-pill>span[class*=\"3064E3\"],li[id$=\"/withdrawalupdated\"] .method-nav-pill>span[class*=\"3064E3\"]{background-color:#6d28d9!important;color:#fff!important}html:has(li[id$=\"/accountrisk_flagged\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/depositconfirmed\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/depositfailed\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/depositpending\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/transfercompleted\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/withdrawalcompleted\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/withdrawalcreated\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400],html:has(li[id$=\"/withdrawalupdated\"][data-active-nav-item=true]) .method-pill[class*=bg-blue-400]{background-color:rgb(167 139 250/.22)!important;color:#6d28d9!important}.prose table,main table{display:block;width:100%;overflow-x:auto}.ss-page{max-width:72rem;margin:0 auto;padding:4.5rem 2rem 6rem}@media (max-width:640px){.ss-page{padding:2.5rem 1.15rem 3.5rem}}.ss-hero{padding:0 0 3.5rem}.ss-hero__eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:12px;font-weight:var(--ds-button-weight);letter-spacing:.055em;text-transform:uppercase;background:var(--ds-blue-light);border-radius:9999px;padding:.32rem .75rem;margin-bottom:1.35rem}.ss-hero__eyebrow::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--ds-blue)}.ss-hero h1{font-size:clamp(2.5rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.03em;font-weight:700;margin:0 0 1.1rem;color:var(--ds-text-primary)}.ss-hero h1 .ss-accent,.ss-hero__eyebrow{color:var(--ds-blue)}.ss-hero p{font-size:1.1875rem;font-weight:var(--ds-body-weight);line-height:1.6;color:var(--ds-text-secondary);max-width:44rem;margin:0}.ss-hero p+.ss-hero__sub{font-size:1.0625rem;margin-top:1rem;color:var(--ds-text-tertiary)}.ss-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 4rem;align-items:stretch}@media (max-width:1080px){.ss-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.ss-rows{grid-template-columns:minmax(0,1fr)}}.ss-row{display:flex;flex-direction:column;padding:1.6rem;border-radius:var(--ds-radius-lg);background:var(--ds-surface);box-shadow:var(--ds-shadow-card);text-decoration:none!important;transition:transform .16s ease,box-shadow .16s ease}.ss-row:hover{transform:translateY(-2px);box-shadow:var(--ds-shadow-lg),0 0 0 1px var(--ds-border-strong)}.ss-row__icon{display:block;width:4rem;height:4rem;flex:none;margin:0 0 1rem}.ss-row__title{font-size:1.25rem;font-weight:var(--ds-heading-weight);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text-primary);margin:0 0 .45rem}.ss-row__desc{font-size:.9375rem;font-weight:var(--ds-body-weight);line-height:1.55;color:var(--ds-text-secondary);margin:0 0 1.1rem}.ss-row__aside{margin-top:auto;border-top:1px solid var(--ds-border);padding-top:.95rem;display:flex;flex-direction:column;gap:.85rem}.ss-row__pick{font-size:13px;line-height:1.5;font-weight:var(--ds-body-weight);color:var(--ds-text-secondary);margin:0}.ss-row__pick strong{color:var(--ds-text-primary);font-weight:600}.ss-tile__badge,.ss-tile__icon{color:var(--ds-blue);background:var(--ds-blue-light)}.ss-tile__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--ds-radius-md)}.ss-tile__badge{display:inline-block;font-size:12px;font-weight:var(--ds-button-weight);letter-spacing:.04em;text-transform:uppercase;padding:.25rem .6rem;border-radius:9999px;white-space:nowrap}.ss-tile__badge--muted,.ss-tile__list li{color:var(--ds-text-secondary);background:var(--ds-surface-muted);box-shadow:inset 0 0 0 1px var(--ds-border)}.ss-tile__title{font-size:1.28rem;font-weight:var(--ds-heading-weight);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text-primary);margin:0 0 .5rem}.ss-tile__desc{font-size:.9375rem;font-weight:var(--ds-body-weight);line-height:1.58;color:var(--ds-text-secondary);margin:0 0 1.15rem}.ss-tile__list{list-style:none!important;padding:0!important;margin:0 0 1.35rem!important;display:flex;flex-wrap:wrap;gap:.375rem}.ss-tile__list li{list-style:none!important;font-size:13px;font-weight:500;border-radius:var(--ds-radius-sm);padding:.2rem .5rem!important;margin:0!important}.ss-tile__list li::before,.ss-tile__list li::marker{content:none!important;display:none!important}.ss-tile__foot{display:flex;align-items:center;gap:.4rem;font-size:14px;font-weight:var(--ds-button-weight);color:var(--ds-blue);white-space:nowrap}.ss-tile__foot svg{transition:transform .16s ease}.ss-row:hover .ss-tile__foot svg{transform:translateX(3px)}.ss-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem}@media (max-width:860px){.ss-jump{grid-template-columns:minmax(0,1fr)}}.ss-jump__card{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;border-radius:var(--ds-radius-md);background:var(--ds-surface);box-shadow:var(--ds-shadow-card);text-decoration:none!important;transition:background-color .16s ease,box-shadow .16s ease}.ss-jump__card:hover{background:var(--ds-surface-secondary);box-shadow:var(--ds-shadow-card),inset 0 0 0 1px var(--ds-border-strong)}.ss-jump__icon{width:2.5rem;height:2.5rem;flex:none;margin:0}.ss-jump__text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ss-jump__title{font-size:.9375rem;font-weight:600;letter-spacing:var(--ds-tracking-tight);color:var(--ds-text-primary)}.ss-jump__desc{font-size:13px;font-weight:var(--ds-body-weight);line-height:1.45;color:var(--ds-text-secondary)}.ss-section-label{font-size:12px;font-weight:var(--ds-button-weight);letter-spacing:.075em;text-transform:uppercase;color:var(--ds-text-tertiary);margin:0 0 1rem}.ss-fork{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;margin:0 0 2rem}@media (max-width:720px){.ss-fork{grid-template-columns:minmax(0,1fr)}}.ss-fork__card{display:flex;flex-direction:column;padding:1.25rem;border-radius:var(--ds-radius-md);background:var(--ds-surface);box-shadow:var(--ds-shadow-card);text-decoration:none!important;transition:transform .16s ease,box-shadow .16s ease}.ss-fork__card:hover{transform:translateY(-2px);box-shadow:var(--ds-shadow-md),0 0 0 1px var(--ds-border-strong)}.ss-fork__card--recommended{background:var(--ds-blue-light);box-shadow:0 0 0 1px #3c83f92e}.ss-fork__card--recommended:hover{box-shadow:var(--ds-shadow-md),0 0 0 1px #3c83f94d}.ss-fork__card--recommended .ss-tile__badge{background:var(--ds-surface);color:var(--ds-blue);box-shadow:inset 0 0 0 1px #3c83f92e}.ss-fork__head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.55rem}.ss-fork__name{font-size:1.05rem;font-weight:var(--ds-heading-weight);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text-primary);margin:0}.ss-fork__desc{font-size:.9rem;font-weight:var(--ds-body-weight);line-height:1.55;color:var(--ds-text-secondary);margin:0 0 .9rem}.ss-fork__meta{margin-top:auto;font-size:12px;color:var(--ds-text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border-top:1px solid var(--ds-border);padding-top:.7rem}:not(pre)>code{padding-left:4px;padding-right:4px;margin-left:-2px;margin-right:-2px}.shiki,.shiki span{white-space:pre}.ss-credit{display:flex;width:fit-content;align-items:center;gap:.45rem;margin-top:4px;padding:.45rem .8rem;border:1px solid var(--ds-blue-mid);border-radius:var(--ds-radius-sm);background:var(--ds-blue-light);font-size:14px;font-weight:var(--ds-body-weight);line-height:1;color:var(--ds-blue);white-space:nowrap}.ss-credit+*{margin-top:12px!important}.ss-credit::before{content:\"\";flex:none;width:15px;height:15px;background:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233c83f9' stroke-width='1.4' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6.1'/%3E%3Cpath d='M8 4.7v6.6M6.3 6.5h3.4M6.3 9.5h3.4'/%3E%3C/svg%3E\") center/contain no-repeat}.ss-credit strong{color:var(--ds-text-primary);font-weight:var(--ds-button-weight)}#sidebar{width:var(--ss-sidebar-w, 18rem)!important;border-right:1px solid var(--ds-border)}#sidebar>div{right:10px!important}#sidebar [class*=scroll-area-fade-size]{padding-right:22px}.ss-sidebar-handle{position:relative;flex:none;align-self:stretch;width:9px;margin-left:-4px;margin-right:-5px;z-index:30;cursor:col-resize;background:0 0;touch-action:none}.ss-sidebar-handle::after{content:\"\";position:absolute;top:0;bottom:0;left:4px;width:1px;background:0 0;transition:background-color .12s ease,width .12s ease,left .12s ease}.ss-sidebar-handle:hover::after{left:3px;width:3px;background:var(--ds-blue-mid)}.ss-sidebar-handle:focus-visible{outline:0}.ss-sidebar-handle:focus-visible::after,html.ss-resizing .ss-sidebar-handle::after{left:3px;width:3px;background:var(--ds-blue)}html.ss-resizing,html.ss-resizing *{cursor:col-resize!important;user-select:none!important}html.ss-modal-open,html.ss-modal-open body,html[data-ss-sidebar-collapsed=true] #sidebar{overflow:hidden}html[data-ss-sidebar-collapsed=true] #sidebar>*{visibility:hidden}@media (max-width:1023px){.ss-sidebar-handle{display:none}#sidebar{width:auto!important;border-right:0}}#sidebar ul.sidebar-group :is(a, button)>div>div{flex-wrap:nowrap}#sidebar ul.sidebar-group :is(a, button) span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;hyphens:none}#sidebar ul.sidebar-group :is(a, button){align-items:center}.ss-launch{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0;padding:1.1rem 1.25rem;border-radius:var(--ds-radius-md);background:var(--ds-surface);box-shadow:var(--ds-shadow-card);text-decoration:none!important;transition:background-color .16s ease,box-shadow .16s ease}.ss-launch:hover{background:var(--ds-surface-secondary);box-shadow:var(--ds-shadow-card),inset 0 0 0 1px var(--ds-border-strong)}.ss-launch__body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.ss-launch__title{font-size:.95rem;font-weight:var(--ds-button-weight);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text-primary)}.ss-launch__sub{font-size:.825rem;color:var(--ds-text-secondary)}.ss-launch__arrow{flex:none;font-size:1.05rem;line-height:1;color:var(--ds-blue);transition:transform .16s ease}.ss-launch:hover .ss-launch__arrow{transform:translate(2px,-2px)}.ss-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2.5rem);background:#20202066;animation:ss-modal-in .16s ease}.ss-modal[hidden]{display:none}.ss-modal[data-instant=true]{animation:none}.ss-modal__bar,.ss-modal__panel{display:flex;background:var(--ds-surface)}.ss-modal__panel{flex-direction:column;width:min(1240px,100%);height:min(920px,100%);overflow:hidden;border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-lg),0 0 0 1px var(--ds-border-strong)}.ss-modal__bar{flex:none;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .9rem .7rem 1.1rem;border-bottom:1px solid var(--ds-border)}.ss-modal__title{font-size:.9rem;font-weight:var(--ds-button-weight);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text-primary)}.ss-modal__actions{display:flex;align-items:center;gap:.6rem}.ss-modal__link{font-size:.8rem;color:var(--ds-text-secondary);text-decoration:none!important}.ss-modal__close:hover,.ss-modal__link:hover{color:var(--ds-text-primary)}.ss-modal__close{display:flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:0;border-radius:var(--ds-radius-sm);background:0 0;font-size:1.3rem;line-height:1;color:var(--ds-text-secondary);cursor:pointer;transition:background-color .14s ease,color .14s ease}.ss-modal__close:hover{background:var(--ds-surface-secondary)}.ss-modal__frame{flex:1 1 auto;width:100%;min-height:0;border:0;display:block}html.ss-modal-open body{padding-right:var(--ss-modal-gap, 0px)}@media (prefers-reduced-motion:reduce){.ss-modal{animation:none}}.ss-modal__fallback{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:2rem;text-align:center}.ss-modal__fallback[hidden]{display:none}.ss-modal__fallback__text{margin:0;max-width:34ch;font-size:.9rem;color:var(--ds-text-secondary)}.ss-modal__fallback__cta{padding:.55rem 1.1rem;border-radius:var(--ds-radius-sm);background:var(--ds-blue);color:#fff!important;font-size:.875rem;font-weight:var(--ds-button-weight);text-decoration:none!important}"}],"page":{"pagePath":"connect/reference/webhooks/send-a-test-webhook","slug":"/connect/reference/webhooks/send-a-test-webhook","pageMetadata":{"title":"Send a test webhook","description":"Deliver one synthetic event to your **sandbox** webhook endpoint, signed with your sandbox secret and\nrecorded in `GET /webhook-logs` exactly like a real delivery. Use it to exercise every handler before\ngoing live. Live keys receive `403`.\n\nEvery event type you can subscribe to is supported, and the event is delivered whether or not your\nsandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on.\nThe payload has the same shape as the real event; `metadata.test` is `\"true\"` and `metadata.sandbox` is\n`\"true\"` so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\n","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /webhooks/test","href":"/connect/reference/webhooks/send-a-test-webhook","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Deliver one synthetic event to your \", _jsx(_components.strong, {\n children: \"sandbox\"\n }), \" webhook endpoint, signed with your sandbox secret and\\nrecorded in \", _jsx(_components.code, {\n children: \"GET /webhook-logs\"\n }), \" exactly like a real delivery. Use it to exercise every handler before\\ngoing live. Live keys receive \", _jsx(_components.code, {\n children: \"403\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Every event type you can subscribe to is supported, and the event is delivered whether or not your\\nsandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on.\\nThe payload has the same shape as the real event; \", _jsx(_components.code, {\n children: \"metadata.test\"\n }), \" is \", _jsx(_components.code, {\n children: \"\\\"true\\\"\"\n }), \" and \", _jsx(_components.code, {\n children: \"metadata.sandbox\"\n }), \" is\\n\", _jsx(_components.code, {\n children: \"\\\"true\\\"\"\n }), \" so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Send a test webhook","description":"Deliver one synthetic event to your **sandbox** webhook endpoint, signed with your sandbox secret and\nrecorded in `GET /webhook-logs` exactly like a real delivery. Use it to exercise every handler before\ngoing live. Live keys receive `403`.\n\nEvery event type you can subscribe to is supported, and the event is delivered whether or not your\nsandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on.\nThe payload has the same shape as the real event; `metadata.test` is `\"true\"` and `metadata.sandbox` is\n`\"true\"` so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\n","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /webhooks/test","href":"/connect/reference/webhooks/send-a-test-webhook","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/sideshift/87b877b70d161d1e/sidebar-state.js","/_mintlify/custom/sideshift/2e2d77d11acb5577/sidebar-resize.js","/_mintlify/custom/sideshift/ab0e397cf2c387df/playground-modal.js"],"openApiReferenceData":{"operation":{"tags":["Webhooks"],"summary":"Send a test webhook","operationId":"sendTestWebhook","description":"Deliver one synthetic event to your **sandbox** webhook endpoint, signed with your sandbox secret and\nrecorded in `GET /webhook-logs` exactly like a real delivery. Use it to exercise every handler before\ngoing live. Live keys receive `403`.\n\nEvery event type you can subscribe to is supported, and the event is delivered whether or not your\nsandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on.\nThe payload has the same shape as the real event; `metadata.test` is `\"true\"` and `metadata.sandbox` is\n`\"true\"` so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\n","requestBody":"2a866779-8cfa-40ea-a59d-190e9b106197","responses":{"200":"7982ea0f-370a-4ef7-8538-84b94944788a","400":"3b383797-fd78-49ee-a236-a8ce17fa231d","403":"68027d06-74b1-4c38-bd86-0c094297e9ef","502":"466cbfea-57f2-4048-a9c1-b0b1c687f467"},"method":"post","type":"path","servers":["5f705a65-a17e-4362-8eca-1f2d43e1caa1"],"security":["3522e4bc-d90f-4dda-9017-ccbd326e93de"],"path":"/webhooks/test","baseUrlOptions":["https://app.sideshift.app/api/embed"],"title":"Send a test webhook","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"eventType":{"type":"string","enum":["deposit.pending","deposit.confirmed","deposit.failed","transfer.completed","withdrawal.created","withdrawal.updated","withdrawal.completed","withdrawal.failed","account.risk_flagged"],"default":"deposit.confirmed","uniqueKey":"eventType","typeLabel":"enum\u003cstring>"},"sideshiftAccountId":{"type":"string","description":"Account id to place in the payload. Defaults to your company id.","uniqueKey":"sideshiftAccountId","typeLabel":"string"},"externalId":{"type":"string","uniqueKey":"externalId","typeLabel":"string"},"amountCents":{"type":"integer","minimum":1,"default":10000,"uniqueKey":"amountCents","typeLabel":"integer"},"feeCents":{"type":"integer","minimum":0,"default":0,"uniqueKey":"feeCents","typeLabel":"integer"},"netAmountCents":{"type":"integer","minimum":1,"description":"Defaults to `amountCents - feeCents`.","uniqueKey":"netAmountCents","typeLabel":"integer"},"depositId":{"type":"string","description":"`deposit.*` events only. Minted when omitted.","uniqueKey":"depositId","typeLabel":"string"},"paymentId":{"type":"string","description":"The payment, transfer or withdrawal id to echo. Minted when omitted.","uniqueKey":"paymentId","typeLabel":"string"},"status":{"type":"string","enum":["requested","awaiting_payment","in_transit","completed","failed","canceled","denied"],"description":"`withdrawal.updated` only. Defaults to `in_transit`.","uniqueKey":"status","typeLabel":"enum\u003cstring>"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"eventType":"withdrawal.updated","status":"in_transit","amountCents":25000,"feeCents":250},"examples":{"Example":{"title":"Example","value":{"eventType":"withdrawal.updated","status":"in_transit","amountCents":25000,"feeCents":250}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"7982ea0f-370a-4ef7-8538-84b94944788a":{"description":"The event was delivered and your endpoint answered 2xx","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","properties":{"eventType":{"type":"string","uniqueKey":"data.eventType","typeLabel":"string"},"delivered":{"type":"boolean","enum":[true],"uniqueKey":"data.delivered","typeLabel":"enum\u003cboolean>"},"sandbox":{"type":"boolean","enum":[true],"uniqueKey":"data.sandbox","typeLabel":"enum\u003cboolean>"},"depositId":{"type":"string","description":"`deposit.*` events only","uniqueKey":"data.depositId","typeLabel":"string"},"paymentId":{"type":"string","uniqueKey":"data.paymentId","typeLabel":"string"},"sideshiftAccountId":{"type":"string","uniqueKey":"data.sideshiftAccountId","typeLabel":"string"},"amountCents":{"type":"integer","uniqueKey":"data.amountCents","typeLabel":"integer"},"feeCents":{"type":"integer","uniqueKey":"data.feeCents","typeLabel":"integer"},"netAmountCents":{"type":"integer","uniqueKey":"data.netAmountCents","typeLabel":"integer"},"status":{"type":"string","uniqueKey":"data.status","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"data":{"eventType":"withdrawal.updated","delivered":true,"sandbox":true,"paymentId":"pay_test_5f4c1a2e","sideshiftAccountId":"acct_a1b2c3d4e5f6","amountCents":25000,"feeCents":250,"netAmountCents":24750,"status":"in_transit"}},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"eventType":"withdrawal.updated","delivered":true,"sandbox":true,"paymentId":"pay_test_5f4c1a2e","sideshiftAccountId":"acct_a1b2c3d4e5f6","amountCents":25000,"feeCents":250,"netAmountCents":24750,"status":"in_transit"}}}},"exampleType":"examples"}},"exampleType":"examples"},"3b383797-fd78-49ee-a236-a8ce17fa231d":{"description":"Invalid body (unknown eventType, non-integer amounts, non-string metadata)","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"68027d06-74b1-4c38-bd86-0c094297e9ef":{"description":"A live key was used. Test webhooks are sandbox only.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"466cbfea-57f2-4048-a9c1-b0b1c687f467":{"description":"No sandbox endpoint is configured, it is disabled, or it did not answer 2xx after every retry","content":{"application/json":{"schema":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Machine-readable error context. Amount-limit failures include cent-denominated requested and effective limits.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"WEBHOOK_DELIVERY_FAILED","message":"No webhook URL configured"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"WEBHOOK_DELIVERY_FAILED","message":"No webhook URL configured"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"3522e4bc-d90f-4dda-9017-ccbd326e93de":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your SideShift Connect API key (`sk_live_*` or `sk_test_*`). Generate from Settings → Connect.","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"5f705a65-a17e-4362-8eca-1f2d43e1caa1":{"url":"https://app.sideshift.app/api/embed","description":"Production / Sandbox (determined by API key prefix)"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your SideShift Connect API key (`sk_live_*` or `sk_test_*`). Generate from Settings → Connect.","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"Your SideShift Connect API key (`sk_live_*` or `sk_test_*`). Generate from Settings → Connect.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"x-api-key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"openapi/connect.yaml"},"subdomain":"sideshift","siteName":"SideShift","title":"Send a test webhook - SideShift","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T20:08:01.955Z","originalFileLocation":"connect/reference/webhooks/send-a-test-webhook.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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=\"Deliver one synthetic event to your sandbox webhook endpoint, signed with your sandbox secret and recorded in GET /webhook-logs exactly like a real delivery. Use it to exercise every handler before going live. Live keys receive 403. Every event type you can subscribe to is supported, and the event is delivered whether or not your sandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on. The payload has the same shape as the real event; metadata.test is \u0026quot;true\u0026quot; and metadata.sandbox is \u0026quot;true\u0026quot; so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SideShift\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_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/sideshift/HER0K4eGvuEqC4Kt/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send a test webhook - SideShift\">\u003cmeta data-mint-head property=\"og:description\" content=\"Deliver one synthetic event to your sandbox webhook endpoint, signed with your sandbox secret and recorded in GET /webhook-logs exactly like a real delivery. Use it to exercise every handler before going live. Live keys receive 403. Every event type you can subscribe to is supported, and the event is delivered whether or not your sandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on. The payload has the same shape as the real event; metadata.test is \u0026quot;true\u0026quot; and metadata.sandbox is \u0026quot;true\u0026quot; so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SideShift\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sideshift.mintlify.app/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Send+a+test+webhook\u0026amp;description=Deliver+one+synthetic+event+to+your+**sandbox**+webhook+endpoint%2C+signed+with+your+sandbox+secret+and%0Arecorded+in+%60GET+%2Fwebhook-logs%60+exactly+like+a+real+delive\u0026amp;theme=401dd8d7e2b95a95e9b00b05\u0026amp;signature=cf1d6dfe2e4788a5754c7268f92f71d57806aa7f683ef6f8510d5e8fbd31dbb5\">\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=\"Send a test webhook - SideShift\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Deliver one synthetic event to your sandbox webhook endpoint, signed with your sandbox secret and recorded in GET /webhook-logs exactly like a real delivery. Use it to exercise every handler before going live. Live keys receive 403. Every event type you can subscribe to is supported, and the event is delivered whether or not your sandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on. The payload has the same shape as the real event; metadata.test is \u0026quot;true\u0026quot; and metadata.sandbox is \u0026quot;true\u0026quot; so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sideshift.mintlify.app/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Send+a+test+webhook\u0026amp;description=Deliver+one+synthetic+event+to+your+**sandbox**+webhook+endpoint%2C+signed+with+your+sandbox+secret+and%0Arecorded+in+%60GET+%2Fwebhook-logs%60+exactly+like+a+real+delive\u0026amp;theme=401dd8d7e2b95a95e9b00b05\u0026amp;signature=cf1d6dfe2e4788a5754c7268f92f71d57806aa7f683ef6f8510d5e8fbd31dbb5\">\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/sideshift/HER0K4eGvuEqC4Kt/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SideShift\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E6FE0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/connect/reference/webhooks/send-a-test-webhook.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sideshift.app/#organization\",\"name\":\"SideShift\",\"url\":\"https://docs.sideshift.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sideshift/oTyWBbQpawmh0yna/logo/light.svg?fit=max\u0026auto=format\u0026n=oTyWBbQpawmh0yna\u0026q=85\u0026s=067b5f4d28c1d362dd1035d42fd4cf61\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sideshift.app#website\",\"name\":\"SideShift\",\"url\":\"https://docs.sideshift.app\",\"publisher\":{\"@id\":\"https://docs.sideshift.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook#webpage\",\"url\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook\",\"name\":\"Send a test webhook\",\"description\":\"Deliver one synthetic event to your sandbox webhook endpoint, signed with your sandbox secret and recorded in GET /webhook-logs exactly like a real delivery. Use it to exercise every handler before going live. Live keys receive 403. Every event type you can subscribe to is supported, and the event is delivered whether or not your sandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on. The payload has the same shape as the real event; metadata.test is \\\"true\\\" and metadata.sandbox is \\\"true\\\" so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\",\"dateModified\":\"2026-10-22T20:08:01.955Z\",\"isPartOf\":{\"@id\":\"https://docs.sideshift.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.sideshift.app/connect/reference/configuration/read-the-brands-multi-currency-preference\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webhooks\",\"item\":\"https://docs.sideshift.app/connect/reference/webhooks/list-webhook-delivery-logs\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Send a test webhook\",\"item\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook#apireference\",\"headline\":\"Send a test webhook\",\"name\":\"Send a test webhook\",\"description\":\"Deliver one synthetic event to your sandbox webhook endpoint, signed with your sandbox secret and recorded in GET /webhook-logs exactly like a real delivery. Use it to exercise every handler before going live. Live keys receive 403. Every event type you can subscribe to is supported, and the event is delivered whether or not your sandbox endpoint is subscribed to it, so a handler can be tested before the subscription is switched on. The payload has the same shape as the real event; metadata.test is \\\"true\\\" and metadata.sandbox is \\\"true\\\" so a receiver can tell a rehearsal apart. Fields that do not apply to the chosen event are ignored.\",\"url\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sideshift.app/connect/reference/webhooks/send-a-test-webhook#webpage\"},\"dateModified\":\"2026-10-22T20:08:01.955Z\",\"publisher\":{\"@id\":\"https://docs.sideshift.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sideshift.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SideShift\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SideShift","nav":{"global":null,"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":""}]},{"tab":"Platform API","icon":"briefcase-business","pages":[{"title":"Platform API","href":"/platform"}]},{"tab":"Connect","icon":"wallet","pages":[{"group":"Overview","pages":[{"title":"Connect","href":"/connect"},{"title":"Getting started","href":"/connect/getting-started"},{"title":"Testing","href":"/connect/testing"},{"title":"Embedding and customization","href":"/connect/widgets"},{"title":"Playground","href":"/connect/playground"},{"title":"Webhooks","href":"/connect/webhooks"},{"title":"Configuration","href":"/connect/configuration"},{"title":"Multi-currency wallets","href":"/connect/multi-currency"},{"title":"Guides","href":"/connect/guides"},{"title":"Errors","href":"/connect/errors"},{"title":"Status","href":"/connect/status"}]},{"group":"Reference","pages":[{"group":"Currency settings","pages":[{"title":"Read the brand's multi-currency preference","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /settings/currencies","href":"/connect/reference/configuration/read-the-brands-multi-currency-preference"},{"title":"Opt the brand into or out of multi-currency","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml patch /settings/currencies","href":"/connect/reference/configuration/opt-the-brand-into-or-out-of-multi-currency"}]},{"group":"Accounts","pages":[{"title":"List connected accounts","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts","href":"/connect/reference/accounts/list-connected-accounts"},{"title":"Get balance \u0026 transactions","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts/balance","href":"/connect/reference/accounts/get-balance-\u0026-transactions"},{"title":"Read currency balances (pilot)","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts/currencies","href":"/connect/reference/accounts/read-currency-balances-pilot"},{"title":"Estimate USD funding or convert a sub-account balance (pilot)","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/currencies","href":"/connect/reference/transfers/estimate-usd-funding-or-convert-a-sub-account-balance-pilot"},{"title":"Get invoice transactions","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts/invoices","href":"/connect/reference/accounts/get-invoice-transactions"},{"title":"Create account","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/create","href":"/connect/reference/accounts/create-account"},{"title":"Check an existing account and duplicate verified identity","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/check","href":"/connect/reference/accounts/check-an-existing-account-and-duplicate-verified-identity"},{"title":"Create account invoice","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/invoices/create","href":"/connect/reference/accounts/create-account-invoice"},{"title":"Send account invoice","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/invoices/{invoiceId}/send","href":"/connect/reference/accounts/send-account-invoice"},{"title":"Move wallet funds into withdrawal balance","deprecated":true,"version":null,"openapi":"/openapi/connect.yaml post /accounts/withdrawal-balance","href":"/connect/reference/accounts/move-wallet-funds-into-withdrawal-balance"},{"title":"Update account","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml patch /accounts/{id}","href":"/connect/reference/accounts/update-account"},{"title":"Bulk delete connected accounts","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml delete /accounts","href":"/connect/reference/accounts/bulk-delete-connected-accounts"},{"title":"Get withdrawal","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /withdrawals/{withdrawalId}","href":"/connect/reference/withdrawals/get-withdrawal"},{"title":"Withdrawalcreated","version":null,"deprecated":null,"sidebarTitle":"Withdrawal created","openapi":"/openapi/connect.yaml webhook withdrawal.created","href":"/connect/reference/accounts/withdrawalcreated"},{"title":"Withdrawalupdated","version":null,"deprecated":null,"sidebarTitle":"Withdrawal updated","openapi":"/openapi/connect.yaml webhook withdrawal.updated","href":"/connect/reference/accounts/withdrawalupdated"},{"title":"Withdrawalcompleted","version":null,"deprecated":null,"sidebarTitle":"Withdrawal completed","openapi":"/openapi/connect.yaml webhook withdrawal.completed","href":"/connect/reference/accounts/withdrawalcompleted"},{"title":"Withdrawalfailed","version":null,"deprecated":null,"sidebarTitle":"Withdrawal failed","openapi":"/openapi/connect.yaml webhook withdrawal.failed","href":"/connect/reference/accounts/withdrawalfailed"},{"title":"Accountrisk flagged","version":null,"deprecated":null,"sidebarTitle":"Account risk flagged","openapi":"/openapi/connect.yaml webhook account.risk_flagged","href":"/connect/reference/accounts/accountrisk_flagged"}]},{"group":"Verifications","pages":[{"title":"Read the account's guardian declaration","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts/{id}/guardian","href":"/connect/reference/verifications/read-the-accounts-guardian-declaration"},{"title":"List verifications","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts/{id}/verifications","href":"/connect/reference/verifications/list-verifications"},{"title":"Get verification","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /accounts/{id}/verifications/{verificationId}","href":"/connect/reference/verifications/get-verification"}]},{"group":"Transfers","pages":[{"title":"List transfers","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /transfers","href":"/connect/reference/transfers/list-transfers"},{"title":"Get transfer","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /transfers/{transferId}","href":"/connect/reference/transfers/get-transfer"},{"title":"Create transfer","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/transfer","href":"/connect/reference/transfers/create-transfer"},{"title":"Batch transfer","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /accounts/transfer/batch","href":"/connect/reference/transfers/batch-transfer"},{"title":"Cancel an unsettled transfer","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml delete /transfers/{transferId}","href":"/connect/reference/transfers/cancel-an-unsettled-transfer"},{"title":"Transfercompleted","version":null,"deprecated":null,"sidebarTitle":"Transfer completed","openapi":"/openapi/connect.yaml webhook transfer.completed","href":"/connect/reference/transfers/transfercompleted"}]},{"group":"Tokens","pages":[{"title":"Generate widget token","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /auth/token","href":"/connect/reference/tokens/generate-widget-token"}]},{"group":"Domains","pages":[{"title":"Read the embed domain allowlist","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /domains","href":"/connect/reference/domains/read-the-embed-domain-allowlist"},{"title":"Update the embed domain allowlist","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml patch /domains","href":"/connect/reference/domains/update-the-embed-domain-allowlist"}]},{"group":"Checkout","pages":[{"title":"Create hosted checkout session","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /checkout/sessions","href":"/connect/reference/checkout/create-hosted-checkout-session"},{"title":"Depositpending","version":null,"deprecated":null,"sidebarTitle":"Deposit pending","openapi":"/openapi/connect.yaml webhook deposit.pending","href":"/connect/reference/checkout/depositpending"},{"title":"Depositconfirmed","version":null,"deprecated":null,"sidebarTitle":"Deposit confirmed","openapi":"/openapi/connect.yaml webhook deposit.confirmed","href":"/connect/reference/checkout/depositconfirmed"},{"title":"Depositfailed","version":null,"deprecated":null,"sidebarTitle":"Deposit failed","openapi":"/openapi/connect.yaml webhook deposit.failed","href":"/connect/reference/checkout/depositfailed"}]},{"group":"Webhooks","pages":[{"title":"List webhook delivery logs","description":"Retrieve webhook delivery attempts for your integration.\n\nUse `eventId` for exact lookup of a specific event delivery, or combine `eventType` and `success`\nto inspect classes of webhook outcomes.\n","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml get /webhook-logs","href":"/connect/reference/webhooks/list-webhook-delivery-logs"},{"title":"Send a test webhook","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /webhooks/test","href":"/connect/reference/webhooks/send-a-test-webhook"},{"title":"Replay a webhook event","description":"Re-sign and re-deliver a previously dispatched event to your current endpoint, using the payload recorded\nin the delivery log and the same event `id`, with a fresh timestamp and signature. Handle it as a duplicate\nif you already processed the original. The replay is recorded as its own log row (`replay: true`).\n\nSandbox keys replay sandbox events to the sandbox endpoint; live keys replay live events to the live endpoint.\n","deprecated":null,"version":null,"openapi":"/openapi/connect.yaml post /webhooks/{eventId}/replay","href":"/connect/reference/webhooks/replay-a-webhook-event"}]}]}]},{"tab":"Scraper","icon":"search","pages":[{"title":"Scraper","href":"/scraper"}]},{"tab":"Sidekick","icon":"blocks","pages":[{"title":"Sidekick","href":"/sidekick/connectors"}]},{"tab":"MCP","icon":"plug","pages":[{"title":"MCP","href":"/mcp-server"}]}]},"title":"Send a test webhook - SideShift","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}