Skip to main content
Every version 2 delivery is a POST with a JSON body. The body has the same top-level shape for every event. Only data, and the presence of model and error, depend on the event.

Headers

A retry resends the same headers, including the same webhook-timestamp.

Body

Ignore fields you don’t recognize. A later version can add fields, and parsing strictly turns an addition into an outage.

webhook

connector

data

On a data event, data is an array of the Bindbee IDs of the records the sync created or updated. It holds every changed record of that model, with no limit on its length:
Read the records with the ids filter on the model’s endpoint - see Filters. The IDs are the same id values the API returns. The response is paginated like any other read: page_size defaults to 50 and goes up to 200, so follow cursor to get the records past the first page. On a connector event, data describes the connector’s sync state:
last_sync_start_time is null on connector.linked and connector.relinked when the connector hasn’t synced yet.

sync

error

failed_at equals the event’s occurred_at. detail is {} when there is nothing more to add. Show message to your team rather than branching on it, since the text can change.

Sample payloads

Every data event has this shape. Only event, model, webhook.event, the connector’s category and integration, and the IDs differ.
connector.relinked has the same shape, with "event": "connector.relinked".
The dashboard shows the same samples: click the code icon beside any event on the Add Webhook form.