Webhook
Webhooks allow you to receive real-time notifications from Locize when important events occur in your project. This enables automation, integration, and monitoring for your localization workflow.
How to Enable Webhooks
- Go to your Locize project Settings.
- Select the API, CDN, NOTIFICATIONS tab.
- Configure your webhook endpoint URL (must be HTTPS for security).
- Save your changes.
Best Practices
- Use HTTPS for your webhook endpoint.
- Validate incoming requests (e.g., with a secret or signature).
- Respond quickly (within 5 seconds) with a 2xx status code.
- Log received events for troubleshooting.
- If your endpoint fails several times in a row (non-2xx status), Locize will automatically disable the webhook.
Event Types
| Event Name | Description |
|---|---|
| languageAdded | A language was added to the project |
| languageDeleted | A language was removed from the project |
| versionAdded | A new version was created |
| versionDeleted | A version was deleted |
| referenceLanguageChanged | The reference language was changed |
| orderCreated | A translation order was created |
| orderCompleted | A translation order was completed |
| invitationAccepted | A user accepted an invitation to join the project |
| versionPublished | A version was published |
| versionOverwrote | A version was overwritten |
| languageOverwrote | A language was overwritten |
| namespaceAdded | A namespace was added |
| namespaceDeleted | A namespace was deleted |
| namespaceUpdated | A namespace was updated |
| namespaceCompleted | A namespace translation was completed |
| namespaceNotCompletedAnymore | New segments in a namespace need translation |
Get directly notified on a webhook url if something noticeable happens.
To enable this service go to settings, select the services tab and configure your endpoint. Make sure you have a secure https endpoint.
The following messages will be sent as json payload with a POST request.
All messages will have the following structure:
{
"id":"830fbcbb-90b7-4f0f-86bb-c82b55aab385", // the message id
"name":"dummyTestEvent", // the message name
"occurredAt":"2018-01-02T20:05:59.008Z", // the moment when this message occurred in ISO 8601 format
"message":"William Timberland just added a webhook to THIS PROJECT!", // a descriptive text of this message
"payload":{ // a variable payload
"messageTypes":[
"languageAdded",
"languageDeleted",
"versionAdded",
"versionDeleted",
"referenceLanguageChanged",
"orderCreated",
"orderCompleted",
"invitationAccepted",
"versionPublished",
"versionOverwrote",
"languageOverwrote",
"namespaceAdded",
"namespaceDeleted",
"namespaceCompleted",
"namespaceNotCompletedAnymore"
]
},
"meta":{ // a meta object containing...
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6", // the project id
"name":"THIS PROJECT", // the project name
"slug":"albo6dxk" // the project slug
},
"user":{ // if message issued by a user
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a", // the user id
"firstname":"William", // the user firstname
"lastname":"Timberland" // the user lastname
},
"link":"https://www.locize.app/p/albo6dxk/v/latest" // a link pointing to the locize client
}
}Warning: If the request to your endpoint fails several times in a row (status code not equal to 2xx), the webhook service is disabled automatically.
Example Events
languageAdded
Triggered when a new language is added to the project.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"languageAdded",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland added language de!",
"payload":{
"language":"de"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}languageDeleted
Triggered when a language is removed.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"languageDeleted",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland removed language de!",
"payload":{
"language":"de"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}versionAdded
Triggered when a new version is created.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"versionAdded",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland added version prod!",
"payload":{
"version":"prod"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}versionDeleted
Triggered when a version is deleted.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"versionDeleted",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland removed version prod!",
"payload":{
"version":"prod"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}referenceLanguageChanged
Triggered when the reference language changes.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"referenceLanguageChanged",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland changed reference language from en to de!",
"payload":{
"from":"en",
"to":"de"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}orderCreated
Triggered when a translation order is created.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"orderCreated",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland created a translation order with gengo!",
"payload":{
"service":"gengo",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}orderCompleted
Triggered when a translation order is completed.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"orderCompleted",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"gengo order completed!",
"payload":{
"service":"gengo",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"link":"https://www.locize.app/p/albo6dxk/orders"
}
}invitationAccepted
Triggered when a user accepts an invitation.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"invitationAccepted",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland accepted the invitation and is now part of your project!",
"payload":{},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}versionPublished
Triggered when a version is published.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"versionPublished",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland published version prod!",
"payload":{
"version":"prod"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/prod"
}
}The versionPublished event will not be triggered when auto publish is enabled. For reacting to new translations, consider namespaceNotCompletedAnymore and namespaceCompleted.
versionOverwrote
Triggered when a version is overwritten.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"versionOverwrote",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland overwrote version prod with test!",
"payload":{
"from":"test",
"to":"prod"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/prod"
}
}languageOverwrote
Triggered when a language is overwritten.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"languageOverwrote",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland overwrote language en version in version prod with test!",
"payload":{
"from":"test",
"to":"prod",
"language":"en"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/prod"
}
}namespaceAdded
Triggered when a namespace is added.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"namespaceAdded",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland added namespace landingpage in version latest!",
"payload":{
"namespace":"landingpage",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}namespaceDeleted
Triggered when a namespace is deleted.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"namespaceDeleted",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland removed namespace landingpage in version latest!",
"payload":{
"namespace":"landingpage",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest"
}
}namespaceUpdated
Triggered when a namespace is updated.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"namespaceUpdated",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"William Timberland updated namespace for language en landingpage in version latest!",
"payload":{
"namespace":"landingpage",
"language":"en",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"user":{
"id":"ab075147-c7a3-45d2-9b24-739ae2ed948a",
"firstname":"William",
"lastname":"Timberland"
},
"link":"https://www.locize.app/cat/albo6dxk/v/latest/en/landingpage"
}
}namespaceCompleted
Triggered when a namespace translation is completed.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"namespaceCompleted",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"Translation of namespace landingpage in language en for version latest completed!",
"payload":{
"namespace":"landingpage",
"language":"en",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest/en/landingpage"
}
}namespaceNotCompletedAnymore
Triggered when new segments in a namespace need translation.
{
"id":"427cc4dd-adf5-4fb8-ad8d-8508f2788fe3",
"name":"namespaceNotCompletedAnymore",
"occurredAt":"2018-01-02T21:27:11.326Z",
"message":"New segments of namespace landingpage ready to be translated in language en for version latest!",
"payload":{
"namespace":"landingpage",
"language":"en",
"version":"latest"
},
"meta":{
"project":{
"id":"23dad587-b3bf-4663-b15c-ad8d66213ac6",
"name":"THIS PROJECT",
"slug":"albo6dxk"
},
"link":"https://www.locize.app/p/albo6dxk/v/latest/en/landingpage"
}
}