Unified S3 Data Plane (SAT & SCT)
REST API
References
•
AARKAM-REF-0505
Multipart Upload API Reference
High-throughput multipart upload endpoints for multi-gigabyte and multi-terabyte data objects.
Document Identifier
AARKAM-REF-0505
Standard Status
Normative Spec
Security Classification
Sovereign Tier-4 Enterprise
Specification Revision
V-1.0.0-GA • 2 min read
For large objects (typically greater than 100MB), Aarkam.Gateway supports the S3 Multipart Upload protocol. This allows files to be uploaded concurrently in independent byte parts, maximizing parallel network throughput and providing pause/resume resilience.
1. Supported Multipart Operations
| Operation | HTTP Method | URI Path | Description |
|---|---|---|---|
CreateMultipartUpload |
POST |
/{bucket}/{key}?uploads |
Initiates a multipart upload session and returns an UploadId. |
UploadPart |
PUT |
/{bucket}/{key}?partNumber={N}&uploadId={ID} |
Uploads a discrete part (5MB to 5GB). |
CompleteMultipartUpload |
POST |
/{bucket}/{key}?uploadId={ID} |
Assembles all uploaded parts and commits the final object. |
AbortMultipartUpload |
DELETE |
/{bucket}/{key}?uploadId={ID} |
Cancels upload session and shreds partial chunks. |
ListParts |
GET |
/{bucket}/{key}?uploadId={ID} |
Lists successfully uploaded parts for an active session. |
2. API Operation Details
Step 1: Initiate (`POST /
http
POST /seismic-data/geophysical-survey.raw?uploads HTTP/1.1
Host: s3.aarkam.io
x-amz-server-side-encryption: AES256
Response (XML)
xml
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Bucket>seismic-data</Bucket>
<Key>geophysical-survey.raw</Key>
<UploadId>mp-84029482-901847192847</UploadId>
</InitiateMultipartUploadResult>
Step 2: Upload Part (`PUT /
Parts can be uploaded concurrently across multiple client worker threads.
Response Headers
http
HTTP/1.1 200 OK
ETag: "1b2cf535f27731c974343645a3985328"
Date: Wed, 24 Sep 2026 12:00:00 GMT
Step 3: Complete (`POST /
Commits all uploaded parts into the unified object record.
Request Body (XML)
xml
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Part>
<PartNumber>1</PartNumber>
<ETag>"1b2cf535f27731c974343645a3985328"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"ee9c459b1f77b22cd603f0040a4e329d"</ETag>
</Part>
</CompleteMultipartUpload>
Response
http
HTTP/1.1 200 OK
Content-Type: application/xml
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Location>https://s3.aarkam.io/seismic-data/geophysical-survey.raw</Location>
<Bucket>seismic-data</Bucket>
<Key>geophysical-survey.raw</Key>
<ETag>"3a5c789b1f77b22cd603f0040a4e329d-2"</ETag>
</CompleteMultipartUploadResult>