# Eventos API

> Consulte o fluxo de eventos por trás dos webhooks: entregas, bounces, aberturas e mais.

URL base: `https://api.emailit.com/v2`. Autentique-se com `Authorization: Bearer <API key>`.

## Listar eventos — GET /events

> Liste os eventos do seu workspace, dos mais recentes para os mais antigos, por tipo e data. Os eventos são os mesmos registros que os webhooks entregam.

# Listar eventos

Retorna os eventos do seu workspace, dos mais recentes para os mais antigos. Cada entrega de webhook é montada a partir de um desses eventos, então você pode usar este endpoint para recuperar os eventos que o seu endpoint perdeu. Requer uma chave de API com escopo `full`.

`GET /events`

## Parâmetros de consulta

- `page` (integer): Número da página, a partir de `1`. Padrão `1`. Páginas além de 2.500 eventos (`(page - 1) × limit > 2500`) retornam `422`.

- `limit` (integer): Eventos por página, de `1` a `100`. Padrão `100`.

- `type` (string): Tipo de evento, ou uma lista de tipos separados por vírgulas, por exemplo `email.delivered,email.bounced`. Consulte [Tipos de evento](/pt/docs/webhooks/event-types/).

- `include_data` (boolean): Defina como `true` para incluir o payload `data` de cada evento. Padrão `false`, que retorna apenas `object`, `id`, `type` e `created_at`.

- `match`, `order`, `direction`: consulte [Filtragem](https://emailit.com/pt/docs/api-reference/filtering/).

## Filtros e ordenação

Chaves de filtro e de ordenação: consulte [Filtragem](https://emailit.com/pt/docs/api-reference/filtering/).

Sem um filtro `created_at`, a lista cobre apenas os últimos 2 dias. Para ir mais para trás, adicione um, por exemplo `created_at.after=2026-09-01T00:00:00Z`. Os eventos mais antigos ficam disponíveis enquanto a [retenção de dados](/pt/docs/data-retention/) do seu plano os mantiver.

## Retorno

Retorna `200 OK` com os eventos em `data`, além de `next_page_url` e `previous_page_url` (`null` nas extremidades). As URLs de página mantêm `type`, `limit` e `include_data`.

Retorna `422` com `code: "events_offset_too_large"` quando a página é profunda demais. Restrinja o intervalo de datas ou os tipos em vez de continuar paginando.

**Requisição** `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 com data**

```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/pt/docs/api-reference/events/list/

## Obter um evento — GET /events/{id}

> Obtenha um evento pelo ID, com o payload de dados completo que o Emailit enviou, ou enviaria, para os seus webhooks.

# Obter um evento

Retorna um evento com o payload `data` completo. O `id` é o mesmo valor que os webhooks enviam como `event_id`, então você pode consultar qualquer evento que recebeu. Requer uma chave de API com escopo `full`.

`GET /events/:id`

## Parâmetros de caminho

- `id` (string, obrigatório): ID do evento, por exemplo `evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a`.

## Retorno

Retorna `200 OK` com o evento: `object` (`event`), `id`, `type`, `data` e `created_at`. `data.object` tem o mesmo formato que no payload de webhook desse tipo; consulte a [referência de eventos de webhook](/pt/docs/webhooks/event-types/).

Retorna `404` com `error: "Event not found"` se o ID não existir no seu workspace.

**Requisição** `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/pt/docs/api-reference/events/get/
