Upload a document for a customer application.
Available to: Authenticated users. When uploading on behalf of another user via the userId field, the caller must be an organization administrator.
Environments: Production
Rate Limit: 30 requests per hour with 30-second backoff for exceeding the limit
Use this endpoint to upload a document for a customer application or compliance workflow. The process field determines which workflow the document belongs to, and the documentType field specifies the type of document being submitted.
A successful request returns a documentId. Store this value for reference in subsequent API calls.
Uploading Documents Before a Subaccount Request
Organization administrators can use this endpoint to upload documents before submitting a subaccount request. Set process to SubAccountRequest and set userId to the CTA user ID of the trader the subaccount is for.
Upload each document separately by calling this endpoint three times (once per document type).
After collecting all three documentId values, pass them to createpartnersubaccountrequest as pOAFormDocId, governmentDocId, and addressDocId.
base64data Format
Documents are submitted inline as base64 data URIs. The base64data field must be a data URI with a supported MIME type prefix. The maximum field length is 8,388,608 characters (approximately 6 MB).
Supported MIME types:
application/pdf
text/plain
image/<file type> (for example, image/png or image/jpeg)
Process Types
Document Types
This endpoint supports 86 document types. Use the documentType field to specify the type of document you are uploading.
Identity Documents
Address Verification
Income and Financial
Trading and Authorization
Tax and Regulatory
Business and Corporate
Compliance and AML
Email and Identity Verification
eSign Documents
Other
Common Failure Scenarios
filename is fewer than five or more than 64 characters
base64data exceeds the maximum allowed size (~6 MB)
userId is provided but is not greater than zero
customerApplicationId is provided but is not greater than zero
- Caller is not an organization administrator when
userId belongs to another user
- Invalid
process value
- Invalid
documentType value
base64data is missing the data URI prefix or uses an unsupported MIME type
Next Steps
For the subaccount use case, after uploading all three documents, pass the returned documentId values to createpartnersubaccountrequest as pOAFormDocId, governmentDocId, and addressDocId. See createpartnersubaccountrequest for details.