Ask AI or search...
Get API Keys

Personal verified Customer #

Create a personal verified Customer #

To create a personal verified Customer, use the create a Customer endpoint. A personal verified Customer is determined by setting the value of the type request parameter to personal and including additional fields required for identifying the individual.

Events #

As a developer, you can expect these events to be triggered when a personal verified Customer is successfully created and systematically verified:

  1. customer_created
  2. customer_verified

Required parameters - personal verified Customer #

ParameterRequiredTypeDescription
firstNameyesstringAn individual Customer's first name. Must be ≤ 50 characters and contain no special characters [<>="`!?%~${}\].
lastNameyesstringAn individual Customer's last name. Must be ≤ 50 characters and contain no special characters [<>="`!?%~${}\].
emailyesstringCustomer's email address. Must be a valid email format (e.g., example@domain.com).
ipAddressnostringCustomer's IP address.
typeyesstringThe Verified Customer type. Set to personal if creating a verified personal Customer.
address1yesstringFirst line of the street address of the Customer's permanent residence. Must be ≤ 50 characters, contain no special characters [<>="`!?%~${}\], and cannot be a PO Box.
address2nostringSecond line of the street address of the Customer's permanent residence. Must be ≤ 50 characters, contain no special characters [<>="`!?%~${}\], and cannot be a PO Box.
cityyesstringCity of Customer's permanent residence. Must be ≤ 50 characters and cannot contain numbers or special characters [<>="`!?%~${}\].
stateyesstringTwo-letter abbreviation of the state in which the Customer resides, e.g., CA. Must be a valid U.S. state.
postalCodeyesstringPostal code of Customer's permanent residence. Must be a US 5-digit ZIP code (e.g., 50314) or ZIP+4 (e.g., 50314-1234).
dateOfBirthyesstringCustomer's date of birth in YYYY-MM-DD format. Must be between 18 to 125 years old at the time of submission.
ssnyesstringLast four or full 9 digits of the Customer's Social Security Number. Must contain only numbers (e.g., 1234 or 123456789).
phonenostringCustomer's 10-digit phone number. Must contain only numbers, no hyphens, spaces, or separators (e.g., 3334447777).
correlationIdnostringA unique string value attached to a customer which can be used for traceability between Dwolla and your application.
Must be ≤ 255 characters and contain no spaces.
Acceptable characters: a-z, 0-9, -, ., and _.
Note: Do not use sensitive Personal Identifying Information (PII). Uniqueness is enforced across Customers.

Once you submit this request, Dwolla will perform some initial validation to check for formatting issues such as an invalid date of birth, invalid email format, etc. If successful, the response will be an HTTP 201/Created with the URL of the new Customer resource contained in the Location header.

Request and response (view schema in 'raw') #

Raw
POST https://api-sandbox.dwolla.com/customers
Content-Type: application/vnd.dwolla.v1.hal+json
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

{
  "firstName": "John",
  "lastName": "Doe",
  "email": "johndoe@email.net",
  "ipAddress": "10.10.10.10",
  "type": "personal",
  "address1": "99-99 33rd St",
  "city": "Some City",
  "state": "NY",
  "postalCode": "11101",
  "dateOfBirth": "1970-01-01",
  "ssn": "1234"
}

HTTP/1.1 201 Created
Location: https://api.dwolla.com/customers/FC451A7A-AE30-4404-AB95-E3553FCD733F

Check the status of the personal verified Customer #

The successful creation of a Customer doesn’t necessarily mean the Customer is verified and eligible to send or receive funds. When a Customer has been successfully verified by Dwolla, their status will be set to verified.

Let’s check to see if the Customer was successfully verified or not. We are going to use the location of the Customer resource that was just created, which is in new_customer.

bash
GET https://api-sandbox.dwolla.com/customers/FC451A7A-AE30-4404-AB95-E3553FCD733F
Accept: application/vnd.dwolla.v1.hal+json
Authorization: Bearer pBA9fVDBEyYZCEsLf/wKehyh1RTpzjUj5KzIRfDi0wKTii7DqY

{
  "_links": {
    "self": {
      "href": "https://api-sandbox.dwolla.com/customers/FC451A7A-AE30-4404-AB95-E3553FCD733F",
      "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/FC451A7A-AE30-4404-AB95-E3553FCD733F",
      "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/FC451A7A-AE30-4404-AB95-E3553FCD733F",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "customer"
    },
    "funding-sources": {
      "href": "https://api-sandbox.dwolla.com/customers/FC451A7A-AE30-4404-AB95-E3553FCD733F/funding-sources",
      "type": "application/vnd.dwolla.v1.hal+json",
      "resource-type": "funding-source"
    },
    "transfers": {
      "href": "https://api-sandbox.dwolla.com/customers/FC451A7A-AE30-4404-AB95-E3553FCD733F/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": "FC451A7A-AE30-4404-AB95-E3553FCD733F",
  "firstName": "John",
  "lastName": "Doe",
  "email": "jdoe@nomail.net",
  "type": "personal",
  "status": "verified",
  "created": "2016-11-28T19:51:48.050Z",
  "address1": "99-99 33rd St",
  "address2": "Apt 8",
  "city": "Some City",
  "state": "NY",
  "postalCode": "11101",
  "phone": "5554321234"
}

Next steps #

Congrats! Our Customer was successfully verified!

However, if the Customer was unable to be verified on the initial flow, they will be given a verification status of either retry, kba, document, or suspended. Continue reading for instructions on handling various Customer verification statuses and guidelines for providing additional information to verify these Customers.

Test in the Sandbox for free today.
Use sandbox environment to test API requests.
Get API Keys
2025 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.