How it works
Register a webhook
- In , under Developers, find the Inbound Webhooks section.
- Select Add, then give the webhook a name and description.
- Save. Courier generates a unique URL in the form
https://api.courier.com/inbound/webhook/<token>.
Send events
Point the source system at that URL andPOST your JSON. No API key or auth header is needed. The URL carries a signed token that identifies your workspace.
Payload handling
Courier accepts any payload up to 6 MB.
Courier answers
202 when it accepts the request. A 404 means the URL is wrong or no longer exists.
Reserved fields
Courier reads two fields from a JSON payload, if present.
Every other field is yours. Courier passes them through as data to whatever consumes the event.
Limits & behavior
userIdmust match an existing Courier user. With no recipient to send to, the event will not start a journey.- The URL is the credential. There is no separate auth header, so anyone holding the URL can post events.
- Payloads cap at 6 MB. Larger requests are rejected.
FAQ
Why is my event picker empty?
Why is my event picker empty?
Courier learns event names from traffic it has received. Post one real event and the name appears.
What if the webhook URL leaks?
What if the webhook URL leaks?
Delete the webhook and create a new one. That issues a fresh URL, and the old one stops accepting events.
Can I send a batch of events at once?
Can I send a batch of events at once?
Post a JSON array. Courier treats each object in it as its own event.