POST /v1/posts already tells you what happened, so you do not need a webhook to learn the result of a call you made. Webhooks are for the outcomes nobody is holding a request open for: a scheduled post that failed at 03:00, or an account whose token expired between one post and the next.
Add an endpoint
1
Open Webhooks
Select Webhooks in the sidebar, then Add endpoint.
2
Enter your URL
It must be absolute and use
https — for example https://example.com/nylon/webhooks. A localhost URL is accepted for local development.3
Describe it (optional)
A short description shows under the URL in the list. Useful once you have one endpoint per environment.
4
Choose events
Every event is selected by default. See Webhook events for what each one means.
5
Copy the signing secret
On save, Nylon shows the signing secret once: “Copy this now and store it with your other secrets. Nylon cannot show it again — if you lose it, rotate to get a new one.” Put it in your secret manager before closing the dialog.

The Webhooks page, listing endpoints with their events, status and last delivery.
Leaving every event selected
Selecting all of them is not the same as selecting all of them today. Nylon stores “all events” as an empty filter, so an endpoint with everything ticked also receives event types added in future. An endpoint with a specific subset keeps receiving exactly that subset. If you want new event types to reach you automatically, leave all boxes ticked. If your receiver would break on an event it does not recognise, choose explicitly.Verify the signature
Every delivery carries aNylon-Signature header of the form t=<unix timestamp>,v1=<hex>. The signature is an HMAC-SHA256 over "<timestamp>.<raw body>" using your signing secret.
This is deliberately the same scheme Stripe uses, so if you have written this verification once before, it transfers with the variable names changed.
Three things matter:
- Sign the raw body, before any JSON parsing or re-serialisation. A re-encoded body will not match.
- Check the timestamp against a tolerance — 5 minutes is the default Nylon documents. Without this, a captured delivery can be replayed later.
- Compare in constant time. A plain
===leaks the signature a byte at a time to anyone who can measure your response.
Verifying the signature
Worked verification code, and the full payload shape.
Test it before you rely on it
Open the ⋯ menu on the endpoint row and select Send test event. Nylon delivers a real, signed event and reports what came back — the HTTP status if the endpoint accepted it, or the error if it did not. This proves the URL is reachable, that your signature check passes, and that you return a 2xx, before anything real depends on it.Related
Webhook events
The six events and what each one is for.
Deliveries and failures
Retries, disabled endpoints and rotating the secret.