GarmentVerse
Get API key
Guides · Webhooks

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.