REST API
References
Multipart Upload API Reference
High-throughput multipart upload endpoints for multi-gigabyte and multi-terabyte data objects.
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 /
POST /seismic-data/geophysical-survey.raw?uploads HTTP/1.1
Host: s3.aarkam.io
x-amz-server-side-encryption: AES256
Response (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/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)
<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/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>
Aarkam Sovereign Data Fabric — https://aarkam.io
Aarkam Wiki • Enterprise Technical Documentation