EventNotification

Alert event triggered

Sent to your webhook URL when an alert event fires. Verify the HMAC signature (see headers below) and reply with a 2xx status; anything else is retried up to 4 times with exponential back-off. The same event may arrive more than once: use eventId as your idempotency key. The signing key is returned a single time, on the response that creates the first webhook destination of your account; rotate it from your dashboard.

postWebhookalertEvent

Headers

X-Webhook-Timestampstring required
Example:1716304200

Unix timestamp (seconds, UTC) when the request was signed. Included in the signed payload — reject requests with a stale timestamp to prevent replays.

X-Webhook-Signaturestring required
Example:sha256=5d41402abc4b2a76b9719d911017c592...

sha256={hex_hmac} — HMAC-SHA256 of {X-Webhook-Timestamp}.{raw_body} using your account signing key.

User-Agentstring required
Example:StreamEstate-Webhook/1.0

Always StreamEstate-Webhook/1.0.

Payload

eventType'NEW_MATCH' | 'PRICE_CHANGE' | 'OTHER_CHANGE' | 'EXPIRED' | 'REACTIVATED' required

Type of alert event that triggered the notification.

eventIdstring uuid required

Unique identifier of this delivery. The same eventId may be delivered more than once on retry — use it as your idempotency key.

dataobject required

Full property representation — the exact body returned by GET /properties/{id}. Embedded so you can ingest the match without an extra (billed) API call. It reflects the freshest indexed state at delivery time, not a point-in-time snapshot of the event. Protected sources are masked according to your account permissions, exactly as on the API.

Response

Any 2xx status acknowledges receipt. The response body is ignored.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.