Use this flow instead of 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
With organizationUnitId, the unit is checked only when the last chunk arrives: if it cannot be resolved then, the last chunk returns 404 and the session becomes Failed.
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

To create a new compliance review under an organization unit of any type instead, send organizationUnitId together with complianceFrameworkId and controlId (both are required with organizationUnitId):
curl
Provide either 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
Each response shows progress: { "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
Session expiry: Sessions expire after 24 hours. Expired sessions return 410 Gone on chunk upload.