Sitelet https://filebase.com/docs/s3-api/compatibility-matrix
Skip to main content

S3 compatibility matrix

This page is the source of truth for which AWS S3 operations Filebase implements, partially implements, or rejects. If you're evaluating Filebase against an existing S3 codebase, scan this matrix for any operations your code uses.

Legend:

  • ✅ — fully supported, behavior matches AWS
  • 🟡 — partially supported, see notes
  • ❌ — not supported, returns NotImplemented or a 501

Object operations​

OperationStatusNotes
PutObject✅
GetObject✅Range requests supported
HeadObject✅
DeleteObject✅
DeleteObjects✅Up to 1,000 keys per request
CopyObject✅Source and destination must both be on Filebase
RestoreObject❌No archive tier; objects are always available
SelectObjectContent❌Use client-side processing
GetObjectTorrent❌

Multipart upload​

OperationStatusNotes
CreateMultipartUpload✅
UploadPart✅
UploadPartCopy❌Copy via CopyObject instead
CompleteMultipartUpload✅
AbortMultipartUpload✅
ListMultipartUploads✅
ListParts✅

Bucket operations​

OperationStatusNotes
CreateBucket✅
DeleteBucket✅Bucket must be empty
HeadBucket✅
ListBuckets✅
ListObjects✅Older API; prefer V2
ListObjectsV2✅Up to 1,000 keys per page
ListObjectVersions❌Versioning is read-only metadata
GetBucketLocation✅Returns the bucket's region

ACLs​

OperationStatusNotes
GetBucketAcl✅
PutBucketAcl✅
GetObjectAcl🟡Returns parent bucket's ACL — object-level ACLs are not supported
PutObjectAcl🟡Accepted for compatibility but ignored — see public vs. private

CORS​

OperationStatusNotes
GetBucketCors✅
PutBucketCors✅
DeleteBucketCors✅

Lifecycle and versioning​

OperationStatusNotes
GetBucketLifecycle✅Read existing config (typically empty)
GetBucketLifecycleConfiguration✅
PutBucketLifecycle❌
PutBucketLifecycleConfiguration❌
DeleteBucketLifecycle❌
GetBucketVersioning✅Read-only metadata
PutBucketVersioning❌

Logging and notifications​

OperationStatusNotes
GetBucketLogging✅Always returns disabled
PutBucketLogging❌
GetBucketNotificationConfiguration❌
PutBucketNotificationConfiguration❌Event notifications not supported on the S3 tier

Replication and inventory​

OperationStatusNotes
GetBucketReplication❌No replication configuration
PutBucketReplication❌
GetBucketInventoryConfiguration❌
PutBucketInventoryConfiguration❌Use ListObjectsV2 for inventory

Encryption​

OperationStatusNotes
GetBucketEncryption✅Always returns AES-256
PutBucketEncryption🟡Accepted for compatibility; encryption is always-on regardless
DeleteBucketEncryption❌Encryption cannot be disabled

Tagging​

OperationStatusNotes
GetBucketTagging❌
PutBucketTagging❌
GetObjectTagging❌
PutObjectTagging❌

Policy​

OperationStatusNotes
GetBucketPolicy❌Use bucket ACLs instead
PutBucketPolicy❌
DeleteBucketPolicy❌
GetBucketPolicyStatus❌

Object checksums​

Filebase returns a SHA256 on every GetObject and HeadObject response for objects in object-storage buckets. See object checksums.

FeatureStatusNotes
x-amz-checksum-sha256 on GET/HEAD✅Object-storage buckets; returned unconditionally
x-amz-checksum-type: FULL_OBJECT on GET/HEAD✅Set on every checksum response, including multipart
x-amz-checksum-crc32 / crc32c / sha1❌SHA256 only
ChecksumMode: ENABLED opt-in🟡Header is always present; opt-in is a no-op but recommended so SDKs surface the value
Client-supplied checksum on PutObject🟡Accepted for compatibility; not verified — Filebase computes its own
Checksums for IPFS buckets❌IPFS objects expose a CID via x-amz-meta-cid instead

Pre-signed URLs​

✅ Supported for any operation that supports query-string authentication, including GetObject, PutObject, HeadObject, and the multipart upload operations. See pre-signed URLs.

Pagination​

ListObjectsV2, ListBuckets, and the multipart-listing operations support standard ContinuationToken-based pagination identical to AWS S3.

Need an unsupported feature?​

If your workload depends on a feature in the ❌ column, email hello@filebase.com — many of these are on the roadmap and customer demand drives prioritization.

What's next​