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