Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application’s bank account addition flow.
POST
/
on-demand-authorizations
cURL
POST https://api-sandbox.dwolla.com/on-demand-authorizationsAccept: application/vnd.dwolla.v1.hal+jsonContent-Type: application/vnd.dwolla.v1.hal+jsonAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY{ "_links": { "self": { "href": "https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388" } }, "bodyText": "I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.", "buttonText": "Agree & Continue"}
{ "_links": { "self": { "href": "https://api.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388" } }, "bodyText": "I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.", "buttonText": "Agree & Continue"}
{
"code": "Forbidden",
"message": "The supplied credentials are not authorized for this resource."
}
"I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account."
POST https://api-sandbox.dwolla.com/on-demand-authorizationsAccept: application/vnd.dwolla.v1.hal+jsonContent-Type: application/vnd.dwolla.v1.hal+jsonAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY{ "_links": { "self": { "href": "https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388" } }, "bodyText": "I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.", "buttonText": "Agree & Continue"}
{ "_links": { "self": { "href": "https://api.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388" } }, "bodyText": "I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.", "buttonText": "Agree & Continue"}
{
"code": "Forbidden",
"message": "The supplied credentials are not authorized for this resource."
}
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Dwolla Developer Portal","description":"Comprehensive guides, API documentation, SDKs, and tools for building, testing, and launching account-to-account payment integrations with Dwolla.","colors":{"primary":"#ca4c24","light":"#ca4c24","dark":"#D35227"},"logo":{"light":"https://mintcdn.com/dwolla/7t97G1tGpL5WlmDA/logo/light.svg?fit=max\u0026auto=format\u0026n=7t97G1tGpL5WlmDA\u0026q=85\u0026s=aeab6830d2ea9fe36f17f9b66f31b9e1","dark":"https://mintcdn.com/dwolla/7t97G1tGpL5WlmDA/logo/dark.svg?fit=max\u0026auto=format\u0026n=7t97G1tGpL5WlmDA\u0026q=85\u0026s=354e162ec12cde79a6a037fbbc41521b","href":"https://developers.dwolla.com/"},"favicon":"https://mintcdn.com/dwolla/HQxxCj9-iDNwaKGE/favicon.png?fit=max\u0026auto=format\u0026n=HQxxCj9-iDNwaKGE\u0026q=85\u0026s=6e129a6fef93fe3587a0555f59c4fbe5","api":{"openapi":{"source":"https://raw.githubusercontent.com/Dwolla/dwolla-openapi/refs/heads/main/openapi.yml","directory":"docs/api-reference"},"playground":{"display":"simple"},"examples":{"languages":["curl","javascript","python","php","ruby"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#ffffff","dark":"#101019"}},"navbar":{"links":[{"href":"https://accounts.dwolla.com/login","label":"Login"},{"href":"https://support.dwolla.com/s/","label":"Support"}],"primary":{"type":"button","label":"Talk to Sales","href":"https://www.dwolla.com/contact"}},"footer":{"links":[{"header":"Dwolla","items":[{"label":"About","href":"https://www.dwolla.com/about"},{"label":"Blog","href":"https://www.dwolla.com/updates"},{"label":"Pricing","href":"https://www.dwolla.com/pricing"},{"label":"Contact Sales","href":"https://www.dwolla.com/contact"},{"label":"Terms of Service","href":"https://www.dwolla.com/legal/tos"},{"label":"Privacy Policy","href":"https://www.dwolla.com/legal/privacy"},{"label":"Privacy Options","href":"https://www.dwolla.com/legal/privacy"}]},{"header":"Product","items":[{"label":"Support","href":"https://support.dwolla.com/s"},{"label":"Resources","href":"https://www.dwolla.com/resources"},{"label":"Features","href":"https://www.dwolla.com/features"}]},{"header":"Developers","items":[{"label":"API Reference","href":"https://developers.dwolla.com/docs/api-reference"},{"label":"Support Forum","href":"https://discuss.dwolla.com/"},{"label":"SDKs \u0026 Tools","href":"https://developers.dwolla.com/sdks-tools"},{"label":"Github Repos","href":"https://github.com/Dwolla"}]}]},"search":{"prompt":"Ask AI or search..."},"fonts":{"heading":{"family":"Inter"},"body":{"family":"Inter"}},"styling":{"codeblocks":"dark","latex":true},"integrations":{"gtm":{"tagId":"GTM-WRT5LD6"}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"We couldn't find that page. It may have moved or never existed. Try the [homepage](/), the [API reference](/docs/api-reference), or the [guides and concepts](/docs)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"signal","href":"https://status.dwolla.com/"},{"anchor":"Community","icon":"users","href":"https://discuss.dwolla.com/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dwolla","hasAudioNarration":false,"actualSubdomain":"dwolla","customDomains":["developers.dwolla.com"],"gitSource":{"type":"github","owner":"dwolla","repo":"developer-portal","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea10ac21c5c9021180f570","collectionId":"7df84ba5-9ae7-41f4-8940-01b93d1d5b72","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea10ac21c5c9021180f570"},"feedback":{"thumbs":true,"edits":false,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aea10ac21c5c9021180f570","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Resources","count":109},{"language":"default","tag":"API Reference","count":104},{"language":"default","tag":"Guides and Concepts","count":32},{"language":"default","tag":"SDKs","count":20},{"language":"default","tag":"Transfers","count":15},{"language":"default","tag":"Funding Sources","count":14},{"language":"default","tag":"Introduction","count":11},{"language":"default","tag":"Labels","count":10},{"language":"default","tag":"API Fundamentals","count":9},{"language":"default","tag":"Customers","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"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":"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":"vite-origin","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}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#navbar{padding-top:0.5rem!important;padding-bottom:0.5rem!important}#navbar>.border-b,#navbar .border-b{border-bottom:none!important;border-color:transparent!important}@keyframes dw-nav-scroll-tint-light{from{background-color:rgba(255, 255, 255, 0)}to{background-color:rgba(255, 255, 255, 0.85)}}@keyframes dw-nav-scroll-tint-dark{from{background-color:rgba(2, 6, 23, 0)}to{background-color:rgba(2, 6, 23, 0.85)}}#navbar.is-custom>div[class*=\"bg-background-light\"],#navbar.is-wide>div[class*=\"bg-background-light\"]{background-color:transparent;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;animation:dw-nav-scroll-tint-light linear both;animation-timeline:scroll(root);animation-range:0 200px}[data-theme=\"dark\"] #navbar.is-custom>div[class*=\"bg-background-light\"],[data-theme=\"dark\"] #navbar.is-wide>div[class*=\"bg-background-light\"],.dark #navbar.is-custom>div[class*=\"bg-background-light\"],.dark #navbar.is-wide>div[class*=\"bg-background-light\"]{animation-name:dw-nav-scroll-tint-dark}@media (min-width: 1024px){#sidebar-content{width:17rem!important;top:calc(4rem + var(--banner-height, 0px))!important;height:calc(100vh - 4rem - var(--banner-height, 0px))!important}.peer.is-not-custom~#body-content{padding-left:17rem!important}}@media (min-width: 1280px){#content-side-layout{position:sticky!important;right:auto!important;top:4rem!important;flex-shrink:0!important;align-self:flex-start!important;width:16rem!important}#content-container{width:100%!important;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}#table-of-contents{padding-right:1.5rem!important}}.peer.is-not-custom.is-not-wide~#body-content #content-area{max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:2rem!important;padding-right:2rem!important;padding-top:2rem!important}.peer.is-wide~#body-content #content-area{max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;padding-left:3rem!important;padding-right:3rem!important;padding-top:2rem!important}.peer.is-wide~#body-content #content-area{position:relative}.peer.is-wide~#body-content #content-area::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(202, 76, 36, 0.08), transparent),\n radial-gradient(ellipse 60% 40% at 80% 20%, rgba(56, 189, 248, 0.04), transparent),\n radial-gradient(ellipse 50% 35% at 20% 30%, rgba(168, 85, 247, 0.03), transparent)}[data-theme=\"dark\"] .peer.is-wide~#body-content #content-area::before,.dark .peer.is-wide~#body-content #content-area::before{background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(202, 76, 36, 0.1), transparent),\n radial-gradient(ellipse 60% 40% at 80% 20%, rgba(56, 189, 248, 0.06), transparent),\n radial-gradient(ellipse 50% 35% at 20% 30%, rgba(168, 85, 247, 0.05), transparent)}#sidebar-content h5{text-transform:uppercase!important;font-size:0.75rem!important;letter-spacing:0.05em!important}[data-theme=\"dark\"] #topbar-cta-button span,.dark #topbar-cta-button span{color:#ffffff!important}#sidebar-content li[data-active=\"true\"]>a{background:#faf0ec!important;border-radius:0.75rem;padding:0.375rem 0.75rem 0.375rem 1rem!important;color:#CA4C24!important}.nav-logo{height:2rem!important}.peer.is-wide~#body-content #header{display:none!important}#dwolla-legal-disclaimer{margin-top:2rem;font-size:12px;color:#6b7280;max-width:100%;font-family:Inter, Arial, sans-serif;padding:20px 0 0 0;text-align:left}#dwolla-legal-disclaimer strong{display:block;margin-bottom:0.5rem;font-weight:600;color:#111827;font-size:12px}#dwolla-legal-disclaimer span{color:#6b7280;font-size:12px;line-height:21px}#dwolla-legal-disclaimer a{color:#E05A2B;text-decoration:none}#dwolla-legal-disclaimer a:hover{text-decoration:underline}.osano-cm-widget{display:none}.osano-cm-info-dialog--hidden{pointer-events:none!important}#assistant-entry,.assistant-entry,#assistant-entry-mobile,.assistant-entry-mobile{display:none!important}[data-theme=\"dark\"] #dwolla-legal-disclaimer,.dark #dwolla-legal-disclaimer{color:#d1d5db}[data-theme=\"dark\"] #dwolla-legal-disclaimer strong,.dark #dwolla-legal-disclaimer strong{color:#fff}[data-theme=\"dark\"] #dwolla-legal-disclaimer span,.dark #dwolla-legal-disclaimer span{color:#d1d5db}[data-theme=\"dark\"] body,.dark body{background-color:#020617!important}[data-theme=\"dark\"] .prose,.dark .prose{color:#cbd5e1!important}[data-theme=\"dark\"] #table-of-contents a,.dark #table-of-contents a{color:#cbd5e1!important}[data-theme=\"dark\"] #table-of-contents a:hover,.dark #table-of-contents a:hover{color:#e2e8f0!important}[data-theme=\"dark\"] #sidebar-content li:not([data-active=\"true\"])>a,[data-theme=\"dark\"] #sidebar-content li>button,.dark #sidebar-content li:not([data-active=\"true\"])>a,.dark #sidebar-content li>button{color:#cbd5e1!important}[data-theme=\"dark\"] #sidebar-content li:not([data-active=\"true\"])>a:hover,[data-theme=\"dark\"] #sidebar-content li>button:hover,.dark #sidebar-content li:not([data-active=\"true\"])>a:hover,.dark #sidebar-content li>button:hover{color:#f1f5f9!important}[data-theme=\"dark\"] #sidebar-content h5,.dark #sidebar-content h5{color:#94a3b8!important}[data-theme=\"dark\"] #navbar a.link,.dark #navbar a.link{color:#cbd5e1!important}[data-theme=\"dark\"] #navbar a.link:hover,.dark #navbar a.link:hover{color:#f1f5f9!important}[data-theme=\"dark\"] #navbar a.link[class*=\"dark:bg-white\"],.dark #navbar a.link[class*=\"dark:bg-white\"]{color:#f1f5f9!important}[data-theme=\"dark\"] #navbar button[class*=\"dark:text-gray-400\"],.dark #navbar button[class*=\"dark:text-gray-400\"]{color:#cbd5e1!important}[data-theme=\"dark\"] #navbar button[class*=\"dark:text-gray-400\"]:hover,.dark #navbar button[class*=\"dark:text-gray-400\"]:hover{color:#f1f5f9!important}[data-theme=\"dark\"] #navbar button[class*=\"dark:text-white/50\"],.dark #navbar button[class*=\"dark:text-white/50\"]{color:#cbd5e1!important}[data-theme=\"dark\"] #navbar a[class*=\"dark:text-gray-300\"],.dark #navbar a[class*=\"dark:text-gray-300\"]{color:#cbd5e1!important}[data-theme=\"dark\"] #navbar a[class*=\"dark:text-gray-300\"]:hover,.dark #navbar a[class*=\"dark:text-gray-300\"]:hover{color:#f1f5f9!important}[data-theme=\"dark\"] a.nav-dropdown-item,.dark a.nav-dropdown-item{color:#e2e8f0!important}[data-theme=\"dark\"] a.nav-dropdown-item:hover,.dark a.nav-dropdown-item:hover{color:#f8fafc!important}[data-theme=\"dark\"] a.nav-dropdown-item span,.dark a.nav-dropdown-item span{color:inherit!important}[data-theme=\"dark\"] a.nav-dropdown-item span.text-xs,.dark a.nav-dropdown-item span.text-xs{color:#94a3b8!important}[data-theme=\"dark\"] a.nav-dropdown-item:hover span.text-xs,.dark a.nav-dropdown-item:hover span.text-xs{color:#cbd5e1!important}.dw-hero-bg{background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(202, 76, 36, 0.08), transparent),\n radial-gradient(ellipse 60% 40% at 80% 20%, rgba(56, 189, 248, 0.04), transparent),\n radial-gradient(ellipse 50% 35% at 20% 30%, rgba(168, 85, 247, 0.03), transparent)}[data-theme=\"dark\"] .dw-hero-bg,.dark .dw-hero-bg{background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(202, 76, 36, 0.1), transparent),\n radial-gradient(ellipse 60% 40% at 80% 20%, rgba(56, 189, 248, 0.06), transparent),\n radial-gradient(ellipse 50% 35% at 20% 30%, rgba(168, 85, 247, 0.05), transparent)}.dw-surface-card{background:white;border:1px solid #e2e8f0;border-radius:1rem;transition:all 0.2s ease}[data-theme=\"dark\"] .dw-surface-card,.dark .dw-surface-card{background:rgba(15, 23, 42, 0.7);border-color:rgba(51, 65, 85, 0.7)}.dw-surface-card:hover{border-color:rgba(224, 90, 43, 0.35);transform:translateY(-1px);box-shadow:0 18px 45px -24px rgba(224, 90, 43, 0.28)}.dw-glass{background:rgba(255, 255, 255, 0.65);border:1px solid rgba(226, 232, 240, 0.8);backdrop-filter:blur(12px);border-radius:0.75rem}[data-theme=\"dark\"] .dw-glass,.dark .dw-glass{background:rgba(2, 6, 23, 0.58);border-color:rgba(51, 65, 85, 0.7)}.dw-code-shell{background:#020617;border:1px solid rgba(51, 65, 85, 0.7);color:#e2e8f0;font-family:'JetBrains Mono', monospace;border-radius:0.75rem;padding:1.25rem;font-size:0.8125rem;line-height:1.7}.dw-section-label{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:#94a3b8;white-space:nowrap}.dw-divider{height:1px;background:#e2e8f0;flex:1}[data-theme=\"dark\"] .dw-divider,.dark .dw-divider{background:rgba(30, 41, 59, 0.8)}.dw-border-guide{border-left:3px solid #E05A2B}.dw-border-concept{border-left:3px solid #0EA5E9}.dw-border-blueprint{border-left:3px solid #8B5CF6}.dw-border-template{border-left:3px solid #06B6D4}.dw-featured{background:linear-gradient(to bottom right, #020617, #0f172a, #1e293b);border-radius:1.5rem;border:1px solid rgba(30, 41, 59, 0.6);overflow:hidden;color:white}.dw-featured p{color:#cbd5e1!important}.dw-featured h2,.dw-featured h3{color:white!important}.dw-btn-primary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.625rem 1.25rem;font-size:0.875rem;font-weight:600;border-radius:0.75rem;background:#E05A2B;color:white!important;text-decoration:none;border:none;transition:background 0.2s}.dw-btn-primary:hover{background:#C2461F}.dw-btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.625rem 1.25rem;font-size:0.875rem;font-weight:600;border-radius:0.75rem;background:white;color:#334155!important;text-decoration:none;border:1px solid #e2e8f0;transition:border-color 0.2s}.dw-btn-secondary:hover{border-color:#cbd5e1}[data-theme=\"dark\"] .dw-btn-secondary,.dark .dw-btn-secondary{background:rgba(15, 23, 42, 0.9);color:#e2e8f0!important;border-color:rgba(51, 65, 85, 0.7)}.dw-btn-dark{display:inline-flex;align-items:center;gap:0.5rem;padding:0.625rem 1.25rem;font-size:0.875rem;font-weight:600;border-radius:0.75rem;background:rgba(255, 255, 255, 0.05);color:white!important;text-decoration:none;border:1px solid rgba(255, 255, 255, 0.15);transition:background 0.2s}.dw-btn-dark:hover{background:rgba(255, 255, 255, 0.10)}.dw-pill{display:inline-flex;align-items:center;gap:0.375rem;border-radius:9999px;padding:0.25rem 0.75rem;font-size:0.6875rem;font-weight:500;letter-spacing:0.04em}.dw-pill-orange{background:rgba(255, 237, 213, 0.8);border:1px solid rgba(251, 191, 36, 0.3);color:#9a3412}[data-theme=\"dark\"] .dw-pill-orange,.dark .dw-pill-orange{background:rgba(154, 52, 18, 0.3);border-color:rgba(154, 52, 18, 0.5);color:#fdba74}.dw-pill-violet{background:rgba(237, 233, 254, 0.7);border:1px solid rgba(139, 92, 246, 0.2);color:#6d28d9}[data-theme=\"dark\"] .dw-pill-violet,.dark .dw-pill-violet{background:rgba(91, 33, 182, 0.3);border-color:rgba(139, 92, 246, 0.3);color:#c4b5fd}.dw-status-live{border-radius:9999px;background:rgba(16, 185, 129, 0.1);border:1px solid rgba(16, 185, 129, 0.2);padding:0.125rem 0.5rem;font-size:0.625rem;font-weight:500;color:#059669}.dw-status-planned{border-radius:9999px;background:rgba(14, 165, 233, 0.1);border:1px solid rgba(14, 165, 233, 0.2);padding:0.125rem 0.5rem;font-size:0.625rem;font-weight:500;color:#0284c7}.dw-status-exploring{border-radius:9999px;background:rgba(245, 158, 11, 0.1);border:1px solid rgba(245, 158, 11, 0.2);padding:0.125rem 0.5rem;font-size:0.625rem;font-weight:500;color:#d97706}.dw-quick-link{border-radius:9999px;border:1px solid #e2e8f0;padding:0.25rem 0.75rem;font-size:0.8125rem;color:#64748b;text-decoration:none;transition:border-color 0.2s ease, color 0.2s ease}.dw-quick-link:hover{border-color:#ca4c24;color:#ca4c24}[data-theme=\"dark\"] .dw-quick-link,.dark .dw-quick-link{border-color:rgba(148, 163, 184, 0.25);color:#94a3b8}[data-theme=\"dark\"] .dw-quick-link:hover,.dark .dw-quick-link:hover{border-color:#ca4c24;color:#ca4c24}.dw-link-orange{color:#E05A2B!important;font-weight:500;font-size:0.875rem;text-decoration:none}.dw-link-violet{color:#8B5CF6!important;font-weight:500;font-size:0.875rem;text-decoration:none}.dw-link-cyan{color:#06B6D4!important;font-weight:500;font-size:0.875rem;text-decoration:none}.dw-metric{letter-spacing:-0.03em}.dw-concept-violet{border:1px dashed rgba(139, 92, 246, 0.4);background:rgba(237, 233, 254, 0.4);border-radius:0.75rem;padding:1rem}[data-theme=\"dark\"] .dw-concept-violet,.dark .dw-concept-violet{border-color:rgba(139, 92, 246, 0.3);background:rgba(91, 33, 182, 0.1)}.dw-concept-sky{border:1px dashed rgba(14, 165, 233, 0.4);background:rgba(224, 242, 254, 0.4);border-radius:0.75rem;padding:1rem}[data-theme=\"dark\"] .dw-concept-sky,.dark .dw-concept-sky{border-color:rgba(14, 165, 233, 0.3);background:rgba(3, 105, 161, 0.1)}.dw-concept-emerald{border:1px dashed rgba(16, 185, 129, 0.4);background:rgba(209, 250, 229, 0.4);border-radius:0.75rem;padding:1rem}[data-theme=\"dark\"] .dw-concept-emerald,.dark .dw-concept-emerald{border-color:rgba(16, 185, 129, 0.3);background:rgba(6, 95, 70, 0.1)}.dw-assessment-cta{border:1px dashed #cbd5e1;background:rgba(248, 250, 252, 0.6);border-radius:1rem}[data-theme=\"dark\"] .dw-assessment-cta,.dark .dw-assessment-cta{border-color:rgba(51, 65, 85, 0.7);background:rgba(15, 23, 42, 0.3)}.dw-method-post{border-radius:0.25rem;background:rgba(224, 242, 254, 0.8);padding:0.125rem 0.5rem;font-size:0.625rem;font-family:'JetBrains Mono', monospace;font-weight:600;color:#0369a1}[data-theme=\"dark\"] .dw-method-post,.dark .dw-method-post{background:rgba(3, 105, 161, 0.3);color:#7dd3fc}.dw-method-get{border-radius:0.25rem;background:rgba(209, 250, 229, 0.8);padding:0.125rem 0.5rem;font-size:0.625rem;font-family:'JetBrains Mono', monospace;font-weight:600;color:#047857}[data-theme=\"dark\"] .dw-method-get,.dark .dw-method-get{background:rgba(6, 95, 70, 0.3);color:#6ee7b7}.dw-card{background:white;border:1px solid #e2e8f0;border-radius:1rem;transition:all 0.25s cubic-bezier(0.4, 0, 0.2, 1)}[data-theme=\"dark\"] .dw-card,.dark .dw-card{background:rgba(15, 23, 42, 0.6);border-color:rgba(51, 65, 85, 0.6)}.dw-card:hover{border-color:rgba(202, 76, 36, 0.3);box-shadow:0 20px 40px -20px rgba(202, 76, 36, 0.12);transform:translateY(-1px)}.dw-card-flat{background:white;border:1px solid #e2e8f0;border-radius:0.75rem;transition:border-color 0.2s ease}[data-theme=\"dark\"] .dw-card-flat,.dark .dw-card-flat{background:rgba(15, 23, 42, 0.6);border-color:rgba(51, 65, 85, 0.6)}.dw-card-flat:hover{border-color:rgba(202, 76, 36, 0.3)}.dw-card-flat .icon{margin-top:0.175rem!important;flex-shrink:0!important}.dw-bento-featured{background:linear-gradient(135deg, #0F172A 0%, #1E293B 100%);border-radius:1.5rem;overflow:hidden;color:white}[data-theme=\"dark\"] .dw-bento-featured,.dark .dw-bento-featured{background:linear-gradient(135deg, #020617 0%, #0F172A 100%)}.dw-bento-featured p{color:#cbd5e1!important}.dw-bento-featured h2,.dw-bento-featured h3{color:white!important}.dw-bento-featured .dw-icon-bg-sm-orange,.dw-bento-featured .dw-icon-bg-sm-sky,.dw-bento-featured .dw-icon-bg-sm-emerald,.dw-bento-featured .dw-icon-bg-orange,.dw-bento-featured .dw-icon-bg-sky,.dw-bento-featured .dw-icon-bg-emerald,.dw-bento-featured .dw-icon-bg-violet{color:#ffffff}.dw-bento-featured .icon{background:#ffffff!important}.dw-index-card{background:white;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden;transition:border-color 0.2s ease}[data-theme=\"dark\"] .dw-index-card,.dark .dw-index-card{background:rgba(15, 23, 42, 0.6);border-color:rgba(51, 65, 85, 0.6)}.dw-index-card:hover{border-color:rgba(202, 76, 36, 0.2)}.dw-index-card h3{margin:0!important;padding:0!important;line-height:1.3!important}.dw-border-top-emerald{border-top:3px solid #10b981}.dw-border-top-violet{border-top:3px solid #8b5cf6}.dw-border-top-orange{border-top:3px solid #E05A2B}.dw-border-top-sky{border-top:3px solid #0ea5e9}.dw-border-top-amber{border-top:3px solid #f59e0b}.dw-border-top-rose{border-top:3px solid #f43f5e}.dw-border-top-indigo{border-top:3px solid #6366f1}.dw-border-top-teal{border-top:3px solid #14b8a6}.dw-card-coming-soon{background:white;border:1px solid #e2e8f0;border-radius:1rem}[data-theme=\"dark\"] .dw-card-coming-soon,.dark .dw-card-coming-soon{background:rgba(15, 23, 42, 0.6);border-color:rgba(51, 65, 85, 0.6)}.dw-pill-announcement{display:inline-flex;align-items:center;gap:0.5rem;padding:0.25rem 0.75rem;border-radius:9999px;background:white;border:1px solid #e2e8f0;font-size:0.875rem;color:#475569;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);text-decoration:none}[data-theme=\"dark\"] .dw-pill-announcement,.dark .dw-pill-announcement{background:rgba(15, 23, 42, 0.5);border-color:rgba(51, 65, 85, 0.7);color:#cbd5e1}.dw-status-coming-soon{border-radius:9999px;background:#f1f5f9;border:1px solid #e2e8f0;padding:0.125rem 0.5rem;font-size:0.625rem;font-weight:500;color:#64748b}[data-theme=\"dark\"] .dw-status-coming-soon,.dark .dw-status-coming-soon{background:rgba(30, 41, 59, 0.5);border-color:rgba(51, 65, 85, 0.7);color:#94a3b8}.dw-status-live{border-radius:9999px;background:rgba(202, 76, 36, 0.1);border:1px solid rgba(202, 76, 36, 0.2);padding:0.125rem 0.5rem;font-size:0.625rem;font-weight:500;color:#ca4c24}.dw-badge-ga{border-radius:9999px;background:rgba(16, 185, 129, 0.08);border:1px solid rgba(16, 185, 129, 0.2);padding:0.125rem 0.5rem;font-size:0.625rem;font-weight:500;color:#047857}[data-theme=\"dark\"] .dw-badge-ga,.dark .dw-badge-ga{background:rgba(16, 185, 129, 0.1);border-color:rgba(16, 185, 129, 0.2);color:#6ee7b7}.dw-page-link{display:flex;align-items:center;justify-content:space-between;padding:0.625rem 0;font-size:0.875rem;color:#475569!important;text-decoration:none!important;border-bottom:1px solid #e2e8f0;transition:color 0.15s ease;background-image:none!important;box-shadow:none!important}.dw-page-link:last-child{border-bottom:none}[data-theme=\"dark\"] .dw-page-link,.dark .dw-page-link{color:#94a3b8!important;border-bottom-color:rgba(51, 65, 85, 0.5)}.dw-page-link:hover{color:#0f172a!important}[data-theme=\"dark\"] .dw-page-link:hover,.dark .dw-page-link:hover{color:#e2e8f0!important}.dw-page-link .dw-arrow{opacity:0;transform:translateX(-4px);transition:all 0.15s ease;color:#94a3b8}.dw-page-link:hover .dw-arrow{opacity:1;transform:translateX(0)}.dw-icon-bg-orange{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(249, 115, 22, 0.40);display:flex;align-items:center;justify-content:center;color:#fdba74}.dw-icon-bg-sky{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(14, 165, 233, 0.40);display:flex;align-items:center;justify-content:center;color:#7dd3fc}.dw-icon-bg-emerald{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(16, 185, 129, 0.40);display:flex;align-items:center;justify-content:center;color:#6ee7b7}.dw-icon-bg-violet{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(139, 92, 246, 0.40);display:flex;align-items:center;justify-content:center;color:#a78bfa}.dw-icon-bg-indigo{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(99, 102, 241, 0.40);display:flex;align-items:center;justify-content:center;color:#a5b4fc}.dw-icon-bg-fuchsia{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(217, 70, 239, 0.40);display:flex;align-items:center;justify-content:center;color:#f0abfc}.dw-icon-bg-rose{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(244, 63, 94, 0.40);display:flex;align-items:center;justify-content:center;color:#fda4af}.dw-icon-bg-blue{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(59, 130, 246, 0.40);display:flex;align-items:center;justify-content:center;color:#93c5fd}.dw-icon-bg-slate{width:2.5rem;height:2.5rem;border-radius:0.75rem;background:rgba(100, 116, 139, 0.40);display:flex;align-items:center;justify-content:center;color:#cbd5e1}.dw-icon-bg-sm-orange{width:2.25rem;height:2.25rem;border-radius:0.75rem;background:rgba(249, 115, 22, 0.40);display:flex;align-items:center;justify-content:center;color:#fdba74}.dw-icon-bg-sm-sky{width:2.25rem;height:2.25rem;border-radius:0.75rem;background:rgba(14, 165, 233, 0.40);display:flex;align-items:center;justify-content:center;color:#7dd3fc}.dw-icon-bg-sm-emerald{width:2.25rem;height:2.25rem;border-radius:0.75rem;background:rgba(16, 185, 129, 0.40);display:flex;align-items:center;justify-content:center;color:#6ee7b7}[class*=\"dw-icon-bg-\"] .icon{background-color:#ffffff!important}.dw-sdk-badge{width:2.25rem;height:2.25rem;border-radius:0.5rem;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.6875rem}.dw-sdk-badge-ts{background:rgba(59, 130, 246, 0.08);color:#3b82f6}.dw-sdk-badge-ts .icon{background:#3b82f6!important}.dw-sdk-badge-php{background:rgba(139, 92, 246, 0.08);color:#8b5cf6}.dw-sdk-badge-php .icon{background:#8b5cf6!important}.dw-sdk-badge-postman{background:rgba(245, 158, 11, 0.12);color:#f59e0b}.dw-sdk-badge-postman .icon{background:#f59e0b!important}.dw-sdk-badge-py{background:rgba(234, 179, 8, 0.08);color:#ca8a04}.dw-sdk-badge-py .icon{background:#ca8a04!important}.dw-sdk-badge-ruby{background:rgba(239, 68, 68, 0.08);color:#ef4444}.dw-sdk-badge-ruby .icon{background:#ef4444!important}.dw-sdk-badge-cs{background:rgba(16, 185, 129, 0.08);color:#10b981}.dw-sdk-badge-cs .icon{background:#10b981!important}.dw-sdk-badge-kotlin{background:rgba(249, 115, 22, 0.08);color:#f97316}.dw-sdk-badge-kotlin .icon{background:#f97316!important}.dw-dot{width:0.5rem;height:0.5rem;border-radius:9999px;flex-shrink:0}.dw-dot-blue{background:#3b82f6}.dw-dot-sky{background:#0ea5e9}.dw-dot-emerald{background:#10b981}.dw-dot-violet{background:#8b5cf6}.dw-dot-pink{background:#ec4899}.dw-dot-orange{background:#E05A2B}.dw-dot-amber{background:#f59e0b}.dw-dot-rose{background:#f43f5e}.dw-dot-indigo{background:#6366f1}.dw-dot-teal{background:#14b8a6}.dw-bento-inner{border-radius:1rem;border:1px solid rgba(255, 255, 255, 0.1);background:rgba(255, 255, 255, 0.05);backdrop-filter:blur(8px);padding:1.25rem}.dw-bento-topic-pill{display:inline-block;border-radius:9999px;background:rgba(255, 255, 255, 0.08);padding:0.25rem 0.625rem;font-size:0.6875rem;color:#cbd5e1}.dw-code-block{background:#0F172A;color:#e2e8f0;font-family:'JetBrains Mono', monospace;border-radius:0.5rem;padding:0.75rem 1rem;font-size:0.75rem;line-height:1.7}[data-theme=\"dark\"] .dw-code-block,.dark .dw-code-block{background:#020617;border:1px solid rgba(51, 65, 85, 0.5)}.dw-section-card{border-radius:1rem;border:1px solid #e2e8f0;background:white;padding:1.5rem}[data-theme=\"dark\"] .dw-section-card,.dark .dw-section-card{background:rgba(15, 23, 42, 0.5);border-color:rgba(51, 65, 85, 0.6)}@keyframes dw-pulse{0%,100%{opacity:1}50%{opacity:0.5}}.dw-pulse-dot{width:0.5rem;height:0.5rem;border-radius:9999px;animation:dw-pulse 2s ease-in-out infinite}.dw-legend-dot{width:0.75rem;height:0.1875rem;border-radius:9999px}.dw-dimmed{opacity:0.6}.dw-step-circle{width:2rem;height:2rem;border-radius:9999px;background:#ca4c24;color:#ffffff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700;flex-shrink:0}.dw-legend-box{display:inline-flex;flex-wrap:wrap;align-items:center;gap:1.25rem;font-size:0.75rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:0.75rem;padding:0.625rem 1rem}[data-theme=\"dark\"] .dw-legend-box,.dark .dw-legend-box{background:rgba(15, 23, 42, 0.4);border-color:rgba(51, 65, 85, 0.6)}.dw-modal-overlay{position:fixed;inset:0;background:rgba(0, 0, 0, 0.5);z-index:9999;display:flex;align-items:center;justify-content:center}.dw-modal-content{background:white;border-radius:1rem;padding:2rem;max-width:480px;width:90vw;max-height:80vh;overflow:auto;position:relative}[data-theme=\"dark\"] .dw-modal-content,.dark .dw-modal-content{background:#0f172a;border:1px solid rgba(51, 65, 85, 0.7)}[data-theme=\"dark\"] .dw-text-heading,.dark .dw-text-heading{color:white!important}[data-theme=\"dark\"] .dw-text-body,.dark .dw-text-body{color:#cbd5e1!important}.dw-cap-feature{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.75rem;line-height:1.5;color:#475569}[data-theme=\"dark\"] .dw-cap-feature,.dark .dw-cap-feature{color:#cbd5e1}.dw-cap-feature .icon{flex-shrink:0;margin-top:0.15rem}[data-theme=\"dark\"] .dw-text-muted,.dark .dw-text-muted{color:#94a3b8!important}[data-theme=\"dark\"] .mermaid .node rect,[data-theme=\"dark\"] .mermaid .node polygon,[data-theme=\"dark\"] .mermaid .node circle,.dark .mermaid .node rect,.dark .mermaid .node polygon,.dark .mermaid .node circle{fill:#1e293b!important;stroke:#475569!important}[data-theme=\"dark\"] .mermaid .node .label,[data-theme=\"dark\"] .mermaid .nodeLabel,.dark .mermaid .node .label,.dark .mermaid .nodeLabel{color:#e2e8f0!important;fill:#e2e8f0!important}[data-theme=\"dark\"] .mermaid .node.rhombus polygon,[data-theme=\"dark\"] .mermaid .node polygon[style*=\"diamond\"],.dark .mermaid .node.rhombus polygon,.dark .mermaid .node polygon[style*=\"diamond\"]{fill:#1e293b!important;stroke:#fbbf24!important}[data-theme=\"dark\"] .mermaid .edgePath path,.dark .mermaid .edgePath path{stroke:#64748b!important}[data-theme=\"dark\"] .mermaid .edgeLabel,[data-theme=\"dark\"] .mermaid .edgeLabel rect,.dark .mermaid .edgeLabel,.dark .mermaid .edgeLabel rect{background-color:#0f172a!important;fill:#0f172a!important}[data-theme=\"dark\"] .mermaid .edgeLabel span,.dark .mermaid .edgeLabel span{color:#cbd5e1!important;fill:#cbd5e1!important}[data-theme=\"dark\"] .mermaid marker path,.dark .mermaid marker path{fill:#64748b!important;stroke:#64748b!important}[data-theme=\"dark\"] .mermaid .cluster rect,.dark .mermaid .cluster rect{fill:#0f172a!important;stroke:#334155!important}[data-theme=\"dark\"] .mermaid .cluster span,.dark .mermaid .cluster span{color:#94a3b8!important}[data-theme=\"dark\"] .mermaid .actor,.dark .mermaid .actor{fill:#1e293b!important;stroke:#475569!important}[data-theme=\"dark\"] .mermaid .actor text,[data-theme=\"dark\"] .mermaid text.actor,.dark .mermaid .actor text,.dark .mermaid text.actor{fill:#e2e8f0!important}[data-theme=\"dark\"] .mermaid .actor-line,.dark .mermaid .actor-line{stroke:#475569!important}[data-theme=\"dark\"] .mermaid .messageText,.dark .mermaid .messageText{fill:#e2e8f0!important}[data-theme=\"dark\"] .mermaid line[class*=\"signal\"],[data-theme=\"dark\"] .mermaid .messageLine0,[data-theme=\"dark\"] .mermaid .messageLine1,.dark .mermaid line[class*=\"signal\"],.dark .mermaid .messageLine0,.dark .mermaid .messageLine1{stroke:#ca4c24!important}[data-theme=\"dark\"] .mermaid .activation0,[data-theme=\"dark\"] .mermaid .activation1,[data-theme=\"dark\"] .mermaid .activation2,.dark .mermaid .activation0,.dark .mermaid .activation1,.dark .mermaid .activation2{fill:#1e293b!important;stroke:#ca4c24!important}[data-theme=\"dark\"] .mermaid .note,.dark .mermaid .note{fill:#1e293b!important;stroke:#475569!important}[data-theme=\"dark\"] .mermaid .noteText,.dark .mermaid .noteText{fill:#cbd5e1!important}[data-theme=\"dark\"] .mermaid .loopLine,.dark .mermaid .loopLine{stroke:#475569!important}[data-theme=\"dark\"] .mermaid .loopText,[data-theme=\"dark\"] .mermaid .loopText tspan,.dark .mermaid .loopText,.dark .mermaid .loopText tspan{fill:#94a3b8!important}[data-theme=\"dark\"] .mermaid .labelBox,.dark .mermaid .labelBox{fill:#1e293b!important;stroke:#475569!important}[data-theme=\"dark\"] .mermaid .labelText,[data-theme=\"dark\"] .mermaid .labelText tspan,.dark .mermaid .labelText,.dark .mermaid .labelText tspan{fill:#e2e8f0!important}[data-theme=\"dark\"] .mermaid .statediagram-state rect,[data-theme=\"dark\"] .mermaid .state-node rect,.dark .mermaid .statediagram-state rect,.dark .mermaid .state-node rect{fill:#1e293b!important;stroke:#475569!important}[data-theme=\"dark\"] .mermaid .statediagram-state .nodeLabel,[data-theme=\"dark\"] .mermaid .state-node text,.dark .mermaid .statediagram-state .nodeLabel,.dark .mermaid .state-node text{fill:#e2e8f0!important}[data-theme=\"dark\"] .mermaid .transition,.dark .mermaid .transition{stroke:#64748b!important}[data-theme=\"dark\"] .mermaid .statediagram-note rect,.dark .mermaid .statediagram-note rect{fill:#1e293b!important;stroke:#475569!important}[data-theme=\"dark\"] .mermaid .statediagram-note text,.dark .mermaid .statediagram-note text{fill:#cbd5e1!important}[data-theme=\"dark\"] .mermaid .start-state,[data-theme=\"dark\"] .mermaid g circle[style*=\"black\"],.dark .mermaid .start-state,.dark .mermaid g circle[style*=\"black\"]{fill:#94a3b8!important}[data-theme=\"dark\"] .mermaid text,.dark .mermaid text{fill:#cbd5e1!important}[data-theme=\"dark\"] .mermaid .sequenceNumber,.dark .mermaid .sequenceNumber{fill:#ffffff!important}.dw-hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:2rem;align-items:center}@media (max-width: 767px){.dw-hero-grid{grid-template-columns:1fr}.dw-hero-grid>.dw-stack-scene{display:none}}.dw-stack-scene{perspective:1600px;display:flex;justify-content:center;align-items:center;padding:1rem 2rem;min-height:480px;position:relative}.dw-stack-group{position:relative;transform-style:preserve-3d;transform:rotateY(-20deg) rotateX(6deg);width:420px;height:460px;transition:transform 0.6s cubic-bezier(0.23, 1, 0.32, 1)}.dw-stack-scene:hover .dw-stack-group{transform:rotateY(0deg) rotateX(0deg)}.dw-stack-card{position:absolute;border-radius:1rem;transition:all 0.6s cubic-bezier(0.23, 1, 0.32, 1);backface-visibility:hidden;overflow:hidden}.dw-stack-back{width:270px;height:370px;top:45px;left:-100px;transform:translateZ(-120px);opacity:0.95}.dw-stack-scene:hover .dw-stack-back{top:10px;left:-80px;transform:translateZ(0px) scale(0.7);opacity:1}.dw-stack-back-grid{position:relative;width:100%;height:100%;border-radius:1rem;background:repeating-linear-gradient(0deg, rgba(255,255,255,0.06) 0px, rgba(255,255,255,0.06) 1px, transparent 1px, transparent 22px),\n repeating-linear-gradient(90deg, rgba(255,255,255,0.06) 0px, rgba(255,255,255,0.06) 1px, transparent 1px, transparent 22px),\n linear-gradient(160deg, #312e81 0%, #1e1b4b 100%);overflow:hidden}.dw-stack-mid{width:290px;height:390px;top:30px;left:-30px;transform:translateZ(-60px);background:#0f172a;border:1px solid rgba(51, 65, 85, 0.6);box-shadow:0 15px 40px -10px rgba(0, 0, 0, 0.3)}.dw-stack-scene:hover .dw-stack-mid{top:70px;left:30px;transform:translateZ(0px) scale(0.7)}.dw-stack-front{width:310px;height:410px;top:15px;left:40px;transform:translateZ(0px);background:#ffffff;border:1px solid #e2e8f0;box-shadow:0 30px 70px -15px rgba(0, 0, 0, 0.2),\n 0 12px 25px -10px rgba(0, 0, 0, 0.1)}.dw-stack-scene:hover .dw-stack-front{top:130px;left:140px;transform:translateZ(0px) scale(0.7)}.dw-stack-label{position:absolute;display:flex;align-items:center;gap:0.25rem;font-size:0.625rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap;pointer-events:none;z-index:20;opacity:0;padding:0.25rem 0.625rem;border-radius:9999px;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:opacity 0.4s ease 0.15s, top 0.6s cubic-bezier(0.23, 1, 0.32, 1), left 0.6s cubic-bezier(0.23, 1, 0.32, 1)}.dw-stack-scene:hover .dw-stack-label{opacity:1}.dw-stack-label-infra{top:15%;left:10%;color:#f5f3ff;background:rgba(139, 92, 246, 0.85)}.dw-stack-label-code{top:10%;left:25%;color:#fff7ed;background:rgba(202, 76, 36, 0.85)}.dw-stack-label-app{top:5%;left:45%;color:#ecfdf5;background:rgba(5, 150, 105, 0.85)}.dw-stack-scene:hover .dw-stack-label-infra{top:12%;left:4%}.dw-stack-scene:hover .dw-stack-label-code{top:25%;left:26%}.dw-stack-scene:hover .dw-stack-label-app{top:38%;left:48%}[data-theme=\"dark\"] .dw-stack-front,.dark .dw-stack-front{background:#1e293b;border-color:rgba(51, 65, 85, 0.6);box-shadow:0 25px 60px -15px rgba(0,0,0,0.5), 0 10px 20px -10px rgba(0,0,0,0.3)}[data-theme=\"dark\"] .dw-stack-front>div>div:first-child span,.dark .dw-stack-front>div>div:first-child span{color:#e2e8f0!important}[data-theme=\"dark\"] .dw-stack-front span[style*=\"color: #166534\"],.dark .dw-stack-front span[style*=\"color: #166534\"]{color:#166534!important}[data-theme=\"dark\"] .dw-stack-front span[style*=\"color: #15803d\"],.dark .dw-stack-front span[style*=\"color: #15803d\"]{color:#15803d!important}[data-theme=\"dark\"] .dw-stack-front span[style*=\"color: #334155\"],.dark .dw-stack-front span[style*=\"color: #334155\"]{color:#334155!important}[data-theme=\"dark\"] .dw-stack-front span[style*=\"color: #6b7280\"],.dark .dw-stack-front span[style*=\"color: #6b7280\"]{color:#6b7280!important}[data-theme=\"dark\"] .dw-stack-front div[style*=\"color: #475569\"],.dark .dw-stack-front div[style*=\"color: #475569\"]{color:#475569!important}"}],"page":{"pagePath":"docs/api-reference/transfers/create-an-on-demand-transfer-authorization","slug":"/docs/api-reference/transfers/create-an-on-demand-transfer-authorization","pageMetadata":{"openapi":"post /on-demand-authorizations","title":"Create an on-demand transfer authorization","description":"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application's bank account addition flow.","href":"/docs/api-reference/transfers/create-an-on-demand-transfer-authorization"},"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: \"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application’s bank account addition flow.\"\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":"dark","config":{},"pageMetadata":{"openapi":"post /on-demand-authorizations","title":"Create an on-demand transfer authorization","description":"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application's bank account addition flow.","href":"/docs/api-reference/transfers/create-an-on-demand-transfer-authorization"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/dwolla/0c3fe9c03aed5605/snippets/kapa-widget.js","/_mintlify/custom/dwolla/52b413e70fd63387/snippets/legal-privacy-options.js","/_mintlify/custom/dwolla/5448a5473f5fb78c/snippets/osano.js"],"openApiReferenceData":{"operation":{"tags":["funding sources"],"summary":"Create an on-demand transfer authorization","description":"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application's bank account addition flow.","operationId":"createOnDemandTransferAuthorization","x-speakeasy-group":"fundingSources.onDemandTransferAuthorizations","x-speakeasy-name-override":"create","x-codeSamples":[{"lang":"bash","source":"POST https://api-sandbox.dwolla.com/on-demand-authorizations\nAccept: application/vnd.dwolla.v1.hal+json\nContent-Type: application/vnd.dwolla.v1.hal+json\nAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\n{\n \"_links\": {\n \"self\": {\n \"href\": \"https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388\"\n }\n },\n \"bodyText\": \"I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.\",\n \"buttonText\": \"Agree \u0026 Continue\"\n}\n"},{"lang":"javascript","source":"// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\ndwolla.post(\"on-demand-authorizations\").then((res) => res.body.buttonText); // => \"Agree \u0026 Continue\"\n"},{"lang":"python","source":"# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python\non_demand_authorization = app_token.post('on-demand-authorizations')\non_demand_authorization.body['buttonText'] # => 'Agree \u0026 Continue'\n"},{"lang":"php","source":"\u003c?php\n// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php\n$onDemandApi = new DwollaSwagger\\OndemandauthorizationsApi($apiClient);\n\n$onDemandAuth = $onDemandApi->createAuthorization();\n$onDemandAuth->_links[\"self\"]->href; # => \"https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388\"\n?>\n"},{"lang":"ruby","source":"# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby\non_demand_authorization = app_token.post \"on-demand-authorizations\"\non_demand_authorization.buttonText # => \"Agree \u0026 Continue\"\n"}],"parameters":["cb0148dc-3857-45fc-9843-3167ffd34b68"],"responses":{"200":"3566d658-5cd6-469c-909d-fb7133a1c702","403":"f9b1141e-6698-4d84-a31d-606728366655"},"method":"post","type":"path","servers":["326bb78d-d496-43c4-95be-45f57da94c3f","81f29988-427c-43d7-97d4-c9186d860e8f"],"security":["a8df1bc8-4944-4d7b-8080-9f663ae65116"],"path":"/on-demand-authorizations","baseUrlOptions":["https://api.dwolla.com","https://api-sandbox.dwolla.com"],"title":"Create an on-demand transfer authorization","codeSamples":[{"lang":"bash","source":"POST https://api-sandbox.dwolla.com/on-demand-authorizations\nAccept: application/vnd.dwolla.v1.hal+json\nContent-Type: application/vnd.dwolla.v1.hal+json\nAuthorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY\n\n{\n \"_links\": {\n \"self\": {\n \"href\": \"https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388\"\n }\n },\n \"bodyText\": \"I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.\",\n \"buttonText\": \"Agree \u0026 Continue\"\n}\n"},{"lang":"javascript","source":"// Using dwolla-v2 - https://github.com/Dwolla/dwolla-v2-node\ndwolla.post(\"on-demand-authorizations\").then((res) => res.body.buttonText); // => \"Agree \u0026 Continue\"\n"},{"lang":"python","source":"# Using dwollav2 - https://github.com/Dwolla/dwolla-v2-python\non_demand_authorization = app_token.post('on-demand-authorizations')\non_demand_authorization.body['buttonText'] # => 'Agree \u0026 Continue'\n"},{"lang":"php","source":"\u003c?php\n// Using dwollaswagger - https://github.com/Dwolla/dwolla-swagger-php\n$onDemandApi = new DwollaSwagger\\OndemandauthorizationsApi($apiClient);\n\n$onDemandAuth = $onDemandApi->createAuthorization();\n$onDemandAuth->_links[\"self\"]->href; # => \"https://api-sandbox.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388\"\n?>\n"},{"lang":"ruby","source":"# Using dwolla_v2 - https://github.com/Dwolla/dwolla-v2-ruby\non_demand_authorization = app_token.post \"on-demand-authorizations\"\non_demand_authorization.buttonText # => \"Agree \u0026 Continue\"\n"}],"requestExampleLanguages":["bash","javascript","python","php","ruby"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"cb0148dc-3857-45fc-9843-3167ffd34b68":{"name":"Accept","in":"header","required":true,"description":"The media type of the response. Must be application/vnd.dwolla.v1.hal+json","schema":{"type":"string","enum":["application/vnd.dwolla.v1.hal+json"],"default":"application/vnd.dwolla.v1.hal+json","isRequired":true,"description":"The media type of the response. Must be application/vnd.dwolla.v1.hal+json","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"3566d658-5cd6-469c-909d-fb7133a1c702":{"description":"Ok","headers":{},"content":{"application/vnd.dwolla.v1.hal+json":{"schema":{"title":"OnDemandAuthorization","type":"object","properties":{"_links":{"type":"object","properties":{"self":{"type":"object","properties":{"href":{"type":"string","example":"https://api.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388","uniqueKey":"_links.self.href","typeLabel":"string"}},"uniqueKey":"_links.self","typeLabel":"object"}},"uniqueKey":"_links","typeLabel":"object"},"bodyText":{"type":"string","example":"I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.","uniqueKey":"bodyText","typeLabel":"string"},"buttonText":{"type":"string","example":"Agree \u0026 Continue","uniqueKey":"buttonText","typeLabel":"string"}},"uniqueKey":"","typeLabel":"OnDemandAuthorization · object"},"examples":{"Example":{"title":"Example","value":{"_links":{"self":{"href":"https://api.dwolla.com/on-demand-authorizations/30e7c028-0bdf-e511-80de-0aa34a9b2388"}},"bodyText":"I agree that future payments to Company ABC inc. will be processed by the Dwolla payment system from the selected account above. In order to cancel this authorization, I will change my payment settings within my Company ABC inc. account.","buttonText":"Agree \u0026 Continue"}}},"exampleType":"generated"}},"exampleType":"generated"},"f9b1141e-6698-4d84-a31d-606728366655":{"description":"403 Error","headers":{},"content":{"application/vnd.dwolla.v1.hal+json":{"schema":{"title":"ForbiddenError","description":"Error response schema for 403 Forbidden","type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"Forbidden","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","example":"The supplied credentials are not authorized for this resource.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"ForbiddenError · object"},"examples":{"Example":{"title":"Example","value":{"code":"Forbidden","message":"The supplied credentials are not authorized for this resource."}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"a8df1bc8-4944-4d7b-8080-9f663ae65116":{"clientCredentials":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/token","x-speakeasy-token-endpoint-authentication":"client_secret_basic","scopes":{}}},"scopes":[]}}},"servers":{"326bb78d-d496-43c4-95be-45f57da94c3f":{"url":"https://api.dwolla.com","description":"Production server"},"81f29988-427c-43d7-97d4-c9186d860e8f":{"url":"https://api-sandbox.dwolla.com","description":"Sandbox server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/token","x-speakeasy-token-endpoint-authentication":"client_secret_basic","scopes":{}}},"scopes":[]},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"The access token received from the authorization server in the OAuth 2.0 flow.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"clientCredentials","name":"Authorization"}],"title":"clientCredentials"}]},"originalFileLocation":"https://raw.githubusercontent.com/Dwolla/dwolla-openapi/refs/heads/main/openapi.yml"},"subdomain":"dwolla","siteName":"Dwolla Developer Portal","title":"Create an on-demand transfer authorization - Dwolla Developer Portal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-22T15:42:30.285Z","originalFileLocation":"docs/api-reference/transfers/create-an-on-demand-transfer-authorization.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=\"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=\"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application\u0026#x27;s bank account addition flow.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dwolla Developer Portal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_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/dwolla/cA9l7j4VBJBSXPqa/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an on-demand transfer authorization - Dwolla Developer Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application\u0026#x27;s bank account addition flow.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dwolla Developer Portal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dwolla.mintlify.app/_mintlify/api/og/v2?division=Transfers\u0026amp;title=Create+an+on-demand+transfer+authorization\u0026amp;description=Create+an+on-demand+transfer+authorization+that+allows+Customers+to+pre-authorize+variable+amount+ACH+transfers+from+their+bank+account+for+future+payments.+Thi\u0026amp;theme=b10a368c9450eab6f79aef24\u0026amp;signature=2e98f1a2abf40881faa89550aea3c81d20a4da7e32a2f015c3f9055c36e192fc\">\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=\"Create an on-demand transfer authorization - Dwolla Developer Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application\u0026#x27;s bank account addition flow.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dwolla.mintlify.app/_mintlify/api/og/v2?division=Transfers\u0026amp;title=Create+an+on-demand+transfer+authorization\u0026amp;description=Create+an+on-demand+transfer+authorization+that+allows+Customers+to+pre-authorize+variable+amount+ACH+transfers+from+their+bank+account+for+future+payments.+Thi\u0026amp;theme=b10a368c9450eab6f79aef24\u0026amp;signature=2e98f1a2abf40881faa89550aea3c81d20a4da7e32a2f015c3f9055c36e192fc\">\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/dwolla/cA9l7j4VBJBSXPqa/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dwolla Developer Portal\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ca4c24\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/transfers/create-an-on-demand-transfer-authorization.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.dwolla.com/#organization\",\"name\":\"Dwolla Developer Portal\",\"url\":\"https://developers.dwolla.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dwolla/7t97G1tGpL5WlmDA/logo/light.svg?fit=max\u0026auto=format\u0026n=7t97G1tGpL5WlmDA\u0026q=85\u0026s=aeab6830d2ea9fe36f17f9b66f31b9e1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.dwolla.com#website\",\"name\":\"Dwolla Developer Portal\",\"url\":\"https://developers.dwolla.com\",\"publisher\":{\"@id\":\"https://developers.dwolla.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization#webpage\",\"url\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization\",\"name\":\"Create an on-demand transfer authorization\",\"description\":\"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application's bank account addition flow.\",\"dateModified\":\"2026-01-22T15:42:30.285Z\",\"isPartOf\":{\"@id\":\"https://developers.dwolla.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Resources\",\"item\":\"https://developers.dwolla.com/docs/api-reference/root\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transfers\",\"item\":\"https://developers.dwolla.com/docs/api-reference/transfers\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create an on-demand transfer authorization\",\"item\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization#apireference\",\"headline\":\"Create an on-demand transfer authorization\",\"name\":\"Create an on-demand transfer authorization\",\"description\":\"Create an on-demand transfer authorization that allows Customers to pre-authorize variable amount ACH transfers from their bank account for future payments. This authorization is used when creating Customer funding sources to enable flexible payment processing. Returns UI text elements including authorization body text and button text for display in your application's bank account addition flow.\",\"url\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization\",\"mainEntityOfPage\":{\"@id\":\"https://developers.dwolla.com/docs/api-reference/transfers/create-an-on-demand-transfer-authorization#webpage\"},\"dateModified\":\"2026-01-22T15:42:30.285Z\",\"publisher\":{\"@id\":\"https://developers.dwolla.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.dwolla.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dwolla Developer Portal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dwolla Developer Portal","nav":{"global":{"anchors":[{"anchor":"Status","icon":"signal","href":"https://status.dwolla.com/"},{"anchor":"Community","icon":"users","href":"https://discuss.dwolla.com/"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Guides and Concepts","pages":[{"title":"Guides and Concepts","href":"/docs"}]},{"tab":"API Reference","groups":[{"group":"Introduction","icon":"house","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/docs/api-reference"},{"group":"API Fundamentals","icon":"lightbulb","pages":[{"title":"Overview","href":"/docs/api-reference/api-fundamentals"},{"title":"Making Requests and Authentication","href":"/docs/api-reference/api-fundamentals/making-requests-and-authentication"},{"title":"JSON-HAL and Dwolla HAL-Forms","href":"/docs/api-reference/api-fundamentals/json-hal-hypermedia"},{"title":"Handling Responses","href":"/docs/api-reference/api-fundamentals/handling-responses"},{"title":"Handling Errors","href":"/docs/api-reference/api-fundamentals/errors"},{"title":"Rate Limits","href":"/docs/api-reference/api-fundamentals/rate-limits"},{"title":"Idempotency Key","href":"/docs/api-reference/api-fundamentals/idempotency-key"},{"title":"IP Allowlist","href":"/docs/api-reference/api-fundamentals/ip-allowlist"},{"title":"Debugging with X-Request-ID","href":"/docs/api-reference/api-fundamentals/debugging"}]}]},{"group":"Resources","icon":"code","pages":[{"openapi":"get /","title":"root","href":"/docs/api-reference/root"},{"group":"Authentication","pages":[{"openapi":"post /token","title":"Create an application access token","href":"/docs/api-reference/tokens/create-an-application-access-token"}]},{"group":"Accounts","pages":[{"title":"Overview","href":"/docs/api-reference/accounts"},{"openapi":"get /accounts/{id}","title":"Retrieve account details","href":"/docs/api-reference/accounts/retrieve-account-details"},{"openapi":"post /funding-sources","title":"Create a funding source for an account","href":"/docs/api-reference/accounts/create-a-funding-source-for-an-account"},{"openapi":"get /accounts/{id}/funding-sources","title":"List funding sources for an account","href":"/docs/api-reference/accounts/list-funding-sources-for-an-account"},{"openapi":"get /accounts/{id}/transfers","title":"List and search account transfers","href":"/docs/api-reference/accounts/list-and-search-transfers-for-an-account"},{"openapi":"get /accounts/{id}/mass-payments","title":"List account mass payments","href":"/docs/api-reference/accounts/list-mass-payments-for-an-account"}]},{"group":"Customers","pages":[{"title":"Overview","href":"/docs/api-reference/customers"},{"openapi":"get /customers","title":"List and search customers","href":"/docs/api-reference/customers/list-and-search-customers"},{"openapi":"post /customers","title":"Create a customer","href":"/docs/api-reference/customers/create-a-customer"},{"openapi":"get /customers/{id}","title":"Retrieve a customer","href":"/docs/api-reference/customers/retrieve-a-customer"},{"openapi":"post /customers/{id}","title":"Update a customer","href":"/docs/api-reference/customers/update-a-customer"},{"openapi":"get /business-classifications","title":"List business classifications","href":"/docs/api-reference/customers/list-business-classifications"},{"openapi":"get /business-classifications/{id}","title":"Retrieve a business classification","href":"/docs/api-reference/customers/retrieve-a-business-classification"}]},{"group":"Knowledge Based Authentication (KBA)","pages":[{"title":"Overview","href":"/docs/api-reference/kba"},{"openapi":"post /customers/{id}/kba","title":"Initiate a KBA session","href":"/docs/api-reference/kba/initiate-a-kba-session"},{"openapi":"get /kba/{id}","title":"Retrieve KBA Questions","href":"/docs/api-reference/kba/retrieve-kba-questions"},{"openapi":"post /kba/{id}","title":"Verify KBA Questions","href":"/docs/api-reference/kba/verify-kba-questions"}]},{"group":"Beneficial Owners","pages":[{"title":"Overview","href":"/docs/api-reference/beneficial-owners"},{"openapi":"get /customers/{id}/beneficial-owners","title":"List customer beneficial owners","href":"/docs/api-reference/beneficial-owners/list-beneficial-owners"},{"openapi":"post /customers/{id}/beneficial-owners","title":"Create customer beneficial owner","href":"/docs/api-reference/beneficial-owners/create-beneficial-owner"},{"openapi":"get /beneficial-owners/{id}","title":"Retrieve beneficial owner","href":"/docs/api-reference/beneficial-owners/retrieve-beneficial-owner"},{"openapi":"post /beneficial-owners/{id}","title":"Update beneficial owner","href":"/docs/api-reference/beneficial-owners/update-beneficial-owner"},{"openapi":"delete /beneficial-owners/{id}","title":"Remove beneficial owner","href":"/docs/api-reference/beneficial-owners/delete-beneficial-owner"},{"openapi":"get /customers/{id}/beneficial-ownership","title":"Retrieve beneficial ownership status","href":"/docs/api-reference/beneficial-owners/retrieve-beneficial-ownership-status"},{"openapi":"post /customers/{id}/beneficial-ownership","title":"Certify beneficial ownership","href":"/docs/api-reference/beneficial-owners/certify-beneficial-ownership-status"}]},{"group":"Documents","pages":[{"title":"Overview","href":"/docs/api-reference/documents"},{"openapi":"get /customers/{id}/documents","title":"List documents for customer","href":"/docs/api-reference/documents/list-documents-for-customer"},{"openapi":"post /customers/{id}/documents","title":"Create a document for customer","href":"/docs/api-reference/documents/create-a-document-for-customer"},{"openapi":"get /beneficial-owners/{id}/documents","title":"List documents for beneficial owner","href":"/docs/api-reference/documents/list-document-for-beneficial-owner"},{"openapi":"post /beneficial-owners/{id}/documents","title":"Create a document for beneficial owner","href":"/docs/api-reference/documents/create-a-document-for-beneficial-owner"},{"openapi":"get /documents/{id}","title":"Retrieve a document","href":"/docs/api-reference/documents/retrieve-a-document"}]},{"group":"Exchanges","pages":[{"title":"Overview","href":"/docs/api-reference/exchanges"},{"openapi":"get /exchange-partners","title":"List exchange partners","href":"/docs/api-reference/exchanges/list-exchange-partners"},{"openapi":"get /exchange-partners/{id}","title":"Retrieve exchange partner","href":"/docs/api-reference/exchanges/retrieve-exchange-partner"},{"openapi":"get /exchanges","title":"List exchanges for an account","href":"/docs/api-reference/exchanges/list-exchanges-for-an-account"},{"openapi":"post /exchanges","title":"Create an exchange for an account","href":"/docs/api-reference/exchanges/create-an-exchange-for-an-account"},{"openapi":"get /exchanges/{id}","title":"Retrieve exchange resource","href":"/docs/api-reference/exchanges/retrieve-exchange-resource"},{"openapi":"get /customers/{id}/exchanges","title":"List exchanges for a customer","href":"/docs/api-reference/exchanges/list-exchanges-for-a-customer"},{"openapi":"post /customers/{id}/exchanges","title":"Create an exchange for a customer","href":"/docs/api-reference/exchanges/create-an-exchange-for-a-customer"}]},{"group":"Open Banking","pages":[{"title":"Overview","href":"/docs/api-reference/exchange-sessions"},{"openapi":"post /customers/{id}/exchange-sessions","title":"Create customer exchange session","href":"/docs/api-reference/exchange-sessions/create-customer-exchange-session"},{"openapi":"get /exchange-sessions/{id}","title":"Retrieve exchange session","href":"/docs/api-reference/exchange-sessions/retrieve-exchange-session"},{"openapi":"post /exchanges/{id}/exchange-sessions","title":"Create re-authentication exchange session","href":"/docs/api-reference/exchange-sessions/create-re-authentication-exchange-session"},{"openapi":"get /customers/{id}/available-exchange-connections","title":"List available exchange connections","href":"/docs/api-reference/exchange-sessions/list-available-exchange-connections"}]},{"group":"Funding Sources","pages":[{"title":"Overview","href":"/docs/api-reference/funding-sources"},{"openapi":"get /customers/{id}/funding-sources","title":"List customer funding sources","href":"/docs/api-reference/funding-sources/list-customer-funding-sources"},{"openapi":"post /customers/{id}/funding-sources","title":"Create customer funding source","href":"/docs/api-reference/funding-sources/create-customer-funding-source"},{"openapi":"get /funding-sources/{id}","title":"Retrieve a funding source","href":"/docs/api-reference/funding-sources/retrieve-a-funding-source"},{"openapi":"post /funding-sources/{id}","title":"Update or remove a funding source","href":"/docs/api-reference/funding-sources/update-or-remove-a-funding-source"},{"openapi":"get /funding-sources/{id}/micro-deposits","title":"Retrieve micro-deposits details","href":"/docs/api-reference/funding-sources/retrieve-micro-deposits-details"},{"openapi":"post /funding-sources/{id}/micro-deposits","title":"Initiate or Verify micro-deposits","href":"/docs/api-reference/funding-sources/initiate-or-verify-micro-deposits"},{"openapi":"get /funding-sources/{id}/ach-routing","title":"Retrieve VAN account and routing numbers","href":"/docs/api-reference/funding-sources/retrieve-van-account-and-routing-numbers"},{"openapi":"get /funding-sources/{id}/balance","title":"Retrieve funding source balance","href":"/docs/api-reference/funding-sources/retrieve-funding-source-balance"}]},{"group":"Transfers","pages":[{"title":"Overview","href":"/docs/api-reference/transfers"},{"openapi":"post /transfers","title":"Initiate a transfer","href":"/docs/api-reference/transfers/initiate-a-transfer"},{"openapi":"get /transfers/{id}","title":"Retrieve a transfer","href":"/docs/api-reference/transfers/retrieve-a-transfer"},{"openapi":"post /transfers/{id}","title":"Cancel a transfer","href":"/docs/api-reference/transfers/cancel-a-transfer"},{"openapi":"get /customers/{id}/transfers","title":"List and search transfers for a customer","href":"/docs/api-reference/transfers/list-and-search-transfers-for-a-customer"},{"openapi":"get /transfers/{id}/fees","title":"List fees for a transfer","href":"/docs/api-reference/transfers/list-fees-for-a-transfer"},{"openapi":"get /transfers/{id}/failure","title":"Retrieve a transfer failure reason","description":"Retrieve detailed failure information for a failed bank or VAN transfer including the ACH return code, description, and explanation. Returns failure details with links to the failed funding source and associated Customer for comprehensive error analysis. Available only for transfers with failure status and accessed through the failure link from transfer retrieval. Critical for troubleshooting payment failures and understanding ACH return reasons.","href":"/docs/api-reference/transfers/retrieve-a-transfer-failure-reason"},{"openapi":"post /on-demand-authorizations","title":"Create an on-demand transfer authorization","href":"/docs/api-reference/transfers/create-an-on-demand-transfer-authorization"}]},{"group":"Mass Payments","pages":[{"title":"Overview","description":"Create, list, update, and retrieve mass payments using the Dwolla API.","href":"/docs/api-reference/mass-payments"},{"openapi":"post /mass-payments","title":"Initiate a mass payment","href":"/docs/api-reference/mass-payments/initiate-a-mass-payment"},{"openapi":"get /mass-payments/{id}","title":"Retrieve a mass payment","href":"/docs/api-reference/mass-payments/retrieve-a-mass-payment"},{"openapi":"post /mass-payments/{id}","title":"Update a mass payment","href":"/docs/api-reference/mass-payments/update-a-mass-payment"},{"openapi":"get /mass-payments/{id}/items","title":"List items for a mass payment","href":"/docs/api-reference/mass-payments/list-items-for-a-mass-payment"},{"openapi":"get /mass-payment-items/{id}","title":null,"href":"/docs/api-reference/mass-payments/retrieve-mass-payment-item"},{"openapi":"get /customers/{id}/mass-payments","title":"List mass payments for customer","href":"/docs/api-reference/mass-payments/list-mass-payments-for-customer"}]},{"group":"Labels","pages":[{"title":"Overview","href":"/docs/api-reference/labels"},{"openapi":"get /labels/{id}","title":"Retrieve a label","href":"/docs/api-reference/labels/retrieve-a-label"},{"openapi":"delete /labels/{id}","title":"Remove a label","href":"/docs/api-reference/labels/remove-a-label"},{"openapi":"get /customers/{id}/labels","title":"List labels for a customer","href":"/docs/api-reference/labels/list-labels-for-a-customer"},{"openapi":"post /customers/{id}/labels","title":"Create a label for a customer","href":"/docs/api-reference/labels/create-a-label-for-a-customer"},{"openapi":"get /labels/{id}/ledger-entries","title":"List label ledger entries","href":"/docs/api-reference/labels/list-label-ledger-entries"},{"openapi":"post /labels/{id}/ledger-entries","title":"Create a label ledger entry","href":"/docs/api-reference/labels/create-a-label-ledger-entry"},{"openapi":"get /ledger-entries/{id}","title":null,"href":"/docs/api-reference/labels/retrieve-a-label-ledger-entry"},{"openapi":"post /label-reallocations","title":"Create a label reallocation","href":"/docs/api-reference/labels/create-a-label-reallocation"},{"openapi":"get /label-reallocations/{id}","title":null,"href":"/docs/api-reference/labels/retrieve-a-label-reallocation"}]},{"group":"Events","pages":[{"title":"Overview","href":"/docs/api-reference/events"},{"openapi":"get /events","title":"List events","href":"/docs/api-reference/events/list-events"},{"openapi":"get /events/{id}","title":"Retrieve event","href":"/docs/api-reference/events/retrieve-event"}]},{"group":"Webhook Subscriptions","pages":[{"title":"Overview","href":"/docs/api-reference/webhook-subscriptions"},{"openapi":"get /webhook-subscriptions","title":"List webhook subscriptions","href":"/docs/api-reference/webhook-subscriptions/list-webhook-subscriptions"},{"openapi":"post /webhook-subscriptions","title":"Create a webhook subscription","href":"/docs/api-reference/webhook-subscriptions/create-a-webhook-subscription"},{"openapi":"get /webhook-subscriptions/{id}","title":"Retrieve a webhook subscription","href":"/docs/api-reference/webhook-subscriptions/retrieve-a-webhook-subscription"},{"openapi":"post /webhook-subscriptions/{id}","title":"Update a webhook subscription","href":"/docs/api-reference/webhook-subscriptions/update-a-webhook-subscription"},{"openapi":"delete /webhook-subscriptions/{id}","title":"Delete a webhook subscription","href":"/docs/api-reference/webhook-subscriptions/delete-a-webhook-subscription"},{"openapi":"get /webhook-subscriptions/{id}/webhooks","title":"List webhooks for a webhook subscription","href":"/docs/api-reference/webhook-subscriptions/list-webhooks-for-a-webhook-subscription"}]},{"group":"Webhooks","pages":[{"title":"Overview","href":"/docs/api-reference/webhooks"},{"openapi":"get /webhooks/{id}","title":"Retrieve a webhook","href":"/docs/api-reference/webhooks/retrieve-a-webhook"},{"openapi":"get /webhooks/{id}/retries","title":"List retries for a webhook","href":"/docs/api-reference/webhooks/list-retries-for-a-webhook"},{"openapi":"post /webhooks/{id}/retries","title":"Retry a webhook","href":"/docs/api-reference/webhooks/retry-a-webhook"}]}]}]},{"tab":"Resources","menu":[{"item":"SDKs","icon":"code","description":"Client libraries and tools for the Dwolla API","pages":[{"title":"SDKs","href":"/docs/sdks-tools"}]},{"item":"Drop-in Components","icon":"puzzle-piece","description":"Pre-built UI components for payment flows","pages":[{"title":"Drop-in Components","href":"/docs/drop-in-components"}]},{"item":"Changelog","icon":"clipboard-list","description":"Latest updates and release notes","pages":[{"title":"Changelog","href":"/docs/changelog"}]}],"pages":[{"title":"Resources","href":"/docs/sdks-tools"}]}]},"basePath":"","title":"Create an on-demand transfer authorization - Dwolla Developer Portal","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}