# WebhookEvent

> Body of every outbound webhook.

Body of every outbound webhook. Verify `Guv-Signature: t=<unix>,v1=<hex>` where
`v1 = HMAC-SHA256(secret, "<t>.<raw body>")`; reject if `t` is more than 5 minutes old.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `id` * | string |  |
| `type` * | [WebhookEventType](/docs/api/objects/webhook-event-type/) |  |
| `api_version` | string |  |
| `created_at` * | string (date-time) |  |
| `workspace_id` * | string |  |
| `project_id` | string or null |  |
| `data` * | object | The resource the event is about (for example a Deployment), as returned by the API. |

\* always present

## Example

```json
{
  "id": "evt_01jbx2m9k7q4r8t5v6w3y0z1ev",
  "type": "deployment.succeeded",
  "api_version": "2026-11-01",
  "created_at": "2026-10-23T14:05:12Z",
  "workspace_id": "ws_01jbx2m9k7q4r8t5v6w3y0z1ws",
  "project_id": "prj_01jbx2m9k7q4r8t5v6w3y0z1pr",
  "data": {
    "id": "dep_01jbx2m9k7q4r8t5v6w3y0z1dp",
    "status": "active",
    "service_name": "web",
    "environment_name": "production"
  }
}
```
