Receive events
Catching events
Receive events
How to respond to a POST request against your endpoint.
POST
Receive events
Here are the specifications for a webhook client API endpoint. Please conform to it
whenever deploying a webhook listener on your side.
Timeout
Respond as fast as possible, or Lucca may suspend this webhook-endpoint activation and no longer send events. In other words, you should handle events asynchronously: save them upon receiving it, respond with a 202, then plan processing it. The current timeout is 3 seconds.Response Status Codes
Your webhook endpoint may respond with the following HTTP status codes. Depending on the code, Lucca may retry sending the event later, or suspend the endpoint if it is deemed unreachable.| Status Code | Semantics | Marked as Delivered | Will retry | Suspend the Endpoint immediately |
|---|---|---|---|---|
2xx | Event received. | ✅ Yes | ❌ No | ❌ No |
400 | Event was not understood. | ❌ No | ✅ Yes | ❌ No |
401 | Sender could not be authenticated (signature fallacy - more below). | ❌ No | ✅ Yes | ❌ No |
404 | Incorrect webhook endpoint URL. | ❌ No | ❌ No | ✅ Yes |
410 | Endpoint is gone. | ❌ No | ❌ No | ✅ Yes |
429 | Too many requests. Retry later. | ❌ No | ✅ Yes | ❌ No |
503 | Service unavailable. Retry later. | ❌ No | ✅ Yes | ❌ No |
5xx | Service is down. | ❌ No | ✅ Yes | ❌ No |
As we refine our implementation, we may stop retrying on more 4xx/5xx status codes depending on their semantics.
Make sure to validate events
In order to protect your endpoint, validate incoming events.Implement the activation workflow
Once your endpoint is declared, it must pass an activation challenge to be fully activated.Automatic suspension
If your endpoint keeps failing (non-2xx responses) over a certain threshold, we may automatically suspend it. You would then have to fix it then re-activate it from the api or the interface onhttps://{yourdomain}.ilucca.{net|ch}/integrations/endpoints.Headers
Signature of the message
Timestamp of the message
Path Parameters
Name of the webhook-endpoint on your server.
Maximum string length:
500Body
application/json
Refer to the documentation for the event schema.
Response
Accepted.
Message successfully received for asynchronous processing.