Skip to main content

Overview

Document storage is a simple file service: you upload documents, list them, and retrieve them later. A document is any file you or a customer needs to store — a PDF, a Word document, a spreadsheet, a JPEG, almost anything. Uploading a document returns a record with an id you can use to fetch the file back byte-for-byte. Documents can also be attached to other resources (for example, business formation documents or EDD supporting evidence). Key characteristics:
  • Any file type — store PDFs, images, spreadsheets, and more, up to 32 MB per document.
  • Optionally encrypted — set encryption to REQUIRED to apply additional encryption treatment for PII and government IDs.
  • Multipart upload — files are sent as multipart/form-data, exactly how a browser upload works.
  • Retrievable, append-only — documents can be uploaded, listed, and retrieved; deletion is not currently supported.
Set encryption to REQUIRED whenever you store PII. This applies additional encryption treatment to the stored object. Document types that should always be encrypted include US Social Security Numbers, other national ID numbers, driver’s license numbers and images, passport numbers and images, and any similar government ID.

Prerequisites

This guide assumes you are familiar with:

The document object

An uploaded document is described by a JSON record:

Managing documents

1

Upload a document

Send a POST /v0/documents request with Content-Type: multipart/form-data. The only required form parameter is the file data itself; add encryption=REQUIRED for sensitive files. See Create Document.
A minimal, non-encrypted upload:
The response is the document record described above. Documents cannot exceed 32 MB.
2

Retrieve a document

Fetch the exact file contents that were uploaded with GET /v0/documents/{document_id}/contents:
The response streams the file back with its original Content-Disposition filename and content type — whether that is a 13-byte text file or a 30 MB PDF.
3

List documents

Retrieve a paginated list of all uploaded documents with GET /v0/documents:

Best practices

  • Encrypt PII by default — set encryption=REQUIRED for any document containing sensitive personal or government identifiers.
  • Keep files under 32 MB — split or compress larger files before upload.
  • Store, don’t inline — attach source documents here and reference them from other resources (KYB, EDD) rather than embedding raw data.
  • Record the returned id — you cannot delete a document, so track the id to retrieve or reference it later.

Create a Business Customer

Attach business formation and MSB documentation.

Enhanced Due Diligence

Link supporting documents to an EDD submission.

Document Verification

Verify a customer’s identity using their documents.

API reference