POST /v2/documents/submit when:
- Files exceed 50 MB
- You need resumable uploads that survive network interruptions
- You want to track per-file progress during upload
A session started with the deprecated v1 upload start finishes normally on either the v1 or the v2 chunk and status paths; it keeps the rules of the version that started it. Start new sessions with
POST /v2/documents/upload/start. See Migrating to v2.Step 1: Start a session
organizationUnitId together with complianceFrameworkId and controlId (both are required with
organizationUnitId):
curl
complianceReviewId or organizationUnitId, not both.
Response gives you sessionId and per-file fileId, chunkSizeBytes, totalChunks:
Step 2: Upload chunks
Send each chunk as raw binary. Chunks are zero-indexed — send them in order.curl
{ "receivedChunks": 1, "totalChunks": 30, "isComplete": false }
The last chunk automatically commits the upload and triggers compliance processing:
Step 3: Poll for results (same as regular submit)
curl
410 Gone on chunk upload.