Documentation

API Reference

ElasticLake is fully S3-compatible. Use your existing S3 SDKs and tools with minimal changes.

API Endpoint
https://lake.elasticlake.com

Authentication

ElasticLake uses AWS Signature Version 4 for authentication. You'll need your Access Key ID and Secret Access Key from the dashboard.

AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_ENDPOINT_URL=https://lake.elasticlake.com

Bucket Operations

PUT /{bucket}

Create a new bucket

GET /

List all buckets

GET /{bucket}

List objects in a bucket

DELETE /{bucket}

Delete a bucket (must be empty)

Object Operations

PUT /{bucket}/{key}

Upload an object

GET /{bucket}/{key}

Download an object

HEAD /{bucket}/{key}

Get object metadata

DELETE /{bucket}/{key}

Delete an object

Multipart Upload

For large files (recommended for files > 100MB), use multipart upload for better performance and reliability.

POST /{bucket}/{key}?uploads

Initiate multipart upload

PUT /{bucket}/{key}?partNumber=N&uploadId=ID

Upload a part

POST /{bucket}/{key}?uploadId=ID

Complete multipart upload

Presigned URLs

Generate presigned URLs to allow temporary access to objects without sharing credentials.

# Python example using boto3
import boto3

s3 = boto3.client('s3', endpoint_url='https://lake.elasticlake.com')

url = s3.generate_presigned_url(
    'get_object',
    Params={'Bucket': 'lake1--pond1--my-bucket', 'Key': 'my-file.pdf'},
    ExpiresIn=3600  # URL valid for 1 hour
)

Rate Limits

API rate limits vary by plan. Enterprise plans include custom rate limits.

Plan Requests/sec
Free 100
Growth 1,000
Enterprise Custom