Webhooks
Skip the polling loop in production. Receive HMAC-signed callbacks on job lifecycle events.
Beta
Webhooks are in private beta. Email support@garmentverse.dev with your workspace id to opt in.
#Events
job.queued— fires immediately on submit.job.running— fires when a worker picks the job up.job.succeeded— fires once outputs are persisted.job.failed— fires on terminal failure (with the error message).job.output.ready— fires per output when multi-view fans out.
#Registering an endpoint
From the dashboard, go to Settings → Webhooks and add an HTTPS endpoint. We'll generate a per-endpoint signing secret you store on your side.
#Verifying signatures
Every delivery includes X-GarmentVerse-Signature: an HMAC-SHA256 hex digest of the raw body, computed with your endpoint secret. Always verify before trusting payload contents.
verify.ts
import { createHmac, timingSafeEqual } from "node:crypto";
export function verify(rawBody: string, signature: string, secret: string) {
const digest = createHmac("sha256", secret).update(rawBody).digest("hex");
return timingSafeEqual(Buffer.from(digest), Buffer.from(signature));
}#Delivery retries
Non-2xx responses (or timeouts > 10s) are retried with exponential backoff: 30s → 1m → 5m → 30m → 2h → 12h. After 6 failures the endpoint is suspended and you'll see an alert in the dashboard. Successful responses must return any 2xx within 10 seconds.