Docs
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
ParameterRequiredTypeDescription
firstNamenostringCustomer's first name.
lastNamenostringCustomer's last name.
emailnostringCustomer's email address.
businessNamenostringCustomer's registered business name. If supplied, name must be 255 characters or fewer, and cannot include any special characters. An empty string value will unset this field.
Request parameters - verified Customer
ParameterRequiredTypeDescription
emailnostringCustomer'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.

ParameterRequiredTypeDescription
doingBusinessAsnostringName 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
ParameterRequiredTypeDescription
statusyesstringValue 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
ParameterRequiredTypeDescription
statusyesstringValue 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
ParameterRequiredTypeDescription
statusyesstringValue 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.

Raw
POST https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f
Content-Type: application/vnd.dwolla.v1.hal+json
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "jdoe@nomail.com",
  "ipAddress": "10.10.10.10",
  "type": "personal",
  "address1": "221 Corrected Address St.",
  "address2": "Apt 201",
  "city": "San Francisco",
  "state": "CA",
  "postalCode": "94104",
  "dateOfBirth": "1970-07-11",
  "ssn": "123-45-6789"
}

...

{
    "_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"
        },
        "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/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"
        },
        "transfers": {
            "href": "https://api-sandbox.dwolla.com/customers/53863b11-1758-47c8-821f-00e6a126f97f/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": "53863b11-1758-47c8-821f-00e6a126f97f",
    "firstName": "John",
    "lastName": "Doe",
    "email": "jdoe@nomail.com",
    "type": "personal",
    "status": "verified",
    "created": "2017-11-06T20:11:13.430Z",
    "address1": "221 Corrected Address St.",
    "address2": "Apt 201",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94104"
}
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 #

ParameterRequiredTypeDescription
firstNameyesstringCustomer'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 StatusMessage
400Duplicate 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
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.