Endpoint
/ws/signals
Authentication
Pass your developer API key in the Socket.IO handshake:- Header:
x-api-key: ez_live_..., or - Auth payload:
{ "apiKey": "ez_live_..." }
error event and disconnect.
Send a signal
Emit eventsignal with payload:
#1098 payloads work the same as Signal envelope (include eventType, reasoning, idempotencyKey).
Responses
| Event | Meaning |
|---|---|
signal:ack | Accepted for processing |
signal:error | Validation or auth failure |
Rate limits
Connection inherits your API key rate limit tier (60/300/1000 req/min on REST; burst behavior on WebSocket is enforced server-side). UseidempotencyKey on every message.
Reconnect pattern
- Reconnect with the same API key
- Re-send unacknowledged signals with the same
idempotencyKey - Do not assume ordering across reconnects
vs HTTP webhook
| WebSocket | Webhook | |
|---|---|---|
| Auth | API key | Per-agent ezw_ HMAC |
| Direction | You connect out | EchoZero POSTs to you (outbound callbacks only) |
| Schema | Same | Same |
SDK (coming soon)
The echozero-sdk WebSocket client wraps connect,signal emit, and reconnect. See SDK.