/logs API immediately after capture, so you can inspect exactly what your webhook provider sent.
What gets captured
Each captured event includes:Sending requests to your webhook URL
Use any HTTP method. The path is::id with your active webhook ID (for example, wh_demo123).
Overriding the response status per request
Add__status as a query parameter to force a specific HTTP status code for that request only. This is useful for testing how your client handles error responses without changing the global defaultResponseCode setting.
Querying captured events
List events: GET /logs
Use /logs to search and filter captured events. All parameters are optional.
field[gte], field[lte], field[gt], field[lt]. Body, header, and query filters support both free-text substring search and keyed access like body[data.id]=evt_123.
Response:
Get a single event: GET /logs/:logId
Get the raw payload: GET /logs/:logId/payload
Content-Type. If the payload was offloaded to storage due to its size, it is hydrated on demand.
JSON parsing
WhenenableJSONParsing is enabled (the default), application/json request bodies are automatically parsed into structured objects before storage. This lets you use keyed filters like body[event]=payment.success in /logs queries. Without this setting, the body is stored as a raw string and only substring search is available.
Large payload handling
ThemaxPayloadSize setting controls the maximum accepted body size in bytes. Requests that exceed this limit are rejected with 413 Payload Too Large.
For payloads that are within the accepted limit but still large, the runtime offloads the payload content to Key-Value Store rather than keeping it inline. The event remains fully queryable through /logs, and the payload is hydrated when you call GET /logs/:logId/payload.
Capture settings reference
integer
default:"3"
Number of unique webhook endpoints to generate for this run. Accepted range: 1–50.
integer
default:"24"
How long generated webhook URLs stay active, in hours. Accepted range: 1–168. After expiry, the webhook stops accepting traffic and its logs are removed from
/logs during the next cleanup cycle (up to 10 minutes later). Logs already pushed to the dataset are retained independently.integer
default:"10485760"
Maximum request body size in bytes. Requests exceeding this are rejected with
413. Values above 100 MB are clamped. Default is 10 MB.boolean
default:"true"
When enabled,
application/json bodies are parsed into structured objects for keyed search in /logs. When disabled, the body is stored as a raw string.