> For the complete documentation index, see [llms.txt](https://docs.petabox.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.petabox.io/http-api-compatible-with-amazon-s3/api-reference/getbucketlifecycle.md).

# GetBucketLifecycle

To use this operation, you must have permission to perform the `s3:GetLifecycleConfiguration` action. The bucket owner has this permission by default. The bucket owner can grant this permission to others.&#x20;

`GetBucketLifecycle` has the following special error:

* Error code: `NoSuchLifecycleConfiguration`
  * Description: The lifecycle configuration does not exist.
  * HTTP Status Code: 404 Not Found
  * SOAP Fault Code Prefix: Client

## Request Syntax <a href="#api_getbucketlifecycle_requestsyntax" id="api_getbucketlifecycle_requestsyntax"></a>

```http
GET /?lifecycle HTTP/1.1
Host: Bucket.s3.petabox.io
x-amz-expected-bucket-owner: ExpectedBucketOwner
```

## URI Request Parameters <a href="#api_getbucketlifecycle_requestparameters" id="api_getbucketlifecycle_requestparameters"></a>

The request uses the following URI parameters.

#### Bucket

The name of the bucket for which to get the lifecycle information.

Required: Yes

#### x-amz-expected-bucket-owner

The account ID of the expected bucket owner. If the bucket is owned by a different account, the request fails with the HTTP status code `403 Forbidden` (access denied).

## Request Body <a href="#api_getbucketlifecycle_requestbody" id="api_getbucketlifecycle_requestbody"></a>

The request does not have a request body.

## Response Syntax <a href="#api_getbucketlifecycle_responsesyntax" id="api_getbucketlifecycle_responsesyntax"></a>

```xml
HTTP/1.1 200
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
   <Rule>
      <AbortIncompleteMultipartUpload>
         <DaysAfterInitiation>integer</DaysAfterInitiation>
      </AbortIncompleteMultipartUpload>
      <Expiration>
         <Date>timestamp</Date>
         <Days>integer</Days>
         <ExpiredObjectDeleteMarker>boolean</ExpiredObjectDeleteMarker>
      </Expiration>
      <ID>string</ID>
      <NoncurrentVersionExpiration>
         <NewerNoncurrentVersions>integer</NewerNoncurrentVersions>
         <NoncurrentDays>integer</NoncurrentDays>
      </NoncurrentVersionExpiration>
      <NoncurrentVersionTransition>
         <NewerNoncurrentVersions>integer</NewerNoncurrentVersions>
         <NoncurrentDays>integer</NoncurrentDays>
         <StorageClass>string</StorageClass>
      </NoncurrentVersionTransition>
      <Prefix>string</Prefix>
      <Status>string</Status>
      <Transition>
         <Date>timestamp</Date>
         <Days>integer</Days>
         <StorageClass>string</StorageClass>
      </Transition>
   </Rule>
   ...
</LifecycleConfiguration>
```

## Response Elements <a href="#api_getbucketlifecycle_responseelements" id="api_getbucketlifecycle_responseelements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in XML format by the service.

#### LifecycleConfiguration

Root level tag for the LifecycleConfiguration parameters.

Required: Yes

#### Rule

Container for a lifecycle rule.

Type: Array of Rule data types

## Examples <a href="#api_getbucketlifecycle_examples" id="api_getbucketlifecycle_examples"></a>

### Sample Request: Retrieve a lifecycle subresource <a href="#api_getbucketlifecycle_example_1" id="api_getbucketlifecycle_example_1"></a>

This example is a GET request to retrieve the lifecycle subresource from the specified bucket, and an example response with the returned lifecycle configuration.

```http
GET /?lifecycle HTTP/1.1
Host: examplebucket.s3.<Region>.petabox.io
x-amz-date: Thu, 15 Nov 2012 00:17:21 GMT
Authorization: signatureValue         
```

### Sample Response <a href="#api_getbucketlifecycle_example_2" id="api_getbucketlifecycle_example_2"></a>

This example illustrates one usage of GetBucketLifecycle.

```xml
HTTP/1.1 200 OK
x-amz-id-2: ITnGT1y4RyTmXa3rPi4hklTXouTf0hccUjo0iCPjz6FnfIutBj3M7fPGlWO2SEWp
x-amz-request-id: 51991C342C575321
Date: Thu, 15 Nov 2012 00:17:23 GMT
Server: Petabox
Content-Length: 358

<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration xmlns="http://s3.petabox.io/doc/2006-03-01/">
   <Rule>
        <ID>Archive and then delete rule</ID>
        <Prefix>projectdocs/</Prefix>
       <Status>Enabled</Status>
      <Transition>
           <Days>30</Days>
           <StorageClass>STANDARD_IA</StorageClass>
      </Transition>
      <Transition>
         <Days>365</Days>
          <StorageClass>GLACIER</StorageClass>
       </Transition>
       <Expiration>
          <Days>3650</Days>
       </Expiration>
   </Rule>
</LifecycleConfiguration>
```
