run.completed event
Signed with HMAC SHA-256 over the timestamp, a full stop and the raw body. Header Broadcastwell-Signature: t=timestamp,v1=hex. Reject a timestamp more than 300 seconds from your clock. Delivery is at least once: every event carries a durable id, in the body and in the Broadcastwell-Event-Id header, the same on every attempt, so deduplicate on it.
postWebhookrun.completed
Payload
Response
Any 2xx acknowledges the event. Anything else is retried with backoff.
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.