# Events API – Tiempo

> Every change is an event, written in the same transaction as the change.

Source: https://tiempo.one/docs/events

Every change is an event, written in the same transaction as the change. The same events go to your webhook endpoints; this API lets you catch up if your endpoint was down.

## List events

`GET /v1/events`

Your platform’s events, newest first, across every business; send Tiempo-Account to narrow to one. type matches exactly or by prefix, like booking.*.

### Query parameters

-   `type` (string)
    
    An event type, or a prefix such as booking.* for every booking event.
    
-   `limit` (integer)
    
    1 to 100. Defaults to 20.
    
-   `starting_after` (string)
    
    An object id from the previous page; returns the page after it.
    
-   `ending_before` (string)
    
    An object id; returns the page before it.
    

GET /v1/events

```bash
curl "https://api.tiempo.one/v1/events?type=booking.*&limit=20" \
  -H "Authorization: Bearer tpt_4qZ8m1VwXc0L…"
```

200Response

```json
{
  "id": "evt_01m42ytdpd0xjx07b62ja2b8s3",
  "object": "event",
  "account": "acct_01m42yt93ayvyrwr3yczhv6yhw",
  "api_version": "2026-10-04",
  "type": "booking.confirmed",
  "livemode": false,
  "created_at": "2026-10-04T08:01:12Z",
  "data": {
    "object": {
      "id": "bkg_01m42ytcajvtw8pmzf8dydhmz5",
      "object": "booking",
      "status": "confirmed",
      "…": "…"
    },
    "previous_attributes": {
      "status": "pending"
    }
  }
}
```

## Resend an event

`POST /v1/events/{id}/resend`

Sends one event to one of your endpoints again, with a fresh set of retries, whatever happened last time. Useful after fixing a bug in your webhook handler.

### Path parameters

-   `id` (string, required)
    
    The object’s id.
    

### Body parameters

-   `endpoint` (string, required)
    
    One of your webhook endpoint ids.
    

POST /v1/events/{id}/resend

```bash
curl -X POST "https://api.tiempo.one/v1/events/evt_01m42ytdpd0xjx07b62ja2b8s3/resend" \
  -H "Authorization: Bearer tpt_4qZ8m1VwXc0L…" \
  -H "Content-Type: application/json" \
  -d '{
    "endpoint": "we_01m42z0f5r8t2y6u9i3o7p1a4s"
  }'
```

200Response

```json
{
  "id": "whd_01m4h7q2w9e3r5t8y1u4i6o0p2",
  "object": "webhook_delivery",
  "event": "evt_01m42ytdpd0xjx07b62ja2b8s3",
  "endpoint": "we_01m42z0f5r8t2y6u9i3o7p1a4s",
  "status": "pending",
  "attempts": 0,
  "next_attempt_at": "2026-11-17T09:30:00Z",
  "resent_at": "2026-11-17T09:30:00Z"
}
```

## Retrieve an event

`GET /v1/events/{id}`

Rendered in your pinned API version, or the one in Tiempo-Version.

### Path parameters

-   `id` (string, required)
    
    The object’s id.
    

GET /v1/events/{id}

```bash
curl "https://api.tiempo.one/v1/events/evt_01m42ytdpd0xjx07b62ja2b8s3" \
  -H "Authorization: Bearer tpt_4qZ8m1VwXc0L…"
```

200Response

```json
{
  "id": "evt_01m42ytdpd0xjx07b62ja2b8s3",
  "object": "event",
  "account": "acct_01m42yt93ayvyrwr3yczhv6yhw",
  "api_version": "2026-10-04",
  "type": "booking.confirmed",
  "livemode": false,
  "created_at": "2026-10-04T08:01:12Z",
  "data": {
    "object": {
      "id": "bkg_01m42ytcajvtw8pmzf8dydhmz5",
      "object": "booking",
      "status": "confirmed",
      "…": "…"
    },
    "previous_attributes": {
      "status": "pending"
    }
  }
}
```

The machine-readable description is at [/openapi.json](https://tiempo.one/openapi.json). Try calls in [Swagger UI](https://tiempo.one/swagger-ui.html).[Tiempo home](https://tiempo.one/)[Dashboard](https://tiempo.one/app)
