<!-- https://cutedyno.com/docs/api/list-profiles -->

# List profiles

`GET https://api.cutedyno.com/v1/profiles`

Returns every profile this API key can act on. A profile is one customer of your platform: it owns its own connected accounts, posts, and policy.



Required permission: `connections:read`

Required permission: `connections:read`

MCP tool: `list_profiles`

## Request

```bash
curl -X GET "https://api.cutedyno.com/v1/profiles" \
  -H "Authorization: Bearer $CUTEDYNO_API_KEY"
```

```typescript
import { CuteDyno } from '@cutedyno/node';

const cutedyno = new CuteDyno();

const result = await cutedyno.profiles.list();
console.log(result);
```

```python
import os
import requests

url = "https://api.cutedyno.com/v1/profiles"
headers = {"Authorization": f"Bearer {os.environ['CUTEDYNO_API_KEY']}"}

response = requests.get(url, headers=headers)
response.raise_for_status()
print(response.json())
```

## Response 200

- `profiles` (Profile[], required)
- `total` (number, required)

```json
{
  "profiles": [
    {
      "id": "a1b2c3d4-0000-4000-8000-000000000000",
      "name": "Acme Corp",
      "description": "string",
      "createdAt": "string",
      "updatedAt": "string"
    }
  ],
  "total": 1
}
```

## Errors

- `authentication_required` (401) — No Authorization header was sent, or it was not a Bearer token.
- `invalid_api_key` (401) — The key does not exist, was revoked, or is malformed. Keys start with cdyn_live_.
- `insufficient_permission` (403) — The key is missing the scope this endpoint needs, for example posts:write on a readonly key.
- `rate_limit_exceeded` (429) — Too many requests for this key. Honour the Retry-After header before retrying.
- `internal_error` (500) — Something failed on our side. Retry with the same Idempotency-Key; report the requestId if it persists.