Kibbe.aiDocs
PlatformLearnAboutGet an API key
DocumentationAPI referenceSDKsChangelog
Core concepts›Webhooks
Getting started
  • Introduction
  • Quickstart
  • Authentication
  • Environments
Core concepts
  • Attribute schema
  • Kibbe image IDs
  • Catalogs
  • Webhooks
Endpoints
  • Tag an imagePOST
  • Search productsPOST
  • Similar itemsGET
  • Body-type fitGET
  • Trend signalsGET
  • Upload catalogPOST
Reference
  • Rate limits
  • Errors
  • SDKs
  • Changelog
Core concepts/Webhooks

Webhooks

Don't poll. Subscribe an HTTPS endpoint to the events you care about and we'll deliver them signed and retried.

Events

EventPayloadFires when
catalog.completedjobA catalog upload finishes processing.
catalog.failedjobA job stops with row errors above threshold.
trend.shiftsignalA tracked category changes momentum.

Verifying signatures

Every delivery carries a Kibbe-Signature header: a timestamp and an HMAC-SHA256 of timestamp.body using your endpoint secret. Reject anything older than five minutes.

typescript
import { verifySignature } from "@kibbe/sdk";

export async function POST(req: Request) {
  const body = await req.text();
  const ok = verifySignature({
    payload: body,
    header: req.headers.get("kibbe-signature")!,
    secret: process.env.KIBBE_WEBHOOK_SECRET!,
  });
  if (!ok) return new Response("bad signature", { status: 401 });
  return new Response("ok");
}
!
Respond within 10 seconds. Queue the work and return 200 — a slow handler is treated as a failure and retried.
← PreviousCatalogsNext →Tag an image
On this page
EventsVerifying signatures
Ask a question