Skip to main content
A webhook sends a POST to your server each time a transcript changes status, so you do not have to poll.

How do I add a webhook endpoint?

Add an endpoint under Webhooks in the console. The URL must be public HTTPS, redirects are not followed, and a workspace can have up to 10 endpoints. Copy the endpoint secret when it is shown.

Which events are sent?

  • transcript.queued
  • transcript.processing
  • transcript.completed
  • transcript.failed
  • transcript.canceled
  • transcript.addons.completed
  • transcript.addons.failed

What does a delivery look like?

Each request has three headers: Maybloc-Timestamp (a Unix timestamp), Maybloc-Delivery (a unique delivery id) and Maybloc-Signature.

How do I verify the signature?

The signature is sha256= followed by the hex HMAC-SHA256 of the timestamp, a dot and the raw request body, keyed with your endpoint secret. Verify it on the raw body before parsing the JSON, compare in constant time, and reject timestamps older than 5 minutes.

How do I avoid processing a delivery twice?

Store the Maybloc-Delivery value of each delivery you handle and skip ids you have seen. A delivery can arrive more than once.

What happens when my server is down?

A delivery that does not get a success response is retried up to 6 times in total, waiting 30 seconds, 2 minutes, 10 minutes, 30 minutes and 2 hours between attempts. After the last attempt it is marked failed. You can see recent deliveries in the console.
Last modified on October 26, 2026