Lifecycle
Communication between Trados and an app service involves several lifecycles. Some examples include: registration, installation, publishing, and more.
The very basic flow of when an app is first registered by a developer and installed (optional, but recommended, step for developers) looks like this:

A summary of all standard endpoints and their role in the lifecycle of an app:
GET /descriptoris the very first endpoint that will be invoked when the app owner tries to register it in Trados.POST /app-lifecyclewill be the next in order, with an identifier ofREGISTERED.POST /app-lifecyclewill be again invoked with idINSTALLED.GET /configurationwill be invoked to get the list of configuration settings (including default values, current values) that need to be provided by the administrator who installed the app on their tenantId.POST /configurationwill set the configuration values for the tenantId. Note: not all the settings can be sent in a single request. There may be multiple requests that are setting different configuration values. The app should keep these settings safe.- Also note that this endpoint can be called any time after uninstall if the administrator decides to change any of the settings.
Lifecyle Events
The lifecycle events are handled by the lifecycle endpoint.
Registered Event
The lifecycle for registering the app in Trados:
POST /app-lifecyclewith idREGISTEREDwill notify the app service that it has been registered. From that moment on, administrators can install the app on their accounts, share it or publish. The payload will contain theclientIdandclientSecretwhich can be used for authenticating with RWS Language Cloud API. That data should be stored securely in the app database.
Installed Event
The lifecycle for installing of the app in an account:
POST /app-lifecyclewith idINSTALLEDis sent when the app is installed on an account. Only tenant identifier should be stored securely in the app database for keeping track of installed accounts.
Uninstalled Event
The lifecycle for uninstalling of the app from an account:
POST /app-lifecyclewill notify the app service, by providing the idUNINSTALLED. The app should delete any account-related data.
Unregistered Event
The lifecycle for unregistering an app from Trados:
POST /app-lifecyclewill be invoked with idUNREGISTERED. If there are accounts that haven't been previously uninstalled, they should be considered so, and all the related data be deleted.
Updated Event
A special lifecycle event has been introduced to help with the upgrade from 1.3 to 1.4 descriptor versions (from add-ons to apps). Also it will be used in the future for refreshing clientId and clientSecret:
POST /app-lifecyclewill provide credentials update when has the idUPDATED. The payload is similar toREGISTEREDevent.
Other Endpoints
There are also endpoints that can be called at any point in time:
GET /descriptor- can be called before registration, during registration, after registration, on scheduled intervals, and so on.GET /health- will be called during and after registration. It is scheduled to be checked periodically.GET /documentation- can be called at any time.
Additionally, there are also the Extension endpoints which are invoked in the business lifecycle.