Webhooks

Receive real-time notifications when events happen.

Event catalog

EventDescription
stream.startedA live stream started broadcasting
stream.endedA live stream stopped
stream.recording.readyRecording ready for playback
billing.subscription.createdNew subscription created
billing.subscription.cancelledSubscription cancelled
billing.invoice.paidInvoice paid successfully
billing.invoice.failedInvoice payment failed
billing.usage.thresholdUsage exceeded threshold
transcription.completedTranscription finished
asset.readyVideo asset processed
asset.erroredVideo asset failed

Signature verification

import crypto from 'crypto';
function verify(payload, signature, secret) {
  const expected = crypto.createHmac('sha256', secret).update(payload).digest('hex');
  return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}

Retry behavior

Retries: immediate, 1min, 5min, 30min, 2h. After 5 fails, sent to dead-letter queue. Return 2xx within 30s.