# Events

## List Events

`client.printMail.events.list(EventListParamsquery?, RequestOptionsoptions?): SkipLimit<Event>`

**get** `/print-mail/v1/events`

Retrieve a paginated list of Events.

### Parameters

- `query: EventListParams`

  - `limit?: number`

  - `skip?: number`

  - `type?: Array<"letter.created" | "letter.updated" | "postcard.created" | 18 more>`

    An optional list of event types to filter the results by.

    - `"letter.created"`

    - `"letter.updated"`

    - `"postcard.created"`

    - `"postcard.updated"`

    - `"self_mailer.created"`

    - `"self_mailer.updated"`

    - `"cheque.created"`

    - `"cheque.updated"`

    - `"box.created"`

    - `"box.updated"`

    - `"snap_pack.created"`

    - `"snap_pack.updated"`

    - `"return_envelope_order.created"`

    - `"return_envelope_order.updated"`

    - `"tracker.visited"`

    - `"campaign.created"`

    - `"campaign.updated"`

    - `"virtual_mailbox_item.created"`

    - `"postal_statement.created"`

    - `"document.created"`

    - `"document.updated"`

### Returns

- `Event`

  - `id: string`

    A unique ID prefixed with `event_`.

  - `createdAt: string`

    The UTC time at which this event was created.

  - `live: boolean`

    `true` if this is a live mode event else `false`.

  - `object: "event"`

    Always `event`.

    - `"event"`

  - `type: "letter.created" | "letter.updated" | "postcard.created" | 18 more`

    The type of event that a Webhook can listen for and that an Event represents.

    - `"letter.created"`

    - `"letter.updated"`

    - `"postcard.created"`

    - `"postcard.updated"`

    - `"self_mailer.created"`

    - `"self_mailer.updated"`

    - `"cheque.created"`

    - `"cheque.updated"`

    - `"box.created"`

    - `"box.updated"`

    - `"snap_pack.created"`

    - `"snap_pack.updated"`

    - `"return_envelope_order.created"`

    - `"return_envelope_order.updated"`

    - `"tracker.visited"`

    - `"campaign.created"`

    - `"campaign.updated"`

    - `"virtual_mailbox_item.created"`

    - `"postal_statement.created"`

    - `"document.created"`

    - `"document.updated"`

  - `data?: Record<string, unknown>`

    The data of the resource associated with this event.

  - `updatedFields?: Record<string, unknown>`

    A record containing the updated fields of the resource associated with this event.

### Example

```typescript
import PostGrid from 'postgrid-node';

const client = new PostGrid({
  printMailAPIKey: process.env['POSTGRID_PRINT_MAIL_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const event of client.printMail.events.list()) {
  console.log(event.id);
}
```

#### Response

```json
{
  "object": "list",
  "limit": 10,
  "skip": 0,
  "totalCount": 1,
  "data": [
    {
      "id": "event_r1nfP4xAacyqMYtt7PeyFD",
      "object": "event",
      "live": false,
      "type": "letter.created",
      "data": {
        "id": "letter_rqfnwvzq5TUsYR2r6L9V8X",
        "object": "letter",
        "live": false,
        "description": "letter test 2"
      },
      "createdAt": "2021-04-02T02:06:55.086Z"
    }
  ]
}
```

## Domain Types

### Event

- `Event`

  - `id: string`

    A unique ID prefixed with `event_`.

  - `createdAt: string`

    The UTC time at which this event was created.

  - `live: boolean`

    `true` if this is a live mode event else `false`.

  - `object: "event"`

    Always `event`.

    - `"event"`

  - `type: "letter.created" | "letter.updated" | "postcard.created" | 18 more`

    The type of event that a Webhook can listen for and that an Event represents.

    - `"letter.created"`

    - `"letter.updated"`

    - `"postcard.created"`

    - `"postcard.updated"`

    - `"self_mailer.created"`

    - `"self_mailer.updated"`

    - `"cheque.created"`

    - `"cheque.updated"`

    - `"box.created"`

    - `"box.updated"`

    - `"snap_pack.created"`

    - `"snap_pack.updated"`

    - `"return_envelope_order.created"`

    - `"return_envelope_order.updated"`

    - `"tracker.visited"`

    - `"campaign.created"`

    - `"campaign.updated"`

    - `"virtual_mailbox_item.created"`

    - `"postal_statement.created"`

    - `"document.created"`

    - `"document.updated"`

  - `data?: Record<string, unknown>`

    The data of the resource associated with this event.

  - `updatedFields?: Record<string, unknown>`

    A record containing the updated fields of the resource associated with this event.
