Overview
Upload the binary content of a previously registereddirect_put document by sending the file bytes as a base64-encoded string in a JSON request body. This is a convenience endpoint for API clients or environments where sending a raw PUT to a signed storage URL is not practical.
This endpoint only applies to files registered with
uploadMode: direct_put. For multipart uploads, you must PUT each part’s byte range directly to the signed part URLs returned during registration — there is no base64 equivalent for multipart.Endpoint
Authentication
All requests must include a Bearer token in theAuthorization header.
Path Parameters
The unique identifier of the job the document belongs to.
The document ID returned in the Register Uploads response for this file.
Request Body
Content-Type:application/json
The upload token returned for this document during registration (
uploads[].uploadToken). This proves the content is associated with a valid registration.The file bytes encoded as a standard Base64 string. The decoded bytes must exactly match the
fileSize and sha256 values declared during registration.Optional SHA-256 digest of the decoded file bytes — a 64-character lowercase hex string. When provided, the server re-validates the digest against the value supplied at registration time.
Response
Status:200 OK
Always
"uploaded" on success.The document ID for the uploaded file.
The filename as recorded at registration.
Size of the uploaded file in bytes.
MIME type of the uploaded file.
Always
"direct_put" for this endpoint.A completion record to include in the
directUploads array when calling Complete Uploads.The document ID — same as the top-level
documentId.The upload token confirming the content was received. Pass this in the complete request.
Full Upload Flow
Example Request
Encoding a file to Base64
Example Response
Completing the Upload
Pass thedirectUpload object from this response into the directUploads array of the Complete Uploads call: