Webhook eventTypes — enum replaced with lowercase dotted strings
Summary
Webhook subscription eventTypes no longer use the GraphQL WebhookEventType enum (PATIENT_CREATED, BOOKING_UPDATED, etc.).
They now use lowercase dotted strings (for example "patient.created", "booking.updated"). These are the same values:
- accepted by
createWebhookandupdateWebhook - returned on
WebhookSubscription.eventTypes - delivered in outbound webhook payloads as
eventType
The WebhookEventType enum has been removed from the schema. eventTypes fields are [String!].
The full list of valid event type strings is documented in Webhook events. For integration setup, signature verification, and delivery behaviour, see the Webhooks guide.
Why
Partners should use one event-type format everywhere. Previously, subscriptions used SCREAMING_SNAKE_CASE enum values while delivered payloads used lowercase dotted strings (for example BOOKING_CREATED vs booking.created), which caused confusion during integration.
Migration
Update any webhook subscription code that passes or compares enum-style values.
Before:
mutation CreateWebhook {
createWebhook(
input: {
label: "Main integration"
url: "https://your-app.com/webhooks/semble"
eventTypes: [PATIENT_CREATED, BOOKING_UPDATED]
}
) {
data {
id
secret
eventTypes
}
error
}
}
After:
mutation CreateWebhook {
createWebhook(
input: {
label: "Main integration"
url: "https://your-app.com/webhooks/semble"
eventTypes: ["patient.created", "booking.updated"]
}
) {
data {
id
secret
eventTypes
}
error
}
}
When handling inbound webhooks, match on the eventType string in the payload (for example "patient.created"). You no longer need to map between subscription enum values and delivery format.
Invalid event type strings are rejected with a validation error from createWebhook / updateWebhook.
See also
- Webhook events
- Webhooks guide
- Create Webhook mutation builder
- API reference:
createWebhook - API reference:
updateWebhook - API reference:
CreateWebhookInput - API reference:
WebhookSubscription