Skip to content
BoringKit

Webhooks

Receive signed job events from BoringKit.

Use webhooks to react to completed, failed, or canceled jobs without continuous polling. Verify every signature, dedupe event ids, and fetch the job before downloading output.

Event payload

Example
{
  "id": "evt_123",
  "type": "job.succeeded",
  "createdAt": "2026-05-02T12:00:00Z",
  "job": {
    "id": "job_123",
    "status": "succeeded",
    "toolSlug": "image-compress-api"
  }
}

Receiver rules

  • Verify the signature before doing work.
  • Store processed event ids so retries do not duplicate side effects.
  • Fetch /jobs/{id} before downloading output.
  • Return 2xx only after your receiver has safely queued follow-up work.

Delivery headers

Example
BoringKit-Event-Id: evt_123
BoringKit-Signature: t=1770000000,v1=hex_signature
User-Agent: BoringKit-Webhooks/1.0

Delivery behavior

event types

Handle job.succeeded, job.failed, and job.canceled. Treat unknown event types as no-op but keep logging.

retries

Temporary non-2xx responses may be retried. Your receiver must be idempotent.

payload trust

Use the webhook payload as a notification. Fetch /jobs/{id} before downloading files or mutating your own records.

secret rotation

Keep webhook signing secrets in server-side secret storage and support overlapping old/new secrets during rotation.