Skip to main content

Protocol

Wire Format​

All EDS messages are JSON text frames with the following envelope:

{
"frameType": "<frame-type>",
"framePayload": { ... }
}

frameType identifies the frame type. framePayload contains the frame-specific fields.

Frame Type Reference​

Frame typeDirectionDescription
EVENTServer → ClientDelivers an event from the queue
ACK_EVENTClient → ServerAcknowledges a received event
PINGClient → ServerKeep-alive probe
PONGServer → ClientKeep-alive response
ERRORServer → ClientError occurs

EVENT​

Fields​

FieldTypeDescription
eventIdstring (UUID)Stable identifier for this event. Identical across redeliveries of the same event. Use this for deduplication.
eventTypestringThe type of event (e.g. TENANT_ONBOARDED).
receiptIdstringIdentifies this specific delivery attempt. Changes on each redelivery. Use this in the ACK_EVENT frame.
eventTsstring (ISO 8601)Timestamp when the event occurred.
queueNamestringThe queue through which this event was delivered.
eventPayloadobjectEvent-specific data. Fields vary by eventType — see Events.

Example​

{
"frameType": "EVENT",
"framePayload": {
"eventId": "a1b2c3d4-0000-0000-0000-000000000001",
"eventType": "TENANT_ONBOARDED",
"receiptId": "f9e8d7c6-0000-0000-0000-000000000002",
"eventTs": "2026-03-20T14:30:00.000Z",
"queueName": "my-integration-queue",
"eventPayload": {
"tenantId": "P0001",
"empegoTenantId": "tenant-abc"
}
}
}

ACK_EVENT​

Fields​

FieldTypeDescription
receiptIdstringThe receiptId from the EVENT frame being acknowledged.

Example​

{
"frameType": "ACK_EVENT",
"framePayload": {
"receiptId": "f9e8d7c6-0000-0000-0000-000000000002"
}
}

PING​

Fields​

FieldTypeDescription
correlationIdstring (optional)Client-chosen identifier to correlate the pong response.

Example​

{
"frameType": "PING",
"framePayload": {
"correlationId": "ping-001"
}
}

PONG​

Fields​

FieldTypeDescription
correlationIdstring (optional)Echo of the correlationId from the corresponding PING.

Example​

{
"frameType": "PONG",
"framePayload": {
"correlationId": "ping-001"
}
}

ERROR​

WIP: This is still in development and may change.

Fields​

FieldTypeDescription
messagestringError message

Example​

{
"frameType": "ERROR",
"framePayload": {
"message": "Malformed websocket frame"
}
}