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
GetObjectRange requests supported
HeadObject
DeleteObject
DeleteObjectsUp to 1,000 keys per request
CopyObjectSource and destination must both be on Filebase
RestoreObjectNo archive tier; objects are always available
SelectObjectContentUse client-side processing
GetObjectTorrent

Multipart upload

OperationStatusNotes
CreateMultipartUpload
UploadPart
UploadPartCopyCopy via CopyObject instead
CompleteMultipartUpload
AbortMultipartUpload
ListMultipartUploads
ListParts

Bucket operations

OperationStatusNotes
CreateBucket
DeleteBucketBucket must be empty
HeadBucket
ListBuckets
ListObjectsOlder API; prefer V2
ListObjectsV2Up to 1,000 keys per page
ListObjectVersionsVersioning is read-only metadata
GetBucketLocationReturns 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
GetBucketLifecycleRead existing config (typically empty)
GetBucketLifecycleConfiguration
PutBucketLifecycle
PutBucketLifecycleConfiguration
DeleteBucketLifecycle
GetBucketVersioningRead-only metadata
PutBucketVersioning

Logging and notifications

OperationStatusNotes
GetBucketLoggingAlways returns disabled
PutBucketLogging
GetBucketNotificationConfiguration
PutBucketNotificationConfigurationEvent notifications not supported on the S3 tier

Replication and inventory

OperationStatusNotes
GetBucketReplicationNo replication configuration
PutBucketReplication
GetBucketInventoryConfiguration
PutBucketInventoryConfigurationUse ListObjectsV2 for inventory

Encryption

OperationStatusNotes
GetBucketEncryptionAlways returns AES-256
PutBucketEncryption🟡Accepted for compatibility; encryption is always-on regardless
DeleteBucketEncryptionEncryption cannot be disabled

Tagging

OperationStatusNotes
GetBucketTagging
PutBucketTagging
GetObjectTagging
PutObjectTagging

Policy

OperationStatusNotes
GetBucketPolicyUse bucket ACLs instead
PutBucketPolicy
DeleteBucketPolicy
GetBucketPolicyStatus

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