Build real-time integrations with webhooks¶
Receive an HTTPS request as soon as a supported resource or relation changes in bsport. Most Public API webhook events send the same resource shape exposed by the V2 REST API; relation and delete events use the event-specific schema shown in the catalogue.
Payload version
New registrations are always created through the V2 route and deliver V2 payloads with
canonical event names such as class.updated. Existing registrations keep delivering V1
payloads and historical event names. See
Webhook event payloads.
Back Office webhooks are being retired
Existing Back Office webhooks are configured in Settings > Webhook. They use a separate
legacy registration system and legacy payloads. All new webhook integrations must be created
and managed through the Public API. Read Migrating from Back Office webhooks
if an existing integration still depends on the legacy system.
One contract from event to API¶
Every Public API webhook delivery uses the same envelope:
{
"event_type": "class.updated",
"date": 1787394600,
"data": {
"id": 186280,
"company_id": 2,
"name": "Morning yoga"
}
}
event_typeidentifies exactly what changed.dateis the Unix timestamp of the captured database change.datacontains the event-specific payload. The event catalogue expands its complete schema.
Integration path¶
Create a registration
Subscribe a company to one event using the Public API registration endpoint.
Verify every request
Validate the HMAC signature against the raw request body before processing data.
Process idempotently
Store the delivery identifier and return a 2xx response only after accepting the event.
Available resources¶
Continue¶
New integrations use V2 payloads. Existing V1 registrations retain their historical contract; see existing V1 registrations and the full V1 event reference.