# Listar eventos

`GET https://api.fiscalisto.com/v1/events`

Los de los últimos 30 días, los más recientes primero.

## Parámetros

| Nombre | Dónde | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `limit` | consulta |  | Cuántos por página, de 1 a 100. Por omisión 10. |
| `starting_after` | consulta |  | El id del último de la página anterior, para la siguiente. |
| `type` | consulta |  | Solo de este tipo (invoice.stamped), o todos los de un recurso con un comodín (invoice.*). |
| `object` | consulta |  | Solo los de este objeto (inv_…, ret_…, bat_…). |
| `delivery_success` | consulta |  | false: los que algún webhook no recibió (su último intento falló). true: los que recibieron todos los webhooks a los que se mandaron. |

## Con el SDK de TypeScript

```ts
import { Fiscalisto } from "fiscalisto";

// La llave viene de FISCALISTO_API_KEY.
const fiscalisto = new Fiscalisto();

for await (const item of fiscalisto.events.list()) {
  console.log(item.id);
}
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

# La llave viene de FISCALISTO_API_KEY.
fiscalisto = Fiscalisto()

for item in fiscalisto.events.list():
    print(item["id"])
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
$fiscalisto = new Fiscalisto();

foreach ($fiscalisto->events->list() as $item) {
    echo $item['id'], "\n";
}
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

await foreach (var item in fiscalisto.Events.ListAutoPagingAsync())
    Console.WriteLine(item.Id);
```

## Con el SDK de Go

```go
package main

import (
	"context"
	"fmt"
	"log"

	fiscalisto "fiscalisto.com/go"
)

func main() {
	// La llave viene de FISCALISTO_API_KEY.
	client, err := fiscalisto.NewClient("")
	if err != nil {
		log.Fatal(err)
	}
	ctx := context.Background()

	for item, err := range client.Events.ListAutoPaging(ctx, nil) {
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(item.ID)
	}
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

for (var item : fiscalisto.events().listAutoPaging()) {
    System.out.println(item.getId());
}
```

## Respuesta 200

Correcto.

Un objeto `EventList`:

| Campo | Tipo | Siempre viene | Descripción |
| --- | --- | --- | --- |
| `object` | `"list"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data` | arreglo de objeto | sí | Los objetos de esta página. |
| `data[].id` | string | sí | Identificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_). |
| `data[].object` | `"event"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data[].type` | string | sí | Qué pasó: invoice.stamped, invoice.failed, invoice.canceled, invoice.cancellation_pending, invoice.cancellation_rejected, invoice.paid, invoice.partially_paid, retention.stamped, retention.failed, retention.canceled, invoice_batch.completed, customer_data_request.completed, sat_download.completed, sat_download.failed, sat_declaration.created, sat_declaration.updated, ticket.invoiced, ticket.included_in_global, recurring_invoice.failed, quote.viewed, quote.accepted, quote.changes_requested, quote.rejected, issuer.ready, balance.low o test_clock.ready. |
| `data[].api_version` | string | sí | Versión de la API con que se armó el objeto. |
| `data[].livemode` | boolean | sí | true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT. |
| `data[].created_at` | string (date-time) | sí | Cuándo se creó, ISO 8601 con la hora de la Ciudad de México (-06:00). |
| `data[].data` | objeto | sí | Lo que cambió, en data.object: el comprobante (o el lote) completo, como lo contesta su GET. |
| `data[].data.object` | objeto | sí | El objeto como quedó: una factura, una constancia o un lote. |
| `has_more` | boolean | sí | true si hay más: pida la siguiente con starting_after igual al id del último. |
| `url` | string | sí | La ruta de esta lista. |

```json
{
  "object": "list",
  "data": [
    {
      "id": "evt_0PKhIdhYuAGwzmMQYfkc",
      "object": "event",
      "type": "invoice.stamped",
      "api_version": "2026-10-24",
      "livemode": false,
      "created_at": "2026-10-24T10:15:42-06:00",
      "data": {
        "object": {
          "id": "inv_OufpKqnrvx9p28SINJVjjWKYRhojBTJb8P",
          "object": "invoice",
          "livemode": false,
          "issuer": "iss_OufpKqnrvx9p",
          "branch": null,
          "type": "I",
          "status": "valid",
          "uuid": "5F1E8C2A-3B7D-4C9E-A1B2-C3D4E5F60718",
          "series": null,
          "folio": "1",
          "date": "2026-10-24T10:15:42",
          "customer": {
            "tax_id": "ICV060329BY0",
            "legal_name": "INMOBILIARIA CVA",
            "tax_system": "601",
            "zip": "33826"
          },
          "use": "G03",
          "payment_form": "03",
          "payment_method": "PUE",
          "currency": "MXN",
          "exchange_rate": null,
          "items": [
            {
              "description": "Consultoría",
              "product_key": "80101500",
              "unit_key": "E48",
              "unit_name": "Unidad de servicio",
              "quantity": 1,
              "unit_price": 1000,
              "taxability": "02",
              "iva": "0.16"
            }
          ],
          "subtotal": 1000,
          "discount": 0,
          "taxes": {
            "iva": 160,
            "ieps": 0,
            "iva_withheld": 0,
            "isr_withheld": 0,
            "local_transferred": 0,
            "local_withheld": 0
          },
          "total": 1160,
          "payment_status": "paid",
          "amount_due": 0,
          "amount_paid": 1160,
          "related": null,
          "cancellation": null,
          "email": null,
          "error": null,
          "recurring_invoice": null,
          "created_at": "2026-10-24T10:15:42-06:00",
          "metadata": {}
        }
      }
    }
  ],
  "has_more": false,
  "url": "/v1/events"
}
```

## Errores

Puede responder 400, 401, 403, 404, 429, 500 con el cuerpo de error de siempre; cada código está en https://fiscalisto.com/docs/api/errores.md.
