Overview - Dwolla Developer Portal

Events

When the state of a resource changes, Dwolla creates a new event resource to record the change. When an Event is created, a Webhook will be created to deliver the Event to any URLs specified by your active Webhook Subscriptions. To view example payloads for Customer related events, refer to the Webhooks Events resource within the Developer Docs.

Events resource

Parameter Description
_links Contains links to the event, associated resource, and the Account associated with the event.
id Event ID
created ISO-8601 timestamp when event was created
topic Type of event
resourceId ID of the resource associated with the event.
correlationId Unique ID that was specified, if any, when a transfer was created.
This value is only present for Account transfer and Customer transfer events.
{
  "_links": {
    "self": {
      "href": "https://api.dwolla.com/events/f8e70f48-b7ff-47d0-9d3d-62a099363a76"
    },
    "resource": {
      "href": "https://api.dwolla.com/transfers/48CFDDB4-1E74-E511-80DB-0AA34A9B2388"
    },
    "account": {
      "href": "https://api.dwolla.com/accounts/ca32853c-48fa-40be-ae75-77b37504581b"
    }
  },
  "id": "f8e70f48-b7ff-47d0-9d3d-62a099363a76",
  "created": "2015-10-16T15:58:15.000Z",
  "topic": "transfer_created",
  "resourceId": "48CFDDB4-1E74-E511-80DB-0AA34A9B2388"
}

Dwolla Master Account Event topics

Accounts

Topic Description
account_suspended Description: A Dwolla Master Account was suspended.
account_activated Description: A Dwolla Master Account moves from deactivated or suspended to active state of verification.

Funding Sources

Topic Description
funding_source_added Description: A funding source was added to a Dwolla account.
Timing: Occurs after a bank funding source is created for the Master account.
funding_source_removed Description: A funding source was removed from a Dwolla account.
Timing: Occurs upon a POST request to the Remove a funding source endpoint, or when Dwolla systematically removes a funding source upon receiving certain ACH return codes when a transfer fails.
funding_source_verified Description: A funding source was marked as verified.
Timing: Occurs when the Master Account Admin Verifies their funding source through micro-deposits.
funding_source_unverified Description: A funding source has been systematically unverified. This is generally a result of a transfer failure. View our developer resource article to learn more.
funding_source_negative Description: A Dwolla Master Account balance has gone negative. You are responsible for ensuring a zero or positive Dwolla balance for your account. If your balance funding source has gone negative, you are responsible for making the Dwolla account whole. Dwolla will notify you via a webhook and separate email of the negative balance. If no action is taken, Dwolla will debit your attached billing source.
Timing: Occurs immediately after a Master account balance becomes negative.
funding_source_updated Description: A funding source has been updated. This can also be fired as a result of a correction after a bank transfer process. For example, a financial institution can issue a correction to change the bank account type from checking to savings.
Timing: Occurs after the Master Account Admin or the bank makes a correction to the funding source.
microdeposits_added Description: Two <=10¢ transfers to a Dwolla Master Account’s linked bank account were initiated.
Timing: Occurs when Dwolla processes micro-deposits to the linked bank account.
microdeposits_failed Description: The two <=10¢ transfers to a Dwolla Master Account’s linked bank account failed to clear successfully.
Timing: Occurs when the micro-deposits are returned by the bank or if the destination bank is removed before the micro-deposits export out of Dwolla.
microdeposits_completed Description: The two <=10¢ transfers to a Dwolla Master Account’s linked bank account have cleared successfully.
Timing: Occurs when micro-deposits are successfully verified.
microdeposits_maxattempts Description: The funding source has reached its max verification attempts limit of three. The funding source can no longer be verified with the completed micro-deposit amounts.
Timing: Occurs with the fourth attempt to verify micro-deposits.

Transfers

For Account transfer events, in addition to the default payload keys, a correlationId key-value pair may be present if a value was specified when the transfer was created.

Topic Description
bank_transfer_created Description: A bank transfer was created. Represents funds moving either from a Dwolla Master Account’s bank to the Dwolla network or from the Dwolla network to a Dwolla Master Account’s bank.
Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds from a Dwolla Master Account’s bank, or when funds move from the Dwolla Master Account’s balance to their bank.
bank_transfer_creation_failed Description: An attempt to initiate a transfer to a Master Account’s bank was made, but failed. Transfers initiated to a Master Account’s bank must pass through the Master Account’s balance before being sent to a receiving bank. Dwolla will fail to create a transaction intended for a Master Account’s bank if the funds available in the balance are less than the transfer amount.
Timing: Occurs when a transfer to a Dwolla Master Account’s bank fails to be created.
bank_transfer_cancelled Description: A pending bank transfer has been cancelled, and will not proceed further. Represents a cancellation of funds either transferring from a Dwolla Master Account’s bank to the Dwolla network or from the Dwolla network to a Dwolla Master Account’s bank.
Timing: Occurs upon a POST request to the Cancel a Transfer endpoint, or when Dwolla manually cancels a transfer.
bank_transfer_failed Description: A transfer failed to clear successfully. Usually, this is a result of an ACH failure (insufficient funds, etc.). Represents funds failing to clear either from a Dwolla Master Account’s bank to the Dwolla network or from the Dwolla network to a Dwolla Master Account’s bank.
Timing: Occurs when a Dwolla Master Account’s bank issues an ACH failure on an incoming or outgoing transfer.
bank_transfer_completed Description: A bank transfer has cleared successfully. Represents funds clearing either from a Dwolla Master Account’s bank to the Dwolla network or from the Dwolla network to a Dwolla Master Account’s bank.
Timing: Occurs when Dwolla has processed a transfer to or from a Dwolla Master Account’s bank.
transfer_created Description: A transfer was created. Represents funds moving either to or from a Dwolla Master Account’s balance or bank.
Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds from a Dwolla Master Account’s bank or balance.
transfer_cancelled Description: A pending transfer has been cancelled, and will not proceed further. Represents a cancellation of funds transferring either to or from a Dwolla Master Account’s balance or bank.
Timing: Occurs upon a POST request to the Cancel a transfer endpoint, or when a transfer is systemically canceled by Dwolla in the event that the funding source is removed after the initiation of the transfer and before it exports out of Dwolla
transfer_failed Description: A transfer failed to clear successfully. Represents funds failing to clear either to or from a Dwolla Master Account’s balance or bank.
Timing: Occurs after Dwolla receives an ACH return from the bank.
transfer_completed Description: A transfer has cleared successfully. Represents funds clearing either to or from a Dwolla Master Account’s balance or bank.
Timing: Occurs after the transfer has successfully been processed in or out of the Dwolla Master Account’s balance or bank based on the transfer processing timing used.

Mass Payments

Topic Description
mass_payment_created Description: A mass payment was created. ​​
Timing: Occurs upon a POST request to the Initiate a mass-payment endpoint.
mass_payment_completed Description: A mass payment was completed. However, this doesn’t mean that each mass payment item’s transfer was successful.
Timing: Occurs when a mass payment job completes.
mass_payment_cancelled Description: A created and deferred mass payment was cancelled.
Timing: Occurs upon a POST request to the Update a mass-payment endpoint when cancelling a mass payment job.

Statements

Topic Description
statement_created Description: A monthly balance summary and a detailed transaction record for the previous month was created for a Dwolla Master Account.
Timing: Occurs at the beginning of each month.

Customer Account Event topics

Customers

Topic Description
customer_created Description: A Customer was created.
Timing: Occurs upon a POST request to the Create a Customer endpoint.
customer_kba_verification_needed Description: The retry identity verification attempt failed due insufficient scores on the submitted data. The end user will have a single kba attempt to answer a set of “out of wallet” questions about themselves for identity verification.
Timing: Occurs after a failed attempt to verify a Verified Customer Record.
customer_kba_verification_failed Description: The end user failed KBA verification and was unable to correctly answer at least three KBA questions.
Timing: Triggered after a single attempt at verifying a Verified Customer Record using KBA.
customer_kba_verification_passed Description: The end user was able to correctly answer at least three KBA questions.
Timing: Triggered after a Verified Customer Record successfully passes KBA requirements.
customer_verification_document_needed Description: Additional documentation is needed to verify a Customer.
Timing: Occurs when a second attempt to re-verify a Customer fails, which systematically places the Customer in document status immediately after a POST request to the Update a Customer endpoint.
customer_verification_document_uploaded Description: A verification document was uploaded for a Customer.
Timing: Occurs upon a POST request to the Create a Document endpoint.
customer_verification_document_failed Description: A verification document has been rejected for a Customer.
Timing: Occurs when a document uploaded for a Customer is reviewed by Dwolla, and rejected with a document failure reason, usually within 1-2 business days of uploading a document.
customer_verification_document_approved Description: A verification document was approved for a Customer.
Timing: Occurs when a document uploaded for a Customer is reviewed by Dwolla, and approved, usually within 1-2 business days of uploading a document.
customer_reverification_needed Description: Incomplete information was received for a Customer; updated information is needed to verify the Customer.
Timing: Occurs upon a POST request to the Update a Customer endpoint, or when Dwolla places a Customer into retry status.
customer_verification_pending_review Description: Sent when a Customer enters manual review (AdditionalReviewRequired). No further action is required until Dwolla completes review. This webhook could accompany the customer_suspended webhook.
Timing: Occurs when Dwolla places a Customer into suspended status for manual review; can be triggered on the initial verification attempt, retry attempts, and/or manually.
customer_address_verification_failed Description: Sent when verification returns an address-related directive (POBoxNotAllowed, AddressNotAssociatedWithBusiness, ResidentialAddressRequired, CoWorkingAddress, or RegisteredAgentAddressNotAllowed). The address needs to be updated and/or proof of address documentation is required. This webhook could accompany the customer_reverification_needed webhook or be sent after a document is uploaded while in the document status.
Timing: Occurs on the initial verification attempt, during retry attempts, after document review, and/or manually.
customer_verified Description: A Customer was verified.
Timing: Occurs when a Customer is verified by Dwolla upon a POST request to the Create a Customer endpoint. In a case where the Customer isn’t instantly verified upon creation, this event occurs when the Customer is verified after a retry attempt, or after a document is approved.
customer_suspended Description: A Customer was suspended.
Timing: Occurs when Dwolla systematically places a Customer in suspended status as a result of uploading fraudulent documents, or upon receiving certain ACH return codes when a transfer fails.
customer_activated Description: A Customer moves from deactivated or suspended to an active status.
Timing: Occurs upon reactivating a Customer that has a deactivated status by making a POST request to the Update a Customer endpoint, or when Dwolla reactivates a Customer that has a suspended status.
customer_deactivated Description: A Customer was deactivated.
Timing: Occurs upon deactivation of a Customer by making a POST request to the Update a Customer endpoint, or when Dwolla systematically deactivates a Customer upon receiving certain ACH return codes when a transfer fails.

Beneficial Owners

Topic Description
customer_beneficial_owner_created Description: Beneficial owner successfully created.
Timing: Occurs upon a POST request to the Create a beneficial owner endpoint.
customer_beneficial_owner_removed Description: An individual beneficial owner has been successfully removed from the Customer.
Timing: Occurs upon a POST request to the Remove a beneficial owner endpoint.
customer_beneficial_owner_verification_document_needed Description: Additional documentation is needed to verify an individual beneficial owner.
Timing: Occurs when a second attempt to re-verify a beneficial owner fails, which systematically places the beneficial owner in document status immediately after a POST request to the Update a beneficial owner endpoint.
customer_beneficial_owner_verification_document_uploaded Description: A verification document was uploaded for the beneficial owner.
Timing: Occurs upon a POST request to the Create a document for a beneficial owner endpoint.
customer_beneficial_owner_verification_document_failed Description: A verification document has been rejected for a beneficial owner.
Timing: Occurs when a document uploaded for a beneficial owner is reviewed by Dwolla, and rejected with a document failure reason, usually within 1-2 business of uploading a document.
customer_beneficial_owner_verification_document_approved Description: A verification document was approved for a beneficial owner.
Timing: Occurs when a document uploaded for a Customer is reviewed by Dwolla, and approved, usually within 1-2 business days of uploading a document.
customer_beneficial_owner_reverification_needed Description: A previously verified beneficial owner status has changed due to either a change in the beneficial owner’s information or at request for more information from Dwolla. The individual will need to verify their identity within 30 days.
Timing: Occurs upon a POST request to the Update a beneficial owner endpoint, or when Dwolla places the beneficial owner into incomplete status.
customer_beneficial_owner_verified Description: A beneficial owner has been verified.
Timing: Occurs when a Beneficial Owner is verified by Dwolla upon a POST request to the Create a beneficial owner endpoint. In a case where the Beneficial Owner isn’t instantly verified upon creation, this event occurs when the Beneficial Owner is verified after an update, or after a document is approved.

Exchanges

Event Topic Name Description
customer_exchange_reauth_required Description: An exchange has been deactivated (or is pending deactivation) and requires reauthentication.
Timing: Occurs when access to a user’s connected bank account has been interrupted. This interruption could be due to changes on the bank’s end, such as a password update, multi-factor authentication reset or revoked consent. This event signals that a user’s bank connection needs to be refreshed by creating a reauth exchange session.

Funding Sources

Topic Description
customer_funding_source_added Description: A funding source was added to a Customer.
Timing: Occurs upon a POST request to the Create a funding source for a customer endpoint, or when a funding source is added via drop-in components or a third party bank verification method.
customer_funding_source_removed Description: A funding source was removed from a Customer.
Timing: Occurs upon a POST request to the Remove a funding source endpoint, or when Dwolla systematically removes a funding source upon receiving certain ACH return codes when a transfer fails.
customer_funding_source_verified Description: A Customer’s funding source was marked as verified.
Timing: Occurs upon a POST request to the Verify micro-deposits endpoint with the correct amounts, or when a funding source is added + verified via a third-party bank verification method. Also occurs in cases where Dwolla manually marks a funding source as verified.
customer_funding_source_unverified Description: A funding source has been systematically unverified. This is generally a result of a transfer failure. View our developer resource article to learn more.
Timing: Occurs when Dwolla systematically marks a funding source unverified upon receiving certain ACH return codes when a transfer fails.
customer_funding_source_negative Description: A Customer’s balance has gone negative. You are responsible for ensuring a zero or positive Dwolla balance for Customer accounts created by your application. If a Customer balance funding source has gone negative, you are responsible for making the Dwolla Customer account whole. Dwolla will notify you via a webhook and separate email of the negative balance. If no action is taken, Dwolla will debit your attached billing source.
Timing: Occurs upon a POST request to the Initiate a transfer endpoint that causes a funding source balance to go negative.
customer_funding_source_updated Description: A Customer’s funding source has been updated. This can also be fired as a result of a correction after a bank transfer process. For example, a financial institution can issue a correction to change the bank account type from checking to savings.
Timing: Occurs upon a POST request to the Update a funding source endpoint.
customer_microdeposits_added Description: Two <=10¢ transfers to a Customer’s linked bank account were initiated.
Timing: Occurs upon a POST request to the Initiate micro-deposits endpoint.
customer_microdeposits_failed Description: The two <=10¢ transfers to a Customer’s linked bank account failed to clear successfully.
Timing: Occurs when micro-deposits fail to clear into a bank account, usually within 1-2 business days of initiating them.
customer_microdeposits_completed Description: The two <=10¢ transfers to a Customer’s linked bank account have cleared successfully.
Timing: Occurs when micro-deposit are successful, usually within 1-2 business days of initiating them.
customer_microdeposits_maxattempts Description: The Customer has reached their max verification attempts limit of three. The Customer can no longer verify their funding source with the completed micro-deposit amounts.
Timing: Occurs upon the third POST request to the Verify micro-deposits endpoint with incorrect micro-deposit amounts.

Transfers

For Customer transfer events, in addition to the default payload keys, a correlationId key-value pair may be present if a value was specified when the transfer was created.

Topic Description
customer_bank_transfer_created Description: A bank transfer was created for a Customer. Represents funds moving either from a verified Customer’s bank to the Dwolla network or from the Dwolla network to a verified Customer’s bank.
Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds from a Verified Customer’s bank, or when funds move from a receiving Verified Customer’s balance to their bank.
customer_bank_transfer_creation_failed Description: An attempt to initiate a transfer to a verified Customer’s bank was made, but failed. Transfers initiated to a verified Customer’s bank must pass through the verified Customer’s balance before being sent to a receiving bank. Dwolla will fail to create a transaction intended for a verified Customer’s bank if the funds available in the balance are less than the transfer amount.
Timing: Occurs when a transfer to a verified Customer’s bank fails to be created.
customer_bank_transfer_cancelled Description: A pending Customer bank transfer has been cancelled, and will not proceed further. Represents a cancellation of funds either transferring from a verified Customer’s bank to the Dwolla network or from the Dwolla network to a verified Customer’s bank.
Timing: Occurs upon a POST request to the Cancel a transfer endpoint, or when Dwolla manually cancels a transfer.
customer_bank_transfer_failed Description: A Customer bank transfer failed to clear successfully. Usually, this is a result of an ACH failure (insufficient funds, etc.). Represents funds failing to clear either from a verified Customer’s bank to the Dwolla network or from the Dwolla network to a verified Customer’s bank.
Timing: Occurs when Dwolla marks a transfer as failed.
customer_bank_transfer_completed Description: A bank transfer that was created for a Customer has cleared successfully. Represents funds clearing either from a verified Customer’s bank to the Dwolla network or from the Dwolla network to a verified Customer’s bank.
Timing: Occurs when a funds transfer into the Dwolla Platform or a verified Customer’s bank is successful, based on the transfer processing timing used.
customer_transfer_created Description: A transfer was created for a Customer. Represents funds transferring to an unverified Customer’s bank or to a verified Customer’s balance.
Timing: Occurs upon a POST request to the Initiate a transfer endpoint when sending funds from a verified Customer’s balance, or to/from an unverified Customer’s bank.
customer_transfer_cancelled Description: A pending transfer has been cancelled, and will not process further. Represents a cancellation of funds transferring either to an unverified Customer’s bank or to a verified Customer’s balance.
Timing: Occurs upon a POST request to the Cancel a transfer endpoint to cancel a transfer initiated from a verified Customer’s balance, or to/from an unverified Customer’s bank.
customer_transfer_failed Description: A Customer transfer failed to clear successfully. Represents funds failing to clear either to an unverified Customer’s bank or to a verified Customer’s balance.
Timing: Occurs when Dwolla marks a transfer as failed.
customer_transfer_completed Description: A Customer transfer has cleared successfully. Represents funds clearing either to an unverified Customer’s bank or to a verified Customer’s balance.
Timing: Occurs when a funds transfer into an unverified Customer’s bank or a verified Customer’s balance is successful, based on the transfer processing timing used.

Mass Payments

Topic Description
customer_mass_payment_created Description: A Verified Customer’s mass payment was created.
Timing: Occurs upon a POST request to the Update a mass-payment endpoint when cancelling a mass payment job.
customer_mass_payment_completed Description: A Verified Customer’s mass payment was completed. However, this doesn’t mean that each mass payment item’s transfer was successful.
Timing: Occurs when a mass payment job completes.
customer_mass_payment_cancelled Description: A Verified Customer’s created and deferred mass payment was cancelled.
Timing: Occurs upon a POST request to the Update a mass-payment endpoint when cancelling a mass payment job.
customer_balance_inquiry_completed Description: Upon checking a Customer’s bank balance, Dwolla will immediately return an HTTP 202 with response body that includes a status of processing.
Timing: This event will be triggered when the bank balance check has completed processing.

Labels

Topic Description
customer_label_created Description: A Verified Customer’s label was created.
Timing: Occurs upon a POST request to the Create a label endpoint.
customer_label_ledger_entry_created Description: A ledger entry for a Verified Customer’s label was created.
Timing: Occurs upon a POST request to the Create a label ledger entry endpoint.
customer_label_removed Description: A Verified Customer’s label was removed.
Timing: Occurs upon a POST request to the Remove a label endpoint.