# List public-access settings

Source: https://docs.vlayers.ai/reference/public-access/list-public-access-settings

`GET /v1/public-access/settings` · scope `public_access:read`

Returns the workspace's public-access rows: one for the workspace, one per agent and one per website key. A visitor on your site can talk to an agent only where the website key's row says so and nothing above it says no. Use it to see what is set before you change it; each row's `version` goes back as `If-Match` on the next write.

Requires an API key with the `public_access:read` scope.

## Request

cURL:

```bash
curl https://api.vlayers.ai/v1/public-access/settings \
  -H "Authorization: Bearer $VOICELAYER_API_KEY"
```

TypeScript:

```ts
import { VoiceLayer } from '@voicelayer/api';

const voicelayer = new VoiceLayer();

const { settings } = await voicelayer.publicAccess.list();
console.log(settings);
```

Python:

```python
from voicelayer import VoiceLayer

vl = VoiceLayer()

result = vl.publicAccess.list()
print(result.settings)
```

## Response `200`

```json
{
  "settings": [
    {
      "id": "0192f5c1-5e6f-7a8b-9c0d-1e2f3a4b5c67",
      "scopeKind": "binding",
      "agentId": null,
      "bindingId": "0192f5a9-2b3c-7d4e-9f5a-6b7c8d9e0f12",
      "enabledForAgentId": "0192f5c2-6f7a-7b9c-8d1e-2f3a4b5c6d78",
      "settings": {
        "enabled": true,
        "sessionsPerDay": 50,
        "concurrentSessions": 2,
        "botCheck": "on",
        "challengeKeySource": {
          "kind": "connection",
          "connectionId": "0192f5c3-7a8b-7cad-9e2f-3a4b5c6d7e89"
        }
      },
      "version": 3,
      "updatedBy": "user_2abc",
      "updatedAt": "2026-10-20T15:04:05.000Z"
    }
  ]
}
```
