Skip to content
Console
Menu

Getting Started

Authentication

KV Store

Webhooks

What a webhook endpoint is, what you receive, and where to go next.

A Webhook Endpoint is an HTTPS address of yours that Sylphx Events delivers an environment's events to. Every delivery is signed, retried on a fixed schedule, recorded in a delivery log, and can be replayed after an outage.

#What a delivery is

  • A CloudEvents document. The body is one event, specversion 1.0, as JSON, at most 1 MiB. See event types.
  • Signed with Standard Webhooks. Each attempt carries webhook-id, webhook-timestamp and webhook-signature, so any Standard Webhooks library verifies it. Receiving webhooks has the verification steps and a complete receiver.
  • At least once. A timeout cannot tell Events whether your receiver finished, so a delivery can arrive twice with the same webhook-id. Make the effect idempotent on it.
  • Retried, then dead-lettered. Eight attempts over about 27.6 hours; what is left is dead-lettered, kept, and replayable.

#Create an endpoint

The URL must be https and public. spec.event_types chooses what the endpoint receives: an exact type, a prefix ending in .*, or * for every type (the default).

sylphx events webhook-endpoints create \
--parent orgs/acme/projects/shop/envs/production \
--spec.uri https://example.com/webhooks

The answer carries status.signing_secret (it starts with whsec_) once. Store it where your receiver reads it; rotating it is the only way to get another.

The endpoint needs the events:write scope to create and the events:read scope to read.

#Read what happened

A delivery records every attempt and what your endpoint answered. Read one to see why a delivery failed, and replay the dead-lettered ones when your receiver is back.