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

Update a customer #

This endpoint can be used to facilitate the following use cases: Update Customer information, upgrade an unverified Customer to a verified Customer, suspend a Customer, deactivate a Customer, reactivate a Customer, and update a verified Customer's information to retry verification.

HTTP request #

POST https://api.dwolla.com/customers/{id}

Update a Customer's information #

A limited set of information can be updated on an existing created Customer. Note: A Customer's information cannot be updated when in a status of document or suspended.

Request parameters - unverified Customer and receive-only User
ParameterRequiredTypeDescriptionfirstNamenostringCustomer's first name.lastNamenostringCustomer's last name.emailnostringCustomer's email address.businessNamenostringCustomer's registered business name. An empty string value will unset businessName.
Request parameters - verified Customer
ParameterRequiredTypeDescriptionemailnostringCustomer's email address.ipAddressnostringCustomer's IP address.address1nostringFirst line of the street address of the customer's permanent residence. Note: PO Boxes are not allowed.address2nostringSecond line of the street address of the customer's permanent residence. Note: PO Boxes are not allowed.citynostringCity of customer's permanent residence.statenostringTwo letter abbreviation of the state in which the customer resides. e.g. NY.postalCodenostringPostal code of customer's permanent residence. Should be a five digit postal code, e.g. 50314.phonenostringCustomer's 10 digit phone number. No hyphens or other separators, e.g. 3334447777.
Request parameters - verified Customer with type=business

In addition to the table above, business verified Customers can update the following fields.

ParameterRequiredTypeDescriptiondoingBusinessAsnostringName that is different from the officially registered name of Customer’s business.websitenostringValidation includes: protocol, subdomain, domain, and top-level domain. e.g. https://www.domain.com

Upgrade an unverified Customer to verified Customer #

An unverified Customer can be upgraded to a verified Customer by supplying the necessary information required to create a verified Customer. Reference the create customer section for required information.

Suspend a Customer #

Unverified and Verified Customers can be suspended by specifying a status of suspended in your request. You'll need to contact Dwolla to unsuspend a Customer.

Request parameters
ParameterRequiredTypeDescriptionstatusyesstringValue of suspended.

Deactivate a Customer #

Customers can be deactivated by specifying a status of deactivated in your request. A Customer cannot be deactivated if the Customer has a suspended verification status. Customers can be systematically deactivated by Dwolla if certain ACH return codes are triggered on bank transfer failures.

Request parameters
ParameterRequiredTypeDescriptionstatusyesstringValue of deactivated.

Reactivate a Customer #

Customers can be reactivated by specifying a status of reactivated in your request. Reactivated Customers will be moved to the status they were in prior to being deactivated.

Request parameters
ParameterRequiredTypeDescriptionstatusyesstringValue of reactivated.

Retry verification #

If the verified Customer has a status of retry, some information may have been miskeyed. You have one more opportunity to correct any mistakes using this endpoint. This time, you’ll need to provide the Customer’s full SSN. If the additional attempt fails, the resulting status will be either document or suspended.

Customer must be in the retry state:
bash
{
    "_links": {
        "deactivate": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "self": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "edit-form": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f",
            "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/53863b11-1758-47c8-821f-00e6a126f97f",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "funding-sources": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f/funding-sources",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "funding-source"
        },
        "retry-verification": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        },
        "transfers": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f/transfers",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "transfer"
        }
    },
    "id": "53863b11-1758-47c8-821f-00e6a126f97f",
    "firstName": "retry",
    "lastName": "doe",
    "email": "jdoe@nomail.com",
    "type": "personal",
    "status": "retry",
    "created": "2017-11-06T20:11:13.430Z",
    "address1": "99-99 33rd St",
    "city": "Some City",
    "state": "NY",
    "postalCode": "11101"
}

Request and response #

This example goes through retry verification for a Personal Verified Customer.

JavaScript
var customerUrl =
  "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f";
var requestBody = {
  firstName: "John",
  lastName: "Doe",
  email: "johndoe@dwolla.com",
  ipAddress: "10.10.10.10",
  type: "personal",
  address1: "221 Corrected Address St.",
  address2: "Fl 8",
  city: "Ridgewood",
  state: "NY",
  postalCode: "11385",
  dateOfBirth: "1990-07-11",
  ssn: "202-99-1516",
};

dwolla.post(customerUrl, requestBody).then((res) => res.body.id); // => '53863b11-1758-47c8-821f-00e6a126f97f'
If you try more than once, or Customer is not in retry state:
bash
{
  "code": "InvalidResourceState",
  "message": "Resource cannot be modified."
}

Request parameters - retry verified personal Customer #

ParameterRequiredTypeDescriptionfirstNameyesstringCustomer's first name.lastNameyesstringCustomer's last name.emailyesstringCustomer's email address.ipAddressnostringCustomer's IP address.typeyesstringEither personal or business. If business, see above for additional required information.address1yesstringFirst line of the street address of the Customer's permanent residence. Note: PO Boxes are not allowed.address2nostringSecond line of the street address of the Customer's permanent residence. Note: PO Boxes are not allowed.cityyesstringCity of Customer's permanent residence.stateyesstringTwo letter abbreviation of the state in which the customer resides, e.g. CA.postalCodeyesstringPostal code of Customer's permanent residence. Should be a five digit postal code, e.g. 50314.dateOfBirthyesstringCustomer's date of birth in YYYY-MM-DD format. Must be between 18 to 125 years of age.ssnyesstringCustomer's full Social Security Number.phonenostringCustomer's 10 digit phone number. No hyphens or other separators, e.g. 3334447777.

HTTP status and error codes #

HTTP StatusMessage400Duplicate customer or validation error.403Not authorized to create customers.

Test in the Sandbox for free today.

Use sandbox environment to test API requests.

Get API Keys
2022 All Rights Reserved

Dwolla

  • About
  • Blog
  • Pricing
  • Contact Sales
  • Terms of Service
  • Privacy Policy
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.