Playground API
DocsStatsBlogStudio
Documentation Tree
Technical BlogFeature Deep Dives
  • Introduction
  • Quickstart
    5 min
  • How It Works
  • Recipes & Cookbooks
  • Platform Comparisons
  • Real-World Showcase
  • Interactive Studio
    Studio
  • GraphiQL IDE
    IDE
  • Session Quotas & Activity
  • Network Chaos Simulator
  • Atomic Sandbox Reset
  • Overview & Models
    Hub
  • Users Resource
  • Posts Resource
  • Comments Resource
  • Todos Resource
  • Custom Collections
    Custom
  • Multipart File Uploads
    Upload
  • Dynamic SVG Avatars
    SVG
  • Image Thumbnails
    CDN
  • Relational Filtering
  • Full-Text Search
  • Dynamic Sorting
  • Offset Pagination
  • Cursor Pagination
    Scroll
  • CSV & Excel Export & Import
    IO
  • Custom Collections
    CRUD
  • Overview & Architecture
    Hub
  • JWT Auth Flow
  • Refresh Token Rotation
    Mutex
  • RBAC Permission Matrix
    Roles
  • Expiry Simulation
  • Clock Skew Drift
  • Password Recovery Loop
  • Dual-Mode Sandboxing
  • GraphiQL IDE
    IDE
  • Relational Queries
  • Stateful Mutations
  • Realtime Subscriptions
  • Overview & Flowcharts
    Hub
  • Hosted Checkout
    Stripe
  • Payment Intents API
  • 3DS Challenge Modal
    Modal
  • Customers Vault
  • Charges & Refunds
  • Test Cards Catalog
  • Overview & Channels
    Hub
  • Virtual Email Mailbox
    Mailtrap
  • Virtual SMS Terminal
    Phone
  • In-App Notifications
  • Message Dispatcher
  • Realtime Studio
    Studio
  • Native WebSocket (/ws)
  • Socket.io Gateway
  • Presence & Echo Bot
  • Server-Sent Events (SSE)
    SSE
  • Analytics Telemetry
  • Webhook Subscriptions
  • HMAC SHA-256 Signatures
  • Delivery Logs
  • Manual Retry Simulator
  • Network Latency Delay
  • HTTP Status Codes
  • Rate-Limit Simulator
    429
  • Flaky Network & Jitter
    Chaos
  • Session Quotas & Activity
  • JSON Snapshots
    JSON
  • Headless CI/CD Testing
    CI
  • Mobile QR Code Sync
  • System Metrics & Health
  • Atomic Sandbox Reset
  • Official TypeScript SDK
  • Multi-Language Generators
  • DevTools Extension
  • OpenAPI 3.1 Spec
    JSON
  • Postman Collection v2.1
  • Bruno Collection
  • Insomnia Workspace
  • TypeScript .d.ts
    .d.ts
  • AI Prompt Rules
    Rules
  • Context Index (llms.txt)
  • Full Schema (llms-full.txt)
  • Manifest (product.json)
  • All Feature Articles
    Blog
  • React CRUD Without Backend
    Deep Dive
  • Why Static APIs Fail
  • Mocking Stateful Auth
  • WebSockets & SSE Guide
Technical Blog
Articles

In-depth articles explaining stateful mock APIs, WebSockets, payments, and frontend resilience.

Read Articles
PreviousHMAC SHA-256 Signatures
NextManual Retry Simulator
Outgoing Webhooks

Delivery Logs & Transmission Telemetry

Inspect transmission history for every dispatched webhook event. Review delivery attempts, HTTP response status codes returned by your target receiver, round-trip latency (durationMs), signed request headers, and response payloads.

Interactive Telemetry Workbench

Query delivery history or trigger a synthetic dispatch to observe live round-trip telemetry:

Fetch Deliveries (/deliveries)

Retrieves transmission logs for all events dispatched in your session.

GET
response.json
1
{
2
// Click "Send" above to execute this request against the live server.
3
}

Delivery Record Telemetry Structure

Each transmission entry captures complete telemetry including round-trip duration, response status, full request headers with cryptographic signatures, and response payloads:

1
{
2
"id": "del_e28c5a14-41bf-4c7b-8392-127810bba104",
3
"webhookId": 1,
4
"webhookUrl": "https://httpbin.org/post",
5
"event": "posts.created",
6
"status": 200,
7
"success": true,
8
"durationMs": 48,
9
"timestamp": "2026-09-29T12:15:50.933Z",
10
"requestHeaders": {
11
"Content-Type": "application/json",
12
"User-Agent": "Playground-API-Webhook-Dispatcher/1.0",
13
"X-Playground-Event": "posts.created",
14
"X-Playground-Delivery": "del_e28c5a14-41bf-4c7b-8392-127810bba104",
15
"X-Playground-Signature": "t=1759165200,v1=9a2b8e39f72b7a48d..."
16
},
17
"requestBody": {
18
"id": "del_e28c5a14-41bf-4c7b-8392-127810bba104",
19
"event": "posts.created",
20
"timestamp": "2026-09-29T12:15:50.933Z",
21
"data": {
22
"id": 101,
23
"title": "Synthetic Webhook Telemetry Ping"
24
}
25
},
26
"responseBody": "{\n \"headers\": {\n \"X-Playground-Event\": \"posts.created\"\n }\n}",
27
"error": null
28
}

Delivery Record Schema Reference

Field specifications returned by GET /api/v1/webhooks/deliveries:

FieldTypeDescription
idstringUnique transmission UUID (del_...). Matches X-Playground-Delivery.
webhookUrlstringHTTP/HTTPS destination address the request was transmitted to.
statusnumberHTTP status code returned by receiver (e.g. 200, 404, 500) or 0 if connection aborted/timed out.
durationMsnumberRound-trip latency in milliseconds from socket open to response completion.
requestHeadersobjectFull set of outgoing HTTP headers including HMAC signature and event topic.
responseBodystringCaptured response text returned by the receiving endpoint (truncated at 1000 characters).

Dispatcher Operational Safeguards

4,000ms Timeout Guard

Dispatches use AbortSignal.timeout(4000). If the target receiver does not acknowledge within 4 seconds, the request aborts and logs status 0.

Payload Truncation

Response text is capped at 1,000 characters to prevent accidental buffer exhaustion when target receivers dump verbose HTML stack traces.

Session Ring Buffer

The 50 most recent delivery logs are cached per visitor session, allowing instant inspection and replay across browser reloads.