Docs
Get API Keys

Webhook subscriptions #

Create a webhook subscription to receive POST requests from Dwolla (called webhooks) when events associated with your application occur. Webhooks are sent to a URL which you provide when creating a webhook subscription. While we see most applications maintain one webhook subscription, you can have up to ten active webhook subscriptions in Sandbox, and up to five in Production at a time.

Automatic pause of a webhook subscription #

Dwolla will automatically pause subscribed webhook endpoints that are no longer reachable. The webhook subscription will be paused after 400 consecutive failures and 24 hours since the last success. This will help us ensure that unavailable endpoints don’t cause delays or issues in delivery of notifications for other API customers. The ability to unpause webhook subscriptions is coming soon.

Acknowledgement and retries #

When your application receives a webhook, it should respond with a HTTP 2xx status code to indicate successful receipt. If Dwolla receives a status code greater than or equal to 3xx, or your application fails to respond within 10 seconds of the attempt, another attempt will be made. Dwolla will not follow redirects and will treat them as a failure.

Dwolla will re-attempt delivery 8 times over the course of 72 hours according to the backoff schedule below. If a webhook was successfully received but you would like the information again, you can call retrieve a webhook by its Id.

Delivery rate #

Webhooks are delivered in near real-time as events tied to your application are created. If there is a large number of events created for your application within a short timeframe, Dwolla may deliver bursts of 10 concurrent webhook requests to your subscribed URL. We encourage applications to make their webhook handler do as little as possible and only perform a high level validation of the request. Once initial validation is performed, immediately acknowledge the webhook request and process it in the background later. If your subscribed webhook URL is unable to handle the volume of concurrent requests, please contact Dwolla developer support and the delivery rate can be adjusted.

Retry numberInterval (relative to last retry)Interval (relative to original attempt)
115 min15 min
245 min1 h
32 h3 h
43 h6 h
56 h12 h
612 h24 h
724 h48 h
824 h72 h

List of Webhook Events #

The following list contains all supported events that can trigger a webhook notification to be sent using Dwolla Connect. New events may be added in the future, so be sure to check back on our changelog often. We also recommend subscribing to developer/product related updates to stay informed about the latest changes.

Funding Sources

Event Topic NameDescription
funding_source:createdDescription: A funding source was added to a main Dwolla Account.
Timing: Occurs upon a POST request to the Create a funding source for an account endpoint, or when a funding source is added via a third party bank verification method.
funding_source:removedDescription: A funding source was removed from a main Dwolla Account.
Timing: Occurs upon a POST request to the Remove a funding source endpoint.
external_party.funding_source:createdDescription: A funding source was added to an External Party.
Timing: Occurs upon a POST request to the Create a funding source for an external party endpoint, or when a funding source is added via a third party bank verification method.
external_party.funding_source:removedDescription: A funding source was removed from an External Party.
Timing: Occurs upon a POST request to the Remove a funding source endpoint.

External Parties

Event Topic NameDescription
external_party:createdDescription: An external party was created.
Timing: Occurs upon a POST request to the Create an external party endpoint.

Transfers

Event Topic NameDescription
transfer:createdDescription: An account-to-account transfer was created between a main Dwolla Account and an External Party.
Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds between a main Dwolla Account and an External Party.
transfer:pendingDescription: An account-to-account transfer was updated from created to pending. A pending status represents submission to a Financial Institution for processing.
Timing: Occurs immediately following the transfer:created event when a transaction is submitted for processing.
transfer:processedDescription: An account-to-account transfer was updated from pending to processed. A processed status represents completed processing with the Financial Institution.
Timing: Occurs when the transfer is expected to be successful based on the designated processing time.
transfer:failedDescription: An account-to-account transfer was updated from pending to failed.
Timing: Occurs after a transfer:pending event when a transaction fails processing after being submitted to the Financial Institution. Additional details are available in an embedded failureReason object when retrieving a transfer.
transfer:returnedDescription: An account-to-account transfer was updated to returned. A returned status represents an ACH debit/credit transfer that has been returned by the RDFI.
Timing: Occurs after a transfer has been submitted for processing by a Financial Institution following a transfer:pending or transfer:processed event when an ACH return has been issued by an RDFI. Additional details are available in an embedded failureReason object when retrieving a transfer.

Resource Overview #

PropertyTypeDescription
_linksobjectHAL-JSON links to related resources.
idstring <uuid>Webhook subscription unique identifier.
urlstringSubscribed url where Dwolla should deliver the webhook notification.
pausedbooleanA boolean true or false value indicating if the webhook subscription is paused. A webhook subscription will be automatically paused after 400 consecutive failures.
createdstring <date-time>ISO-8601 timestamp of when the resource was created.
Test in the Sandbox for free today.
Use sandbox environment to test API requests.
Get API Keys
2024 All Rights Reserved
Financial institutions play an important role in our network.

All funds transfers made using the Dwolla Platform are performed by a financial institution partner, and any funds held in a Dwolla Balance are held by a financial institution partner. Learn more about our financial institution partners.