Introduction The IBM Cloud® Object Storage API is a REST-based API for reading and writing objects. It uses IBM Cloud® Identity and Access Management for authentication/authorization, and supports a subset of the S3 API for easy migration of applications to IBM Cloud. For details about using Object Storage, see the IBM Cloud docshttps://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-getting-started-cloud-object-storage. Object Storage is a global service. The location of data is determined by the region where a bucket is created, and subsequent requests to that bucket must be sent to the same corresponding endpoint. The examples shown here assume that requests are sent to the US South region. For more details about selecting endpoints Object Storage, see the IBM Cloud docshttps://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpointsendpoints-region. Java developers can use this SDK to interact with Object Storage. The SDK is a fork of the official AWS SDK for Javahttps://github.com/aws/aws-sdk-java. For more information, see the COS SDK for Java API Referencehttps://ibm.github.io/ibm-cos-sdk-java/. The code examples on this tab use the client library that is provided for Java. Maven xml Method Path Summary GET / List buckets in a service instance PUT /{Bucket} Create a new bucket DELETE /{Bucket} Delete a bucket HEAD /{Bucket} Read a bucket's headers GET /{Bucket} List objects in a bucket (v1) GET /{Bucket}?list-type=2 List objects in a bucket (v2) GET /{Bucket}?list-object=versions List object versions PUT /{Bucket}/{Key} Create (upload) an object GET /{Bucket}/{Key} Read (download) an object HEAD /{Bucket}/{Key} Read object metadata DELETE /{Bucket}/{Key} Delete an object PUT /{Bucket}/{TargetKey} Copy an object POST /{Bucket}?delete Delete multiple objects POST /{Bucket}/{Key}?uploads Initiate a multipart upload POST /{Bucket}/{Key}?uploadId={uploadId} Complete a multipart upload GET /{Bucket}/{Key}?uploadId={uploadId} List parts of a multipart upload DELETE /{Bucket}/{Key}?uploadId={uploadId} Abort a multipart upload GET /{Bucket}?uploads List active multipart uploads PUT /{Bucket}/{Key}?partNumber={partNumber}&uploadId={uploadId} Upload a part of an object PUT /{Bucket}/{TargetKey}?partNumber={partNumber}&uploadId={uploadId} Use an existing object as a part of a new object PUT /{Bucket}?lifecycle Create a lifecycle configuration GET /{Bucket}?lifecycle Read a lifecycle configuration DELETE /{Bucket}?lifecycle Delete a lifecycle configuration POST /{Bucket}/{Key}?restore Temporarily restore an archived object PUT /{Bucket}?replication Configure a bucket for replication GET /{Bucket}?replication Read a replication configuration DELETE /{Bucket}?replication Delete a replication configuration GET /{Bucket}?ibm-replication-failures List replication failures in a bucket PUT /{Bucket}?ibm-replication-reattempt Schedule replication failure reattempt PUT /{Bucket}?protection Create a protection configuration PUT /{Bucket}?website Create a website configuration GET /{Bucket}?website Read a website configuration DELETE /{Bucket}?website Delete a website configuration PUT /{Bucket}?cors Configure CORS GET /{Bucket}?cors Read a CORS configuration DELETE /{Bucket}?cors Delete a CORS configuration PUT /{Bucket}/{Key}?tagging Add a set of tags to an object GET /{Bucket}/{Key}?tagging Read a set of object tags DELETE /{Bucket}/{Key}?tagging Delete a set of object tags PUT /{Bucket}?publicAccessBlock Create a public ACL block configuration GET /{Bucket}?publicAccessBlock Read a public ACL block configuration DELETE /{Bucket}?publicAccessBlock Delete a public ACL block configuration GET /{Bucket}?acl Read a bucket ACL PUT /{Bucket}?acl Create a bucket ACL GET /{Bucket}/{Key}?acl Read an object ACL PUT /{Bucket}/{Key}?acl Make an object publicly accessible