
# Get an event

`GET /v1/events/{event_id}` · permission `events:read`

Returns one event in the same shape, with the same `id`, that webhooks deliver (thin payload). The `id` is also the `webhook-id` header of the delivery, so you can fetch the event a webhook announced.

## Request

| Parameter | In | Required | Description |
|---|---|---|---|
| `event_id` | path | yes | Event id, prefixed with `evt_`. |

## Response

`200 OK` and the event, in the same shape as an item of [List events](list.md).

```bash
curl -sS https://api.keenauth.com/v1/events/evt_01j9xk3m7q8r2s4t6v8w0y2z4a \
  -H "Authorization: Bearer $KEENAUTH_API_KEY"
```

## Errors

Every error is an `application/problem+json` body with a stable `code`.

| HTTP | `code` | When |
|---|---|---|
| 401 | `unauthenticated` | The API key is missing, invalid or revoked. |
| 403 | `insufficient_permissions` | The key lacks `events:read`. |
| 404 | `not_found` | The event does not exist, belongs to another environment, is older than 30 days, or the id is malformed. |
| 429 | `rate_limited` | The rate limit was exceeded; honor `Retry-After`. |
| 503 | `service_unavailable` | A dependency is temporarily unavailable; retry later. |

## Personal data

This endpoint carries personal data: events. [Personal data in the KeenAuth APIs](/docs/policies/personal-data) describes what is stored, how long it is kept and how it is deleted. Do not send special categories of personal data (health, biometric data, religion, political opinions, sexual orientation) in any field.
