Aarkam / Aarkam Wiki / References / Object Operations API Reference
REST API References

Object Operations API Reference

Complete REST API documentation for PutObject, GetObject, HeadObject, DeleteObject, and CopyObject.

Last updated: Sep 23, 2026

Aarkam.Gateway handles high-concurrency object upload, streaming download, metadata inspection, and cryptographic deletion.


1. Supported Object Operations

Operation HTTP Method URI Path Description
PutObject PUT /{bucket}/{key} Uploads an object into the specified bucket.
GetObject GET /{bucket}/{key} Retrieves an object payload and user metadata.
HeadObject HEAD /{bucket}/{key} Retrieves object metadata headers without transferring the body.
DeleteObject DELETE /{bucket}/{key} Deletes an object (triggers cryptographic shredding).
CopyObject PUT /{bucket}/{key} Creates a copy of an existing object within the cluster.

2. API Operation Details

PutObject (`PUT /

Uploads a binary payload. The gateway chunks and encrypts the object client-side before distributing it across the storage tier.

Request Headers

  • Content-Length: Size of the payload in bytes (required for non-chunked).
  • Content-Type: MIME type of the object (e.g., application/octet-stream).
  • x-amz-server-side-encryption: AES256 or aws:kms.
  • x-amz-object-lock-mode: COMPLIANCE (Optional).
  • x-amz-object-lock-retain-until-date: 2033-09-24T12:00:00Z (Optional).

Response Headers

HTTP/1.1 200 OK
ETag: "9b10e4db54d0ca414b2e88a08f51a781"
x-amz-server-side-encryption: AES256
x-amz-version-id: v1-984028472918
Date: Wed, 24 Sep 2026 12:00:00 GMT

GetObject (`GET /

Retrieves an object payload. The gateway queries Rokka.Coordinator to locate chunks, fetches them from Rokka.StorageNode daemons, reconstructs Cauchy erasure blocks if necessary, decrypts the payload in memory, and streams bytes to the client.

Request Headers

  • Range: bytes=0-1048575 (Optional, retrieves specific 1MB byte slice).
  • If-None-Match: ETag string for conditional caching.

Response Headers

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10485760
ETag: "9b10e4db54d0ca414b2e88a08f51a781"
Accept-Ranges: bytes
Last-Modified: Wed, 24 Sep 2026 12:00:00 GMT

DeleteObject (`DELETE /

Removes an object. If the object is protected by active WORM Object Lock in COMPLIANCE mode, the request is rejected with 403 Forbidden (AccessDenied). When permitted, the object’s Data Encryption Key (DEK) is permanently shredded.

Response

HTTP/1.1 204 No Content
Date: Wed, 24 Sep 2026 12:00:00 GMT