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

Documents #

Verified Customers of type personal or business and of status document require color photos of identifying documents to be uploaded for manual review in order to be verified. Currently, SDK support for document upload only exists for Ruby, Node.js, and Python. To upload a document using other languages, you must use an external HTTP library.

For more information on handling the Customer verification status of document, reference our Business Customer or Personal Customer guides.

Document resource #

ParameterDescriptionidDocument unique identifiertypeEither passport, license, idCard, or other. Must be a color scan of US Government issued identification.
Refer to the acceptable documents section for more information on what each type is used for.statusEither pending or reviewed. When a document has been manually reviewed by Dwolla, its status will be reviewed. A reviewed document does not necessarily indicate that the customer has completed the identity verification process.documentVerificationStatusThe value of this field indicates the status of the document after being reviewed by Dwolla. Values can be either pending, accepted, or rejected.createdISO 8601 Timestamp of document upload time and date.failureReasonThe reason an uploaded document was rejected. Can be: BusinessDocNotSupported, BusinessNameMismatch, BusinessTypeMismatch, ScanDobMismatch, ScanFailedOther, ScanIdExpired, ScanIdTypeNotSupported, ScanNameMismatch, ScanNotReadable or ScanNotUploaded.allFailureReasonsAn array of reasons and descriptions for when an uploaded document is rejected for multiple reasons.
  "_links": {
    "self": {
      "href": "https://api.dwolla.com/documents/56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc"
  "id": "56502f7a-fa59-4a2f-8579-0f8bc9d7b9cc",
  "status": "reviewed",
  "type": "passport",
  "created": "2015-09-29T21:42:16.000Z",
  "documentVerificationStatus": "rejected",
  "failureReason": "ScanDobMismatch",
  "allFailureReasons": [
          "reason": "ScanDobMismatch",
          "description": "Scan DOB does not match DOB on account"
          "reason": "ScanIdExpired",
          "description": "ID is expired or missing expiration date"

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.