Skip to main content

Webhooks setup

Webhooks notify your application when a legal entity or document changes. Use them for updates, then call the corresponding GET endpoint to read the latest resource.

Create a public HTTPS endpoint. For sandbox testing, you can use external service like: https://webhook.site, to receive and inspect test events.

1. Create a webhook​

POST /event-destinations

{
"event": "invoice.outbound",
"target": "https://your-domain.example/webhook",
"delivery": "webhook",
"authType": "header"|"query"|"none",
"authKey": "X-Auth",
"authToken": "asdfghjk"
}

2. Confirm the configuration​

Response:

{
"eventId": "019ffeec-b9a7-7d3d-abac-2be663ec3de6",
"event": "invoice.outbound",
"delivery": "webhook",
"target": "https://your-domain.example/webhook",
"authType": "none",
"authKey": null,
"authToken": null,
"createdAt": "2026-08-14T06:19:14+00:00",
"updatedAt": "2026-08-14T06:19:14+00:00"
}

Or with a call to GET /event-destinations/{eventId} API endpoint.

3. Validate the received event​

All the messages sent to your endpoint are sent with a POST request, like:

{
"eventId": "019e91b7-f799-7df7-a469-4824b2656b0e",
"eventType": "invoice.outbound",
"status": "sent",
"documentUuid": "01a03e4a-ee3a-7e1f-b372-c8382bd4ec73"
}

We manage to send the messages to your endpoints with a queue: if your endpoint fails (we don't get a 200 response) then the webhook will retry 15 times every 300 seconds with a back-off rate of 1.25 for a total of about 10 hours.

If you want to disable endpoints during an operation, you can send header X-DisableEndpoints: true. This header takes effect when sending a new customer invoice or when importing customer or supplier invoices.