Dwolla Developers Logo
Back
API Reference
  • SDK Support
    Drop-in Components
    Authorization
    Root
    Accounts
    Customers
    OverviewCreate a customerRetrieve a customerList and search customersUpdate a customerList business classificationsRetrieve a business classification
    Knowledge-based Authentication (KBA)
    Beneficial Owners
    Documents
    Funding Sources
    Transfers
    Mass payments
    Labels
    Events
    Webhook subscriptions
    Webhooks
CommunityOpen in new tabChangelog
Get API Keys
CommunityOpen in new tabChangelog
JavaScript
Get API Keys

Customers #

A Customer represents an individual or business with whom you intend to transact with and is programmatically created and managed by a Dwolla Master account via the API. In order for a Dwolla Account to create and manage Customers, an application must obtain permission from Dwolla before being enabled in production. Note: Customers can only be US persons. Business Verified Customers may have non-US Controllers or Beneficial Owners.

Customer types #

With a transfer of money, at least one party must complete the identity verification process, either the sender or the receiver. This can be either the Dwolla Master Account itself or a verified Customer type. Based on your business model and funds flow, it’s your decision about which party completes this process-- you may even want to have both parties complete the identity verification process. A brief description of each Customer type is below, but for a more in-depth overview of each Customer type and what their capabilities are, check out our developer resource article.

A brief description of each Customer type is below, but for a more in-depth overview of each Customer type and what their capabilities are, reference our concept article.
Receive-only Users

Receive-only users are restricted to a "payouts only" funds flow. A receive-only user maintains limited functionality in the API and is only eligible to receive transfers to an attached bank account. This Customer type can only interact with verified Customers and a Dwolla Master Account.

Unverified Customers

Unverified Customers have a default sending transaction limit of \$5,000 per week. A week is defined as Monday to Sunday UTC time. As this Customer is not identity verified, they will only be able to transact with verified Customers or your Dwolla Master Account.

Verified Customers

Verified Customers are defined by their ability to both send and receive money, thus, being able to fit all funds flows. They can also interact with any Customer type and hold a balance funding source within the Dwolla network. Think of the Dwolla balance as a "wallet" which a Customer can send, receive, or hold funds to within the Dwolla network. With no weekly transfer limits, this Customer type is flexible for high transaction volumes.

A verified Customer can be created as a type of either Personal or Business.

LinkDescriptionselfURL of the Customer resourcereceiveFollow the link to create a transfer to this Customer.funding-sourcesGET this link to list the Customer's funding sources.transfersGET this link to list the Customer's transferssend(optional) If this link exists, this Customer can send funds. POST to this URL to create a transfer.retry-verificationIf the Customer has a status of retry, POST to this link to attempt to correct their identity verification information.verify-with-documentIf the Verified Customer of type personal or business has a status of document, POST to this link to upload a new color photo document to verify the Customer's identity. If type business, the controller of the business. Read about Documents.verify-business-with-documentIf the Verified Customer of type business has a status of document, POST to this link to upload a new color photo document to verify the identity of the business itself. Read about Documents.verify-controller-and-business-with-documentIf the Verified Customer of type business has a status of document, POST to this link to upload new color photo documents to verify the identity of the controller of the business as well as the business itself. Read about Documents.upload-dba-documentIf the Verified Customer of type business with a doingBusinessAs name has a status of document, POST to this link to upload a new color photo document containing the DBA name along with the state registered business name to verify the identity of the business itself. Read about Documents.

Customer resource #

ParameterDescriptionidCustomer’s unique identifier.firstNameCustomer's first name.lastNameCustomer's last name.emailCustomer's email address.typeEither unverified, personal, business, or receive-only.statusIf type is unverified or receive-only: status can be unverified, deactivated, or suspended.
If type is personal: status can be retry, kba, document, verified, deactivated, or suspended.
If type is business: status can be retry, document, verified,deactivated, or suspended.createdISO-8601 timestamp.

Customer statuses #

StatusDescriptionunverifiedCustomers of type unverified or receive-only always have this status.retryVerified Customers of type personal or business can have this status. The initial verification attempt failed because the information provided did not satisfy our verification check. You can make one additional attempt by changing some or all the attributes of the existing Customer with a POST request. If the additional attempt fails, the resulting status will be either document or suspended.documentVerified Customers of type personal or business can have this status. Dwolla requires additional documentation to identify the Customer in the document status. Read about Documents.verifiedVerified Customers of type personal or business can have this status. The Customer is currently verified.suspendedAll Customer types can have a status of suspended. The Customer is suspended and may neither send nor receive funds. Contact Dwolla support for more information.deactivatedAll Customer types can have a status of deactivated. A deactivated Customer may neither send nor receive funds. A deactivated Customer can be reactivated which moves the Customer to the status they were in prior to being deactivated.
bash
{
  "_links": {
    "self": {
      "href": "https://api-sandbox.dwolla.com/customers/9da3aa7c-2524-430b-a751-6dc722735fce",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "customer"
    },
    "receive": {
      "href": "https://api-sandbox.dwolla.com/transfers",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    },
    "edit-form": {
      "href": "https://api-sandbox.dwolla.com/customers/9da3aa7c-2524-430b-a751-6dc722735fce",
      "type": "application/vnd.dwolla.v1.hal+json; profile=\"https://github.com/dwolla/hal-forms\"",
      "resource-type": "customer"
    },
    "edit": {
      "href": "https://api-sandbox.dwolla.com/customers/9da3aa7c-2524-430b-a751-6dc722735fce",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "customer"
    },
    "funding-sources": {
      "href": "https://api-sandbox.dwolla.com/customers/9da3aa7c-2524-430b-a751-6dc722735fce/funding-sources",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "funding-source"
    },
    "transfers": {
      "href": "https://api-sandbox.dwolla.com/customers/9da3aa7c-2524-430b-a751-6dc722735fce/transfers",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    },
    "send": {
      "href": "https://api-sandbox.dwolla.com/transfers",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "transfer"
    }
  },
  "id": "9da3aa7c-2524-430b-a751-6dc722735fce",
  "firstName": "Jane",
  "lastName": "Doe",
  "email": "janedoe@email.com",
  "type": "personal",
  "status": "verified",
  "created": "2016-08-17T18:58:47.630Z",
  "address1": "99-99 33rd St",
  "address2": "Apt 8",
  "city": "Some City",
  "state": "NY",
  "postalCode": "11101",
  "phone": "5554321234"
}

Test in the Sandbox for free today.

Use sandbox environment to test API requests.

Get API Keys
2021 All Rights Reserved

Dwolla

  • About
  • Blog
  • Pricing
  • Contact Sales
  • Terms of Service
  • Privacy Policy
Financial institutions play an important role in our network.

Dwolla, Inc. is the operator of a software platform that communicates user instructions for funds transfers to our financial institution partners.

Dwolla is an agent of Veridian Credit Union. All ACH and Wire transfers are performed by Veridian Credit Union. Your Dwolla Balance, if any, is held in one or more pooled holding accounts held by Veridian Credit Union. These funds may not be eligible for share insurance by the National Credit Union Share Insurance Fund.

Sponsorship and Settlement of Push-to-Debit payment services provided by MetaBank®, N.A.
Push-to-Debit payments are typically available within 30 minutes.

Real-Time Payments are performed by Cross River Bank, which holds funds on behalf of the Receiver of such transactions in one or more pooled custodial accounts. These funds are not subject to FDIC pass-through deposit insurance.