# GetObjectAcl

To use this operation, you must have `s3:GetObjectAcl` permissions or `READ_ACP` access to the object.&#x20;

By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource.

{% hint style="warning" %}
**Note**

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the `bucket-owner-full-control` ACL with the owner being the account that created the bucket.&#x20;
{% endhint %}

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

```http
GET /{Key+}?acl&versionId=VersionId HTTP/1.1
Host: Bucket.s3.petabox.io
x-amz-request-payer: RequestPayer
x-amz-expected-bucket-owner: ExpectedBucketOwner
```

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

The request uses the following URI parameters.

#### Bucket

The bucket name that contains the object for which to get the ACL information.

Required: Yes

#### Key

The key of the object for which to get the ACL information.

Length Constraints: Minimum length of 1.

Required: Yes

#### versionId

VersionId used to reference a specific version of the object.

#### 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).

#### x-amz-request-payer

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests.&#x20;

Valid Values: `requester`

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

The request does not have a request body.

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

```http
HTTP/1.1 200
x-amz-request-charged: RequestCharged
<?xml version="1.0" encoding="UTF-8"?>
<AccessControlPolicy>
   <Owner>
      <DisplayName>string</DisplayName>
      <ID>string</ID>
   </Owner>
   <AccessControlList>
      <Grant>
         <Grantee>
            <DisplayName>string</DisplayName>
            <EmailAddress>string</EmailAddress>
            <ID>string</ID>
            <xsi:type>string</xsi:type>
            <URI>string</URI>
         </Grantee>
         <Permission>string</Permission>
      </Grant>
   </AccessControlList>
</AccessControlPolicy>
```

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

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

The response returns the following HTTP headers.

#### x-amz-request-charged

If present, indicates that the requester was successfully charged for the request.

Valid Values: `requester`

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

#### AccessControlPolicy

Root level tag for the AccessControlPolicy parameters.

Required: Yes

#### Grants

A list of grants.

Type: Array of Grant data types

#### Owner

Container for the bucket owner's display name and ID.

Type: Owner data type

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

#### Sample Request <a href="#api_getobjectacl_example_1" id="api_getobjectacl_example_1"></a>

The following request returns information, including the ACL, of the object `my-image.jpg`.

```http
GET /my-image.jpg?acl HTTP/1.1
Host: bucket.s3.<Region>.petabox.io
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: authorization string      
```

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

This example illustrates one usage of GetObjectAcl.

```xml
HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-amz-request-id: 318BC8BC148832E5
x-amz-version-id: 4HL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nrjfkd
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
Content-Length: 124
Content-Type: text/plain
Connection: close
Server: Petabox
 
<AccessControlPolicy>
  <Owner>
    <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
    <DisplayName>mtd@petabox.io</DisplayName>
  </Owner>
  <AccessControlList>
    <Grant>
     <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
       <DisplayName>mtd@petabox.io</DisplayName>
       <Type>CanonicalUser</Type>
      </Grantee>
      <Permission>FULL_CONTROL</Permission>
   </Grant>
  </AccessControlList>
</AccessControlPolicy>        
```

#### Sample Request: Getting the ACL of the specific version of an object <a href="#api_getobjectacl_example_3" id="api_getobjectacl_example_3"></a>

The following request returns information, including the ACL, of the specified version of the object, my-image.jpg.

```http
GET /my-image.jpg?versionId=3/L4kqtJlcpXroDVBH40Nr8X8gdRQBpUMLUo&acl HTTP/1.1
Host: bucket.s3.<Region>.petabox.io
Date: Wed, 28 Oct 2009 22:32:00 GMT
Authorization: authorization string      
```

#### Sample Response: Showing the ACL of the specific version <a href="#api_getobjectacl_example_4" id="api_getobjectacl_example_4"></a>

This example illustrates one usage of GetObjectAcl.

```http
HTTP/1.1 200 OK
x-amz-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-amz-request-id: 318BC8BC148832E5
Date: Wed, 28 Oct 2009 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
x-amz-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Content-Length: 124
Content-Type: text/plain
Connection: close
Server: Petabox
 
<AccessControlPolicy>
 <Owner>
   <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
   <DisplayName>mdtd@petabox.io</DisplayName>
 </Owner>
 <AccessControlList>
   <Grant>
     <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
       <DisplayName>mdtd@petabox.io</DisplayName>
       <Type>CanonicalUser</Type>
      </Grantee>
      <Permission>FULL_CONTROL</Permission>
     </Grant>
    </AccessControlList>
  </AccessControlPolicy>        
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.petabox.io/http-api-compatible-with-amazon-s3/api-reference/getobjectacl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
