Webhooks

Receive and verify reliable video completion events

Pass a public HTTPS webhook_url when creating a generation. Mistrounter sends one of these event types after completion:

  • video.generation.succeeded
  • video.generation.failed

The JSON event contains id, object: "event", type, created, and the generation under data.object.

Verify the signature

Each request includes:

Mistrounter-Event-Id: evt_...
Mistrounter-Signature: t=1900000000,v1=<hex-hmac>

Compute HMAC-SHA256 over <timestamp>.<raw request body> using the webhook secret shown with the API key that created the task, then compare it to v1 with a constant-time function. Reject old timestamps and parse JSON only after verification. Each API key has a different webhook secret.

Delivery behavior

Return any 2xx response within 10 seconds. Non-2xx responses and network errors are retried up to five times with exponential backoff, then moved to a dead-letter queue. Use the event ID to deduplicate processing.

Your callback URL cannot use localhost, private hostnames, or literal IP addresses.