Lists events recorded on one contact, newest first. Permission: `subscribers`.

## Path Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| `subscriber` | string | **Required.** Subscriber id or email. |

## Query Parameters

| Name | Type | Description |
| ---- | ---- | ----------- |
| `limit` | integer | Page size. Default `50`. Min `1`, max `100`. |
| `after` | string | Event id cursor. Next page, older than this id. |

## Response Fields

| Field | Type | Description |
| ----- | ---- | ----------- |
| `object` | `"list"` | Discriminator. Always `list`. |
| `has_more` | boolean | `true` when another page exists. |
| `data` | array | Event objects: `id`, `eventType`, `data`, `createdAt`. |

## Errors

| Status | `name` | When |
| ------ | ------ | ---- |
| 401 | `missing_api_key` | Missing or invalid bearer token |
| 403 | `missing_permission` | Token lacks the `subscribers` permission |
| 404 | `not_found` | Unknown subscriber |

## Related

- [Create Event](/docs/api-reference/v2/events)
- [Get Subscriber](/docs/api-reference/v2/subscribers-get)
- [SDK: lumail.subscribers.listEvents](/docs/sdk/v2/subscribers-list-events)


## API Reference
**Method:** GET
**Endpoint:** /api/v2/subscribers/:subscriber/events

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

const lumail = new Lumail({ apiKey: process.env.LUMAIL_API_KEY });
const { data, error } = await lumail.subscribers.listEvents(
  "user@example.com",
  { limit: 20 },
);
if (error) {
  throw error;
}

for (const event of data.data) {
  console.log(event.id, event.eventType);
}
```

### cURL
```bash
curl "https://lumail.io/api/v2/subscribers/user@example.com/events?limit=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

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

### Success Response
```json
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "id": "evt_abc123",
      "eventType": "SUBSCRIBER_PAYMENT",
      "data": { "amount": 5000, "product": "Course" },
      "createdAt": "2026-09-05T10:30:00.000Z"
    }
  ]
}
```

### Error Response
```json
{
  "name": "not_found",
  "message": "Subscriber not found",
  "statusCode": 404
}
```
