Platform

Webhooks

Get notified about deploys and budgets at your own endpoint.

Register an HTTPS endpoint under Webhooks in the console (or POST /client/webhooks) and Roar will notify it when things happen.

Events

EventFired when
deploy.succeededA hosted app finished deploying
deploy.failedA deploy didn't finish (previous version stays live)
budget.alertingA budget crossed its warning threshold
budget.exceededA budget is used up
pingYou pressed "Send test"

Verifying deliveries

Each webhook has a signing secret (whsec_…, shown once at creation). Every delivery is signed:

HeaderValue
x-roar-eventThe event type
x-roar-deliveryUnique delivery id (deduplicate on this)
x-roar-signaturesha256= + HMAC-SHA256 hex of the raw body
Node.js verification
import { createHmac, timingSafeEqual } from "node:crypto";

function verify(rawBody, signatureHeader, secret) {
  const expected = "sha256=" +
    createHmac("sha256", secret).update(rawBody).digest("hex");
  return timingSafeEqual(Buffer.from(expected), Buffer.from(signatureHeader));
}

Retries

Non-2xx responses (and timeouts) are retried with exponential backoff for up to six attempts. Handlers should be idempotent — deduplicate on x-roar-delivery.