Multilocale Signed Webhooks#

Multilocale webhooks notify your backend when projects or translated phrases change. Create and manage subscriptions from the Multilocale dashboard. A subscription has an HTTPS endpoint, a signing secret, and the event types it receives.

Events#

Event Meaning
phrase.created A phrase was created for one language.
phrase.updated An existing phrase value or its metadata changed.
phrase.deleted A phrase was deleted; one event is sent for each language.
project.created A translation project was created.
project.updated A translation project was edited.

Verify the signature#

Each request includes a signature computed from the raw request body and the subscription secret. Verify it before parsing or acting on the JSON. Compare signatures in constant time, reject stale or invalid requests, and keep the secret outside source control.

Do not reserialize the parsed JSON before verification: insignificant JSON formatting changes produce different bytes and therefore a different signature.

Delivery behavior#

Multilocale makes one best-effort delivery attempt with a five-second timeout and no retry. Return a successful 2xx response quickly, then perform slow work asynchronously. After 20 consecutive failed deliveries, Multilocale disables the endpoint; a successful delivery resets the failure counter.

Design consumers to tolerate duplicate and out-of-order events. Use the event type and resource identifier to fetch current state from the Multilocale REST API when exact ordering matters.