Application Install API

The Application Install API allows clients to install applications into one or more workspaces, cancel pending installations, as well as get the status of any specified application installations. Additionally, this API allows support for conflict resolution for any failed application installations.

You can also interact with the Application Install API through the REST API. See Application Install service.

This page contains the following information:

Guidelines for the Application Install API

Review the following guidelines for working with the Application Install API.

Admin-level context

The value for the workspaceID parameter in the path should always be -1. Any other value will return an error.

Permissions

For all endpoints in the IApplicationInstall API, users are required to be system administrators in order to have sufficient permissions.

Sample use cases

The Application Install API can be used by R1 Operations or ISVs to manage third-party applications in their Relativity instances. For example, a provisioning pipeline may update a new environment with supported third-party applications. Note that this API can be used in conjunction with the Library Application API.

Endpoints

The Application Install API includes the following endpoints. To set up a proxy to interact with the IApplicationInstall API, call the CreateProxy() method on the object returned by the GetServiceManager() method. (For more information, check out Best Practices for the Services API.)

InstallApplicationAsync

The following code samples illustrate how to install an application from the library into one or more workspaces using the InstallApplicationAsync() method of the IApplicationInstallManager interface. The response reports the installation status for each workspace, and a failure to queue an installation request for one workspace will not prevent the others from being queued.

InstallApplicationAllAsync

The following code samples illustrate how to install an application into all workspaces or upgrade all workspaces where the application is already installed using the InstallApplicationAllAsync() method of the IApplicationInstallManager interface.

GetInstallStatusAsync

The following code samples illustrate how to query for the status of a particular application installation request using the GetInstallStatusAsync() method of the IApplicationInstallManager interface. After invoking InstallApplicationAsync, clients are required to poll until the installation status reaches a terminal state (completed or failed) before the application can be consumed in the target workspace. 

GetAllInstallStatusAsync

The following code samples illustrate how to retrieve a given application's installation status for all workspaces where it is installed using the GetAllInstallStatusAsync() method of the IApplicationInstallManager interface.

CancelApplicationInstallAsync

The following code samples illustrate how to cancel one or more pending application installations using the CancelApplicationInstallAsync() method of the IApplicationInstallManager interface. If an installation is already in progress or complete, its corresponding result object will indicate an unsuccessful cancellation with a message explaining why.

GetApplicationInstallDetailsAsync

The following code samples illustrate how to retrieve the installation details for a specified application and application installation ID using the GetApplicationInstallDetailsAsync() method of the IApplicationInstallManager interface.

Workflow-Based code samples

The following code samples provide example scenarios on how the Application Install API and Library Application API endpoints can be used together.