> ## Documentation Index
> Fetch the complete documentation index at: https://docs.grainfinance.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Envelope

Every webhook notification is wrapped in a standard envelope. The `data` field contains the event-specific payload.

| Field          | Type   | Description                                                       |
| :------------- | :----- | :---------------------------------------------------------------- |
| eventId        | string | Deterministic unique UUID. Use for idempotency and deduplication. |
| type           | string | The event type (e.g., `hedge.completed`).                         |
| environment    | string | `"Live"` or `"Sandbox"`.                                          |
| createdAtTs    | number | Unix timestamp in milliseconds when the event was created.        |
| version        | string | Payload schema version. Currently `"1.0"`.                        |
| organizationId | string | UUID of the organization the event belongs to.                    |
| data           | object | Event-specific payload. Structure varies by event type.           |

**Example:**

```json theme={null}
{
  "eventId": "hedge-complete_82715caa-87ae-4fe8-808d-bc44ce561de7",
  "type": "hedge.completed",
  "environment": "Sandbox",
  "createdAtTs": 1770206513622,
  "version": "1.0",
  "organizationId": "8a75f70f-a496-4dce-ab8d-a9df995089b0",
  "data": { ... }
}
```
