Referencia: Events (eventos)
El registro de eventos de tu organización: el mismo del que salen los webhooks, para reconciliar cuando uno no llegó.
Lista paginada, del más reciente al más antiguo. Sin datos personales: cada evento dice qué reserva, qué tipo, qué columnas cambiaron y el estado anterior. Para leer la reserva, GET /bookings/{resource.id}. Los eventos webhook.test no aparecen.
| Parámetro | Dónde | Tipo | Descripción |
|---|---|---|---|
type | query | EventType | Un tipo (booking.completed…). Ver Eventos. |
resource_id | query | uuid | Solo los de esa reserva. |
limit | query | integer | 1–100, por defecto 25. |
cursor | query | string | El next_cursor anterior. |
Petición
curl "https://wearetransfers.com/api/v1/events?type=booking.completed&limit=100" \
-H "Authorization: Bearer $WAT_API_KEY"Respuesta
{
"data": [
{
"id": "8b7a6c5d-4e3f-4a2b-9c1d-0e9f8a7b6c5d",
"type": "booking.completed",
"version": 1,
"created_at": "2026-09-18T10:42:07.318Z",
"resource": {
"type": "booking",
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"changes": [
"status"
],
"previous_status": "en_curso",
"reference": "10031234"
},
{
"id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
"type": "booking.started",
"version": 1,
"created_at": "2026-09-18T08:31:12.001Z",
"resource": {
"type": "booking",
"id": "0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f"
},
"changes": [
"status"
],
"previous_status": "en_camino",
"reference": "10031234"
}
],
"next_cursor": "WyJib29raW5ncyIsIjIwMjYtMDktMTdUMTg6MDI6MTEuMjA0WiIsIjBjMWQyZTNmLTRhNWItNGM2ZC04ZTdmLTlhMGIxYzJkM2U0ZiJd.q1Zw8N3kPf2LgT7c",
"has_more": true
}El objeto Event
| Campo | Tipo | Qué es |
|---|---|---|
id | uuid | Es el X-WAT-Event-Id del webhook correspondiente. |
type | EventType | booking.created · updated · assigned · started · completed · cancelled · no_show · deleted. |
version | integer | Versión del cuerpo (1). |
created_at | date-time | Cuándo ocurrió. |
resource | object | type (booking) e id de la reserva. |
changes | string[] | Nombres de las columnas internas que cambiaron. Vacío en booking.created. |
previous_status | string | null | Estado interno anterior (solicitada, confirmada, en_curso…). |
reference | string | null | Número de reserva de WAT. |
Solo cuando la salida de eventos está activada para tu organización (se activa junto con los webhooks). Antes de eso la lista está vacía. Los eventos se conservan al menos 30 días.
Reconciliar tras una caída
Si tu endpoint estuvo caído más de lo que duran los reintentos (algo más de una hora), no esperes a que vuelvan los webhooks: recorre GET /events página a página (van del más reciente al más antiguo) hasta llegar al último id que procesaste, y lee cada reserva afectada. No hay filtro por fecha en v1: el corte lo marca tu último evento procesado. Ejemplo: GET /events?resource_id=0c1d2e3f-4a5b-4c6d-8e7f-9a0b1c2d3e4f devuelve la historia de una reserva.