Receive run webhooks
Register a webhook for a specific run to receive lifecycle notifications.
The current service requires a configured signing secret and an allowlisted public HTTPS destination on port 443. Arrange destination approval and receiver verification configuration with Sikaru before registering; the API does not return a per-webhook signing secret.
Sikaru sends a signed notification. Your receiver verifies it, stores it durably, returns 2xx, and processes the work later. Fetch the run through the SDK when you need more detail.
Register a webhook
Replace the example URL with your approved receiver. Registration needs runs:create; listing uses runs:read.
Receiver contract
Notifications contain deliveryId, projectId, runId, and an event with id, sequence, and type. They contain lifecycle metadata rather than arbitrary event payloads. Fetch the run and its events through the authenticated SDK when you need more detail.
Use the receiver secret agreed with Sikaru; never use your API key as the signing secret.
Your receiver should:
- Verify the signature using a constant-time comparison before parsing or acting on the body.
- Enforce a timestamp freshness policy.
- Durably deduplicate on
deliveryId. - Return a 2xx response only after accepting the notification durably.
- Process slower business work asynchronously.
Delivery can repeat. The service makes bounded attempts, and redirects are not followed. Do not depend on webhooks as your only way to learn a run’s final state: reconcile with run status and event polling after an outage.
Manage registrations
Deleting a registration stops future delivery from it; it does not cancel the run or undo notifications already delivered. CLI equivalents are under sikaru run-webhooks.
