# Eventi API

> Leggi il flusso di eventi alla base dei webhook: consegne, bounce, aperture e altro.

URL di base: `https://api.emailit.com/v2`. Autenticati con `Authorization: Bearer <API key>`.

## Elenca gli eventi — GET /events

> Elenca gli eventi del workspace, a partire dal più recente, per tipo e data. Gli eventi sono gli stessi record che consegnano i webhook.

# Elenca gli eventi

Restituisce gli eventi del workspace, a partire dal più recente. Ogni consegna webhook è costruita a partire da uno di questi eventi, quindi puoi usare questo endpoint per recuperare gli eventi che il tuo endpoint non ha ricevuto. Richiede una chiave API con il permesso `full`.

`GET /events`

## Parametri di query

- `page` (integer): Numero di pagina, a partire da `1`. Predefinito `1`. Le pagine oltre i 2500 eventi (`(page - 1) × limit > 2500`) restituiscono `422`.

- `limit` (integer): Eventi per pagina, da `1` a `100`. Predefinito `100`.

- `type` (string): Il tipo di evento, o un elenco di tipi separati da virgole, ad esempio `email.delivered,email.bounced`. Vedi [Tipi di evento](/it/docs/webhooks/event-types/).

- `include_data` (boolean): Imposta `true` per includere il payload `data` di ogni evento. Predefinito `false`, che restituisce solo `object`, `id`, `type` e `created_at`.

- `match`, `order`, `direction`: vedi [Filtri e ordinamento](https://emailit.com/it/docs/api-reference/filtering/).

## Filtri e ordinamento

Chiavi di filtro e di ordinamento: vedi [Filtri e ordinamento](https://emailit.com/it/docs/api-reference/filtering/).

Senza un filtro `created_at`, l’elenco copre solo gli ultimi 2 giorni. Per andare più indietro, aggiungine uno, ad esempio `created_at.after=2026-09-01T00:00:00Z`. Gli eventi più vecchi restano disponibili finché li mantiene la [conservazione dei dati](/it/docs/data-retention/) del piano.

## Restituisce

Restituisce `200 OK` con gli eventi in `data`, più `next_page_url` e `previous_page_url` (`null` alle due estremità). Gli URL delle pagine mantengono `type`, `limit` e `include_data`.

Restituisce `422` con `code: "events_offset_too_large"` quando la pagina è troppo profonda. Invece di andare oltre con le pagine, restringi l’intervallo di date o i tipi.

**Richiesta** `GET /events`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const events = await emailit.events.list({ type: 'email.delivered' });
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

events = client.events.list({"type": "email.delivered"})
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$events = $emailit->events()->list(['type' => 'email.delivered']);
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

events = client.events.list(type: "email.delivered")
```

**Go**

```go
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

events, err := client.Events.List(&emailit.ListEventsRequest{Type: "email.delivered"})
```

**Rust**

```rust
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let events = emailit.events.list(Some(emailit::types::ListEventsParams { r#type: Some("email.delivered".into()), ..Default::default() })).await?;
```

**Java**

```java
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject events = emailit.events().list();
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var events = emailit.Events.List(new EventListOptions { Type = "email.delivered" });
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$events = Emailit::events()->list(['type' => 'email.delivered']);
```

**cURL**

```bash
curl -X GET "https://api.emailit.com/v2/events?type=email.delivered" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
```

**200**

```json
{
  "data": [
    {
      "object": "event",
      "id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
      "type": "email.delivered",
      "created_at": "2026-10-01T10:02:15.912000+00:00"
    }
  ],
  "next_page_url": "/v2/events?page=2&limit=100&type=email.delivered",
  "previous_page_url": null
}
```

**200 Con dati**

```json
{
  "data": [
    {
      "object": "event",
      "id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
      "type": "email.delivered",
      "data": {
        "object": {
          "id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
          "object": "email",
          "from": "hello@acme.com",
          "to": "ada@example.com",
          "subject": "Your order has shipped",
          "status": "delivered",
          "meta": { "order_id": "1042" },
          "updated_at": "2026-10-01T10:02:14.307000+00:00",
          "created_at": "2026-10-01T10:02:11.583000+00:00"
        }
      },
      "created_at": "2026-10-01T10:02:15.912000+00:00"
    }
  ],
  "next_page_url": "/v2/events?page=2&limit=100&type=email.delivered&include_data=true",
  "previous_page_url": null
}
```

**422**

```json
{
  "error": "Page is too deep. Narrow the type or date filter, or open an earlier page.",
  "code": "events_offset_too_large"
}
```

---
Fonte: https://emailit.com/it/docs/api-reference/events/list/

## Recupera un evento — GET /events/{id}

> Recupera un evento tramite il suo ID, con il payload data completo che Emailit ha inviato, o invierebbe, ai tuoi webhook.

# Recupera un evento

Restituisce un evento con il suo payload `data` completo. L’`id` è lo stesso valore che i webhook inviano come `event_id`, quindi puoi consultare qualsiasi evento che hai ricevuto. Richiede una chiave API con il permesso `full`.

`GET /events/:id`

## Parametri di percorso

- `id` (string, obbligatorio): L’ID dell’evento, ad esempio `evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a`.

## Restituisce

Restituisce `200 OK` con l’evento: `object` (`event`), `id`, `type`, `data` e `created_at`. `data.object` ha la stessa forma del payload webhook per quel tipo; vedi i [tipi di evento dei webhook](/it/docs/webhooks/event-types/).

Restituisce `404` con `error: "Event not found"` se l’ID non esiste nel workspace.

**Richiesta** `GET /events/{id}`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const event = await emailit.events.get('evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a');
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

event = client.events.get("evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a")
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$event = $emailit->events()->get('evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a');
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

event = client.events.get("evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a")
```

**Go**

```go
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

event, err := client.Events.Get("evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a")
```

**Rust**

```rust
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let event = emailit.events.get("evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a").await?;
```

**Java**

```java
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject event = emailit.events().get("evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a");
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var ev = emailit.Events.Get("evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a");
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$event = Emailit::events()->get('evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a');
```

**cURL**

```bash
curl https://api.emailit.com/v2/events/evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a \
  -H "Authorization: Bearer your_api_key"
```

**200**

```json
{
  "object": "event",
  "id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
  "type": "email.delivered",
  "data": {
    "object": {
      "id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
      "object": "email",
      "from": "hello@acme.com",
      "to": "ada@example.com",
      "subject": "Your order has shipped",
      "status": "delivered",
      "meta": { "order_id": "1042" },
      "updated_at": "2026-10-01T10:02:14.307000+00:00",
      "created_at": "2026-10-01T10:02:11.583000+00:00"
    }
  },
  "created_at": "2026-10-01T10:02:15.912000+00:00"
}
```

**404**

```json
{
  "error": "Event not found"
}
```

---
Fonte: https://emailit.com/it/docs/api-reference/events/get/
