Skip to content

Objects

objects is Skippr Cloud object storage: create buckets and read/write objects through Cloud APIs. Data lands on the platform object backend; you never hold root partner credentials.

Status: Preview — CreateBucket, Put/Get/Head/DeleteObject, ListBuckets, ListObjectsV2, DeleteBucket, multipart upload, and SigV4 query-string presigned URLs via gateway.

Concepts

TermMeaning
BucketNamed container in your account
ObjectKey + bytes (+ metadata)
MultipartUpload large objects in parts, then complete
Presigned URLTime-limited GET/PUT URL signed with your Cloud credentials

Access

Hostnameobjects.cloud.skippr.io / objects.eu-central-1.cloud.skippr.io
CompatS3-shaped HTTP paths (SigV4 service s3)
AuthCloud credentials via gateway (header or query-string SigV4)
Regioneu-central-1

Quickstart

bash
# Create bucket + put object
curl -X PUT "https://objects.cloud.skippr.io/my-app" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK"

curl -X PUT "https://objects.cloud.skippr.io/my-app/hello.txt" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK" \
  -H "content-type: text/plain" -d "hello"

# List + get
curl "https://objects.cloud.skippr.io/?list" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK"
# or: GET / → ListBuckets JSON

curl "https://objects.cloud.skippr.io/my-app?list-type=2&prefix=hel" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK"

curl "https://objects.cloud.skippr.io/my-app/hello.txt" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK"

Multipart

bash
# 1) Initiate
curl -X POST "https://objects.cloud.skippr.io/my-app/large.bin?uploads" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK"
# → UploadId in XML

# 2) Upload parts
curl -X PUT "https://objects.cloud.skippr.io/my-app/large.bin?partNumber=1&uploadId=$UPLOAD_ID" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK" --data-binary @part1.bin

# 3) Complete (XML body lists PartNumber + ETag)
curl -X POST "https://objects.cloud.skippr.io/my-app/large.bin?uploadId=$UPLOAD_ID" \
  --aws-sigv4 "aws:amz:eu-central-1:s3" -u "$AK:$SK" \
  -H "content-type: application/xml" -d @complete.xml

Abort with DELETE /{bucket}/{key}?uploadId=….

Presigned URLs

Mint a standard S3 query-string SigV4 URL (X-Amz-Algorithm, X-Amz-Credential, X-Amz-Date, X-Amz-Expires, X-Amz-SignedHeaders, X-Amz-Signature) against the objects hostname with your Cloud access key. The gateway accepts query auth for GET/PUT without an Authorization header. Max expiry is 7 days.

Use an AWS SDK or SigV4 client against the hostname above (same credential model as other Cloud services).

Operations

OperationNotes
CreateBucketPUT /{bucket}
DeleteBucketDELETE /{bucket} (must be empty)
ListBucketsGET /
PutObject / GetObjectBytes round-trip
HeadObjectMetadata without body
DeleteObjectRemove one key
ListObjectsV2GET /{bucket}?list-type=2&prefix=
CreateMultipartUploadPOST /{bucket}/{key}?uploads
UploadPartPUT …?partNumber=&uploadId=
CompleteMultipartUploadPOST …?uploadId= + parts XML
AbortMultipartUploadDELETE …?uploadId=
PresignedUrlQuery-string SigV4 on object paths

Limits & errors

  • Non-empty DeleteBucket → 400
  • Missing bucket/object → 404
  • Duplicate CreateBucket → 409
  • Expired or invalid presign → 401 at gateway