Payload Examples
Webhookr accepts any HTTP method and body on an endpoint's ingest URL, and stores the request verbatim. These examples show typical usage.
Minimal JSON event
curl -i -X POST https://api.webhookr.tech/v1/ingest/<slug> \
-H "Content-Type: application/json" \
-d '{"event":"ping"}'
Response:
HTTP/1.1 202 Accepted
Realistic provider-style payload
curl -i -X POST https://api.webhookr.tech/v1/ingest/<slug> \
-H "Content-Type: application/json" \
-H "X-Signature: t=1718000000,v1=abc123" \
-d '{
"id": "evt_1NXyz2Abc",
"type": "payment_intent.succeeded",
"created": 1718000000,
"data": {
"object": {
"id": "pi_3NXyz2Abc",
"amount": 4200,
"currency": "usd",
"status": "succeeded"
}
}
}'
What Webhookr stores
For the request above, the event record captures:
| Field | Example value |
|---|---|
method | POST |
payload | The full JSON body shown above. |
headers | All request headers, including X-Signature. |
contentType | application/json |
payloadSize | Size of the body in bytes. |
headerCount | Number of headers received. |
sourceIp | The caller's IP address. |
userAgent | The caller's User-Agent. |
receivedAt | Timestamp of receipt. |
Forwarded to destinations
Each enabled destination receives the event using its own method, headers, and contentType. A destination configured with default settings receives:
POST /your/path HTTP/1.1
Content-Type: application/json
{"id":"evt_1NXyz2Abc","type":"payment_intent.succeeded", ... }
The resulting delivery records the destination's response status, body, and duration.
Non-JSON bodies
The ingest endpoint accepts other content types too. The body is stored as received; set the destination's contentType to match what your receivers expect.