Skip to documentation
Browse documentation
Guide

Webhooks

Receive completion events safely and test delivery before production

Updated 2026-08-14View as Markdown

Account signing secret

Create the signing secret in the dashboard before adding a webhook. It is displayed once and stored encrypted by AlefBot

Delivery contract

Provide a public HTTPS endpoint when creating a transcription. The event body and headers are documented as a callback in the API reference

{
  "event": "transcription.completed",
  "event_id": "evt_...",
  "job_id": "job_...",
  "status": "completed",
  "created_at": "2026-08-14T12:00:00Z",
  "links": {
    "self": "https://alef-bot.top/api/v1/transcriptions/job_...",
    "artifact": "https://alef-bot.top/api/v1/transcriptions/job_.../artifact"
  }
}
  • Each request includes X-AlefBot-Event, X-AlefBot-Event-ID, X-AlefBot-Timestamp and X-AlefBot-Signature
  • Webhook tests send X-AlefBot-Event: webhook.test and a body containing test_mode: true; the precise schema is the test operation’s callback in the API reference
  • Verify the signature against the raw request body before parsing JSON
  • Reject old timestamps and compare signatures in constant time
  • Return 2xx quickly and process the event asynchronously
  • Delivery is at least once; deduplicate using event_id because delivery may be repeated
  • Event order is not guaranteed
  • AlefBot makes up to 5 attempts over about three hours for network failures, 408, 425, 429 and 5xx
  • The target must be public HTTPS on port 443, without redirects

Test before launch

Use POST /webhooks/test to check DNS, TLS, network policy, signature verification and response time without creating a transcription

Webhooks | AlefBot API