Inbound receivers

Accept real webhooks

Give any external service a stable POST URL. Valid JSON is captured as a durable live event and becomes available in the event ledger.

Receiver URL

Choose an active endpoint registration to get its public inbound address.

Manage endpoint registrations →
https://your-domain.example/api/v1/receive/{endpoint-slug}

Send a live request

This request is not a mock. It calls the selected receiver route and creates a persisted inbound event.

curl -X POST 'https://your-domain.example/api/v1/receive/{endpoint-slug}' \
+  -H 'Content-Type: application/json' \
+  -d '{"type":"order.created","order_id":"ord_123"}'

Request contract

  • JSON onlyInvalid bodies return HTTP 400 and are not persisted.
  • Event typeThe payload type becomes the event type; otherwise inbound.received is used.
  • Optional signatureSend webhook-lab-signature when a signing secret is configured.

Vercel account webhooks

The dedicated /api/webhooks adapter remains available for Vercel account events. It verifies x-vercel-signature against the server-side VERCEL_WEBHOOK_SECRET before capture.

https://your-domain.example/api/webhooks