# Eventos API

> Consulta el flujo de eventos que hay detrás de los webhooks: entregas, rebotes, aperturas y más.

URL base: `https://api.emailit.com/v2`. Autentícate con `Authorization: Bearer <API key>`.

## Listar eventos — GET /events

> Lista los eventos de tu espacio de trabajo, del más reciente al más antiguo, por tipo y fecha. Los eventos son los mismos registros que entregan los webhooks.

# Listar eventos

Devuelve los eventos de tu espacio de trabajo, del más reciente al más antiguo. Cada entrega de webhook se construye a partir de uno de estos eventos, así que puedes usar este endpoint para recuperar los eventos que tu endpoint no recibió. Requiere una clave de API con el permiso `full`.

`GET /events`

## Parámetros de consulta

- `page` (integer): El número de página, empezando por `1`. Por defecto, `1`. Las páginas que van más allá de 2500 eventos (`(page - 1) × limit > 2500`) devuelven `422`.

- `limit` (integer): Eventos por página, de `1` a `100`. Por defecto, `100`.

- `type` (string): El tipo de evento, o una lista de tipos separados por comas, por ejemplo `email.delivered,email.bounced`. Consulta [Tipos de eventos](/es/docs/webhooks/event-types/).

- `include_data` (boolean): Asígnale `true` para incluir el payload `data` de cada evento. Por defecto es `false`, que devuelve solo `object`, `id`, `type` y `created_at`.

- `match`, `order`, `direction`: consulta [Filtrado](https://emailit.com/es/docs/api-reference/filtering/).

## Filtros y ordenación

Claves de filtro y de ordenación: consulta [Filtrado](https://emailit.com/es/docs/api-reference/filtering/).

Sin un filtro `created_at`, la lista solo abarca los últimos 2 días. Para buscar más atrás, añade uno, por ejemplo `created_at.after=2026-09-01T00:00:00Z`. Los eventos más antiguos están disponibles mientras la [retención de datos](/es/docs/data-retention/) de tu plan los conserve.

## Devuelve

Devuelve `200 OK` con los eventos en `data`, además de `next_page_url` y `previous_page_url` (`null` en los extremos). Las URL de página conservan `type`, `limit` e `include_data`.

Devuelve `422` con `code: "events_offset_too_large"` cuando la página es demasiado profunda. En lugar de seguir paginando, acota el rango de fechas o los tipos.

**Petición** `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 datos**

```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"
}
```

---
Fuente: https://emailit.com/es/docs/api-reference/events/list/

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

> Obtén un evento por su ID con el payload de datos completo que Emailit envió, o enviaría, a tus webhooks.

# Obtener un evento

Devuelve un evento con su payload `data` completo. El `id` es el mismo valor que los webhooks envían como `event_id`, así que puedes consultar cualquier evento que hayas recibido. Requiere una clave de API con el permiso `full`.

`GET /events/:id`

## Parámetros de ruta

- `id` (string, obligatorio): El ID del evento, por ejemplo `evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a`.

## Devuelve

Devuelve `200 OK` con el evento: `object` (`event`), `id`, `type`, `data` y `created_at`. `data.object` tiene la misma forma que en el payload del webhook de ese tipo; consulta la [referencia de eventos de webhook](/es/docs/webhooks/event-types/).

Devuelve `404` con `error: "Event not found"` si el ID no existe en tu espacio de trabajo.

**Petición** `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"
}
```

---
Fuente: https://emailit.com/es/docs/api-reference/events/get/
