Lists sending domains. Permission: `domains`.

SDK `domains.list()` takes no args. HTTP accepts optional `?limit=` to slice the list.

## Query Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| `limit` | integer | Optional slice. When the org has more domains than `limit`, `has_more` is `true`. |

## Response Fields

| Field | Type | Description |
| ----- | ---- | ----------- |
| `object` | `"list"` | Discriminator. Always `list`. |
| `has_more` | boolean | `true` when `limit` truncated the list. |
| `data` | array | Domain objects: `id`, `domain`, `status`, `region`, `createdAt`, `emailSendersCount`. |

## Errors

| Status | `name` | When |
| ------ | ------ | ---- |
| 401 | `missing_api_key` | Missing or invalid bearer token |
| 403 | `missing_permission` | Token lacks the `domains` permission |

## Related

- [Create Domain](/docs/api-reference/v2/domains-create)
- [Get Domain](/docs/api-reference/v2/domains-get)
- [SDK: lumail.domains.list](/docs/sdk/v2/domains-list)


## API Reference
**Method:** GET
**Endpoint:** /api/v2/domains

### SDK
```ts
import { Lumail } from "lumail";

const lumail = new Lumail({ apiKey: process.env.LUMAIL_API_KEY });
const { data, error } = await lumail.domains.list();
if (error) {
  throw error;
}

for (const domain of data.data) {
  console.log(domain.id, domain.domain, domain.status);
}
```

### cURL
```bash
curl "https://lumail.io/api/v2/domains?limit=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

### JavaScript
```javascript
const response = await fetch("https://lumail.io/api/v2/domains?limit=20", {
  headers: {
    Authorization: "Bearer YOUR_API_TOKEN",
  },
});
const page = await response.json();
```

### Success Response
```json
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "id": "dom_abc123",
      "domain": "mail.example.com",
      "status": "VERIFIED",
      "region": "eu-west-1",
      "createdAt": "2026-09-05T10:30:00.000Z",
      "emailSendersCount": 1
    }
  ]
}
```

### Error Response
```json
{
  "name": "missing_permission",
  "message": "Missing permission: domains",
  "statusCode": 403
}
```
