> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Check BRK ACL

> Retrieves the access control list for a BRK

This endpoint retrieves the access control list (ACL) for a BRK. It allows you to check the visibility of a BRK (public or private), whether it can be cloned, and the list of users who have access to it along with their permission levels. You must have at least viewer permissions for the BRK to access its ACL.

## Request

<ParamField body="brxId" type="string" required>
  The ID of the BRK to check ACL for
</ParamField>

### Example Request

```json theme={null}
{
  "brxId": "brk-12345678-90ab-cdef-1234-567890abcdef"
}
```

## Response

<ResponseField name="getBrxACLResponse" type="object">
  <Expandable title="properties">
    <ResponseField name="brxs" type="object">
      <Expandable title="properties">
        <ResponseField name="isPublic" type="boolean">
          Indicates whether the BRK is public (visible to all users) or private (visible only to specified users)
        </ResponseField>

        <ResponseField name="isClone" type="boolean">
          Indicates whether the BRK can be cloned by other users
        </ResponseField>

        <ResponseField name="brxId" type="string">
          The ID of the BRK
        </ResponseField>

        <ResponseField name="emails" type="array">
          Array of user email addresses and their permission levels

          <Expandable title="items">
            <ResponseField name="email" type="string">
              Email address of the user
            </ResponseField>

            <ResponseField name="permission" type="number">
              Permission level for the user. 0: Viewer (can view and execute the BRK), 1: Editor (can view, execute, and edit the BRK), 2: Owner (can view, execute, edit, and delete the BRK, as well as manage permissions)
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

### Example Response (Private BRK)

```json theme={null}
{
  "getBrxACLResponse": {
    "brxs": {
      "isPublic": false,
      "isClone": true,
      "brxId": "brk-12345678-90ab-cdef-1234-567890abcdef",
      "emails": [
        {
          "email": "owner@example.com",
          "permission": 2
        },
        {
          "email": "editor@example.com",
          "permission": 1
        },
        {
          "email": "viewer@example.com",
          "permission": 0
        }
      ]
    }
  }
}
```

### Example Response (Public BRK)

```json theme={null}
{
  "getBrxACLResponse": {
    "brxs": {
      "isPublic": true,
      "isClone": true,
      "brxId": "brk-12345678-90ab-cdef-1234-567890abcdef",
      "emails": [
        {
          "email": "owner@example.com",
          "permission": 2
        }
      ]
    }
  }
}
```

## Error Codes

<ResponseField name="400" type="object">
  Bad Request - The request was malformed or missing required parameters
</ResponseField>

<ResponseField name="401" type="object">
  Unauthorized - Authentication credentials are missing or invalid
</ResponseField>

<ResponseField name="403" type="object">
  Forbidden - The authenticated user does not have permission to check the ACL for the requested BRK
</ResponseField>

<ResponseField name="404" type="object">
  Not Found - The requested BRK does not exist
</ResponseField>

<ResponseField name="500" type="object">
  Internal Server Error - An unexpected error occurred on the server
</ResponseField>

## Notes

* You must have at least viewer permissions for the BRK to access its ACL.
* The response includes the visibility of the BRK (`isPublic`), whether it can be cloned (`isClone`), and the list of users who have access to it along with their permission levels.
* Permission levels:
  * 0: Viewer (can view and execute the BRK)
  * 1: Editor (can view, execute, and edit the BRK)
  * 2: Owner (can view, execute, edit, and delete the BRK, as well as manage permissions)
* To update the ACL for a BRK, use the [Update BRK ACL](/api-reference/endpoint/update-acl) endpoint.
