Uploading Onboarding Documents
Overview
During onboarding you can send Upward supporting documents for the entity being onboarded, such as a business’s EIN letter or formation documents. Each document is uploaded against an existing onboarding and is stored securely by Upward. The onboarding response lists every document on file.
Uploading documents is not a step in the onboarding flow: it does not advance current_steps, and you can upload at any point after the onboarding is created.
This endpoint requires a partner token with the ui:client-onboarding scope.
Upload a Document
Send one document per request, with its contents Base64-encoded in the JSON body.
Accepted file sizes: each file must be between 1 byte and 1.5 MB (1,572,864 bytes), measured before Base64 encoding. Base64 adds about a third, so the encoded data value can be up to about 2 MB. Larger files are rejected; compress or downscale them before uploading.
See the upload document API.
POST https://api-sandbox.upwardli.com/v2/onboarding/{onboarding id}/documents/
Body
Document Types
File Requirements
- Formats: PDF, JPEG or PNG. The file’s contents must match
content_type. A PNG sent asimage/jpeg, for example, is rejected. - Size: from 1 byte up to 1.5 MB (1,572,864 bytes) before Base64 encoding. Empty files are rejected.
- Encoding: standard Base64 with no line breaks or whitespace, and no
data:URI prefix. SendJVBERi0x..., notdata:application/pdf;base64,JVBERi0x....
For example, to encode a file from the command line:
Replacing a Document
Upward keeps one document per document_type for each onboarding. Uploading a type that is already on file replaces the earlier document, whatever its filename. To correct a document, upload the new file with the same document_type.
Different document types can be uploaded in parallel.
Response
A successful upload returns 200 OK with the onboarding object. The documents block lists every document currently on file for the onboarding:
The same documents block is returned by the get onboarding API, so you can check which documents are on file at any time.
Unsafe characters in filename (path separators, spaces and other special characters) are replaced with _, so the stored name may differ slightly from the one you sent.
Errors
A failed upload leaves the documents already on file unchanged, so it is safe to fix the request and retry.

