Protocol Documentation

Table of Contents

Top

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.

Top

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

Top

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

Top

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).

Top

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.

Top

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.

Top

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.

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double   double double float float64 double float Float
float   float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool   bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)