Protocol Documentation
Table of Contents
- engine/notification/v1/entity_type.proto
- engine/notification/v1/event.proto
- engine/notification/v1/event_delivery_attempt.proto
- engine/notification/v1/event_delivery_attempt_status.proto
- engine/notification/v1/event_type.proto
- engine/notification/webhook/v1/subscription.proto
- engine/notification/webhook/v1/webhook_event_delivery_attempt.proto
- Scalar Value Types
engine/notification/v1/entity_type.proto
EntityType
Entity domain an event applies to.
| Name | Number | Description |
|---|---|---|
| ENTITY_TYPE_UNSPECIFIED | 0 | |
| ENTITY_TYPE_BOOKING | 1 | A booking managed through Engine. |
engine/notification/v1/event.proto
Event
A notification event describing a change to an entity. This is the payload delivered to a subscriber when a subscribed event occurs over a delivery channel (e.g. webhook).
| Field | Type | Label | Description |
|---|---|---|---|
| entity_id | string | Identifier of the entity the event occurred for (e.g. the booking id). | |
| entity_type | EntityType | The entity domain the event applies to. See EntityType. | |
| event_type | EventType | The event that occurred for the entity. See EventType. | |
| event_timestamp | string | When the event occurred, ISO 8601 timestamp (e.g. 2026-06-01T16:15:24.611576Z). See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations |
engine/notification/v1/event_delivery_attempt.proto
EventDeliveryAttempt
A single event delivery attempt for an event subscription.
| Field | Type | Label | Description |
|---|---|---|---|
| attempt_id | string | Unique identifier for this event delivery attempt. | |
| message_id | string | The identifier associated with the message being delivered. Sent as the webhook-id request header for webhook deliveries. | |
| subscription_id | string | Subscription this attempt belongs to. | |
| webhook | engine.notification.webhook.v1.WebhookEventDeliveryAttempt | ||
| payload | Event | The event payload that was delivered to the delivery channel. | |
| status | EventDeliveryAttemptStatus | Event delivery attempt outcome. | |
| attempted_at | string | Timestamp of this attempt, ISO 8601 (e.g. 2026-04-01T12:00:00Z). See https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations |
engine/notification/v1/event_delivery_attempt_status.proto
EventDeliveryAttemptStatus
Status of an event delivery attempt.
| Name | Number | Description |
|---|---|---|
| EVENT_DELIVERY_ATTEMPT_STATUS_UNSPECIFIED | 0 | Status is unknown or not set. |
| EVENT_DELIVERY_ATTEMPT_STATUS_SUCCESS | 1 | Attempt succeeded (HTTP 2xx). |
| EVENT_DELIVERY_ATTEMPT_STATUS_PENDING | 2 | Attempt is queued or in progress. |
| EVENT_DELIVERY_ATTEMPT_STATUS_FAIL | 3 | Attempt failed (non-2xx response, timeout, or transport error). |
engine/notification/v1/event_type.proto
EventType
Event that occurred for a given entity.
| Name | Number | Description |
|---|---|---|
| EVENT_TYPE_UNSPECIFIED | 0 | |
| EVENT_TYPE_CREATED | 1 | The entity was created |
| EVENT_TYPE_UPDATED | 2 | The entity was updated. |
| EVENT_TYPE_CANCELED | 3 | The entity was canceled. |
engine/notification/webhook/v1/subscription.proto
Subscription
A single event subscription.
| Field | Type | Label | Description |
|---|---|---|---|
| subscription_id | string | The subscription id associated with this subscription. | |
| entity_type | engine.notification.v1.EntityType | The entity type this subscription is subscribed to. | |
| event_types | engine.notification.v1.EventType | repeated | Event types this subscription delivers. If left empty when a new subscription is created or updated, this field will automatically be materialized with all defined event types for this entity type (i.e. "subscribe to all event types"). When queried, this field will list the specific event types provided or materialized during the create or last update. |
| callback_uri | string | Current HTTPS callback URI for delivery. Engine POSTs signed Event payloads to this URI. | |
| description | string | Text associated to provide more context about the given subscription. This information can help provide additional context about the intent of this particular subscription as part of a larger set of subscriptions, for example. Limited to 120 characters. The description can be updated in UpdateSubscriptionRequest. | |
| enabled | bool | Whether the subscription is currently enabled for delivery. When false, no deliveries are sent. Re-enabling the subscription resumes delivery for new events only; events that occurred while disabled are not automatically sent. |
engine/notification/webhook/v1/webhook_event_delivery_attempt.proto
WebhookEventDeliveryAttempt
Webhook-specific details for an event delivery attempt. See EventDeliveryAttempt.
| Field | Type | Label | Description |
|---|---|---|---|
| callback_uri | string | Callback URI associated with the subscription called for this attempt. | |
| response_status_code | int32 | optional | HTTP status from the subscribed webhook URI when an HTTP response was received (e.g. 200, 404). Omitted when the attempt failed before an HTTP response (timeout, connection, or TLS error) or while [EventDeliveryAttempt.status] is PENDING. |