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

# Event Format

> The JSONL structure written for each captured webhook event.

## Storage Model

Each matched request is persisted as one JSON object per line.

Typical file layout:

```text theme={null}
.wsignal/events.jsonl
.wsignal/events.2026-03-29T12-00-00-000Z.jsonl
.wsignal/github.jsonl
```

## Example Record

```json theme={null}
{
  "id": "evt_20260329044812_ab12cd",
  "endpoint": "github",
  "receivedAt": "2026-03-29T04:48:12.074Z",
  "method": "POST",
  "url": "http://localhost:8787/github?delivery=123",
  "path": "/github",
  "statusCode": 200,
  "logFile": "/absolute/path/to/.wsignal/github.jsonl",
  "headers": {
    "content-type": "application/json"
  },
  "query": {
    "delivery": "123"
  },
  "rawBody": "{\"ok\":true}",
  "bodySize": 11,
  "jsonBody": {
    "ok": true
  }
}
```

## Field Reference

### `id`

Generated event ID in the form `evt_<timestamp>_<random>`.

### `endpoint`

Configured endpoint name that handled the request.

### `receivedAt`

UTC timestamp for when the request was processed.

### `method`

Incoming HTTP method.

### `url`

Fully resolved request URL, including query string.

### `path`

Matched request pathname.

### `statusCode`

HTTP status that `wsignal` returned. For proxy endpoints, this is the upstream status or `502` if the upstream request failed.

### `logFile`

Resolved destination log file path at capture time.

### `headers`

Normalized incoming request headers.

### `query`

Query parameters extracted from the request URL.

### `rawBody`

UTF-8 body string as received.

### `bodySize`

Captured body size in bytes.

### `jsonBody`

Parsed JSON body, only present when `rawBody` is valid JSON.

## In-Memory Read Model

When `wsignal` loads events for `logs`, `inspect`, or `replay`, it adds a `sourceFile` field in memory so commands can identify which file a record came from.

`sourceFile` is not written to disk.
