Dwolla Developers Logo
API Reference
  • SDK Support
    Drop-in Components
    Knowledge-based Authentication (KBA)
    Beneficial Owners
    OverviewCreate a document for a customerList documents for a customerCreate a document for a beneficial ownerList documents for a beneficial ownerRetrieve a document
    Funding Sources
    Mass payments
    Webhook subscriptions
CommunityOpen in new tabChangelog
Get API Keys
CommunityOpen in new tabChangelog
Get API Keys

Create a document for a customer #

Create a document for a Customer pending verification by uploading a color scan or photo of government issued identification (see below for acceptable document types). This requires a multipart form-data POST request. The uploaded file must be a color image, in a .jpg, .jpeg, or .png format, and less than 10MB in size. Additionally, Business Documents can also be uploaded in a .pdf format.

Acceptable documents #

Customer typeAcceptable documentsPersonal Verified Customerpassport, license, or idCard. Must be a color scan of US Government issued identification.Business Verified CustomerController documents - passport, license, or idCard. Must be a color scan of US Government issued identification.
Business documents - other. Refer to our guide on Handling Document status for Business Verified Customers for acceptable documents.

HTTP request #

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

Request Parameters #

Form FieldDescriptiondocumentTypeAcceptable values of: passport, license, idCard, or other. Refer to the acceptable documents section for more information on how these document types apply to each Customer type.fileFile contents.

HTTP status and error codes #

HTTP StatusCodeDescription201CreatedA document resource was created.400maximumNumberOfResourcesMax of four files upload allowed. Please wait for Dwolla to manually check the documents.400invalidFileTypeFile types supported:
Personal IDs - .jpg, .jpeg or .png.
Business Documents - .jpg, .jpeg, .png, or .pdf.400DuplicateResourceDocument already exists. Follow the link to find the existing document for the Customer.403invalidResourceStateResource cannot be modified. Document creation not allowed for already verified Customers or non-verified Customer types.403notAuthorizedNot authorized to create documents.404notFoundCustomer not found. Check CustomerId.413fileTooLargeDocument requests are limited to 10 MiB.

Request and response #

var customerUrl =

var requestBody = new FormData();
requestBody.append("file", fs.createReadStream("mclovin.jpg"), {
  filename: "mclovin.jpg",
  contentType: "image/jpeg",
  knownLength: fs.statSync("mclovin.jpg").size,
requestBody.append("documentType", "license");

  .post(`${customerUrl}/documents`, requestBody)
  .then((res) => res.headers.get("location")); // => "https://api-sandbox.dwolla.com/documents/fb919e0b-ffbe-4268-b1e2-947b44328a16"

Test in the Sandbox for free today.

Use sandbox environment to test API requests.

Get API Keys
2021 All Rights Reserved


  • 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.