Creating a Webhook
Open project settings
Navigate to your project, click Settings, then select the Webhooks tab. Alternatively, create organization-level webhooks under Organization Settings → Webhooks.
Add a new endpoint
Click Add Webhook and enter the URL of your server endpoint. It must be publicly accessible and accept
POST requests.Select events
Choose which events should trigger this webhook. You can subscribe to individual events or all events.
Save and copy the secret
Click Save. Entri auto-generates a signing secret and shows it once — copy it immediately and store it securely. You will need it to verify webhook signatures.
Supported Events
| Event | When it fires |
|---|---|
key.created | A new translation key was created in the project |
key.deleted | A translation key was deleted from the project |
translation.completed | A single translation was saved (human or AI) |
language.completed | All translations for a language reached completed status |
import.completed | An import job finished processing |
export.completed | An export job finished and the file is ready |
Webhook Payload
Every event is delivered as a JSON object with a consistent envelope:Request Headers
Each webhook delivery includes these headers:| Header | Description |
|---|---|
Content-Type | application/json |
X-Webhook-Signature | HMAC-SHA256 hex signature of the request body |
X-Webhook-Event | The event type (e.g. translation.completed) |
Security — Verifying Signatures
Entri signs every webhook request so you can confirm the payload came from Entri and was not tampered with. The signature is in theX-Webhook-Signature header as a plain hex string.
Retrieve your signing secret
Find the signing secret shown when you created the webhook. Keep it private — it cannot be retrieved after creation.
Compute the expected signature
Compute an HMAC-SHA256 digest of the raw request body using your signing secret as the key.
- Node.js
- Python
Delivery and Failures
If your endpoint returns a non-2xx status code or does not respond within 10 seconds, the delivery is marked as failed. Entri does not automatically retry failed webhook deliveries. Monitor thefailureCount field on the webhook object and investigate delivery failures promptly.
For full API reference including creating, updating, and deleting webhooks programmatically, see Webhooks API Reference.