Skip to content

Webhook receiving

Endpoint URL

Every webhook endpoint is reachable at:

https://api.hooknexus.com/h/:endpointId
PropertyValue
HTTP methodsAny (GET, POST, PUT, PATCH, DELETE, …)
AuthenticationNone for sending webhooks—senders use the public URL
Path parameterendpointId — UUID of the endpoint

Successful response

On success, HookNexus stores the request and returns JSON:

{
"received": true,
"id": "<request-log-id>",
"timestamp": 1711180800123
}
FieldTypeDescription
receivedbooleanAlways true on success
idstringUnique ID of the stored webhook log (use with Request APIs)
timestampnumberUnix time in milliseconds

Size and rate limits

Limits are enforced per account plan (cached on the endpoint owner):

LimitBehavior
Max body sizeIf the body exceeds the plan’s max_request_size, the API returns 413 with error, maxSize, and actualSize.
Daily request volumeIf the daily cap is reached, the API may return 429 with limit details.

Examples with curl

POST JSON

Terminal window
curl -X POST "https://api.hooknexus.com/h/YOUR_ENDPOINT_ID" \
-H "Content-Type: application/json" \
-d '{"event":"invoice.paid","id":"evt_123"}'

GET with query string

Terminal window
curl "https://api.hooknexus.com/h/YOUR_ENDPOINT_ID?foo=bar"

Custom headers

Terminal window
curl -X POST "https://api.hooknexus.com/h/YOUR_ENDPOINT_ID" \
-H "X-Custom-Header: value" \
-H "Content-Type: text/plain" \
--data-binary "raw payload"

Incoming webhooks are broadcast to connected WebSocket clients in real time. See WebSocket.