S3 API Compatibility
This page documents S3 APIs supported by MinIO Object Storage. For reference documentation on any given API, see the corresponding documentation for Amazon S3.
Important
MinIO strongly recommends using an S3-Compatible SDK for performing object storage operations.
Object APIs
- CopyObject
- DeleteObject
- DeleteObjects
- DeleteObjectTagging
- GetObject
- GetObjectAttributes
- GetObjectTagging
- HeadObject
- ListObjects
- ListObjectsV2
- ListObjectVersions
- PutObject
- PutObjectTagging
- RestoreObject
- SelectObjectContent
Object Locking
- GetObjectRetention
- PutObjectRetention
- GetObjectLegalHold
- PutObjectLegalHold
- GetObjectLockConfiguration
- PutObjectLockConfiguration
Unsupported API Object Endpoints
GetObjectAcl
PutObjectAcl
Multipart Uploads
- AbortMultipartUpload
- CompleteMultipartUpload
- CreateMultipartUpload
- ListMultipartUploads
- ListParts
- UploadPart
- UploadPartCopy
Differences from S3 APIs for Multipart Uploads
ListMultipartUploadsrequires the exact object name as a prefix.- The
AbortIncompleteMultipartUploadlifecycle action is not supported withPutBucketLifecycle.
Bucket APIs
- CreateBucket
- DeleteBucket
- DeleteBucketEncryption
- DeleteBucketTagging
- GetBucketEncryption
- GetBucketLocation
- GetBucketTagging
- GetBucketVersioning
- HeadBucket
- ListBuckets
- ListDirectoryBuckets
- PutBucketEncryption
- PutBucketTagging
- PutBucketVersioning
Bucket Replication
Bucket Lifecycle
- GetBucketLifecycle
- GetBucketLifecycleConfiguration
- PutBucketLifecycle
- PutBucketLifecycleConfiguration
- DeleteBucketLifecycle
Bucket Notifications
- GetBucketNotification
- GetBucketNotificationConfiguration
- PutBucketNotification
- PutBucketNotificationConfiguration
Bucket Policies
Unsupported API Bucket Operations
GetBucketInventoryConfiguration
PutBucketInventoryConfiguration
DeleteBucketInventoryConfiguration
PutBucketCors
DeleteBucketCors
GetBucketMetricsConfiguration
PutBucketMetricsConfiguration
DeleteBucketMetricsConfiguration
PutBucketWebsite
GetBucketLogging
PutBucketLogging
PutBucketAccelerateConfiguration
DeleteBucketAccelerateConfiguration
PutBucketRequestPayment
DeleteBucketRequestPayment
PutBucketAcl
HeadBucketAcl
GetPublicAccessBlock
PutPublicAccessBlock
DeletePublicAccessBlock
GetBucketOwnershipControls
PutBucketOwnershipControls
DeleteBucketOwnershipControls
GetBucketIntelligentTieringConfiguration
PutBucketIntelligentTieringConfiguration
ListBucketIntelligentTieringConfigurations
DeleteBucketIntelligentTieringConfiguration
GetBucketAnalyticsConfiguration
PutBucketAnalyticsConfiguration
ListBucketAnalyticsConfigurations
DeleteBucketAnalyticsConfiguration
CreateSession
MinIO alternatives for unsupported Bucket resources
- For calls to
BucketACLorObjectACLoperations, use Policies. - Calls to
BucketCORSoperations are not needed because CORS is enabled by default on all buckets for all HTTP verbs. - For calls to
BucketWebsiteoperations, usecaddyornginx. - For calls to
BucketAnalytics,BucketMetrics, orBucketLoggingoperations, use Bucket Notifications.
Portions of this page are adapted from the MinIO Object Storage Documentation, © 2020–Present MinIO, Inc., licensed under CC BY 4.0, converted and maintained by the Silo project. Attribution