A key feature of <<IdaptiveProduct>> is the ability to provide users with single sign-on (SSO) access to browser-based apps, native mobile apps, and custom apps. <<IdaptiveProduct>> maintains a catalog of application templates that facilitate the process of enabling SSO. The catalog contains two broad types of application templates:
Templates for specific applications. This includes a large, and constantly expanding, list of commonly-used applications, such as Box, Ebay, Amazon, DocuSign, etc. Importing one of these templates to <<IdaptiveProduct>> creates an instance of the application that you can deploy to users for SSO without further configuration. The current topic shows how to use the API to deploy one of these common applications to a set of users.
Custom templates for different kinds of applications (for which there is no application-specific template), including User-password applications, SAML applications, and Bookmark applications, among others. Deploying a custom-application is not discussed in the current topic.
The process to deploy an application involves the following:
**Create the application**: The first step to deploying an application to users is to import the application from the <<IdaptiveProduct>> App Catalog:
Call [SaasManage/GetTemplatesAndCategories](🔗) to get a list of applications in the <<IdaptiveProduct>> App Catalog.
Call [SaasManage/ImportAppFromTemplate](🔗) to retrieve the template and create an application instance that can be deployed to users.
**Assign the application to a set of users**: You deploy applications to users by assigning them to a role:
Call `
/Redrock/query
` to find available applications.Call `
/Redrock/query
` to find available roles.Call `
/SaasManage/PublishApplication
` to add an application to a role.
**Update the application**: You can modify the following attributes of an application that you have created: name, description, icon, and handler. To update an application:
Call `
/Redrock/Query
` to return a list of applications.Call [/SaasManage/GetApplication](🔗) to return information for the application to update.
Call [/SaasManage/UpdateApplicationDE](🔗) to update the application.
Call `
/SaasManage/GetApplication
` to return the updated application.
**Retrieve the application for a user**: Call [/UPRest/GetUPData](🔗) to retrieve a user's application-specific data.
**Delete the application**: Call [/SaasManage/DeleteApplication](🔗) if you want to delete an application that you have created.
**Provide application information for users**: Call one of the `UPRest
` functions to get information about and manage the applications that are deployed to users; for example:
[/UPRest/GetAppByKey](🔗)
[/UPRest/GetUPData](🔗)
[/UPRest/SetUserCredsForApp](🔗)
This information is not in the current topic — See [Manage Applications for Users](🔗).
# Create an application
This section shows how to import an application template to create an application instance for the Ebay web application.
Call `/SaasManage/GetTemplatesAndCategories
` to get a list of applications in the <<IdaptiveProduct>> App Catalog. The call does not require parameters or a payload.
The call returns a list with information for all apps in the catalog. Retain the ID for eBay to pass to `/SaasManage/ImportAppFromTemplate
` to create the app.
The following snippet shows truncated information for the Ebay application:
**`/GetTemplatesAndCategories
` sample response:**
Call `/SaasManage/ImportAppFromTemplate
` and pass the app-template ID (`Ebay
`) to create the app:
The call returns `ID
` (the ID of the template) and `_RowKey
`, which uniquely identifies the application instance that the call creates. Retain `_RowKey
` to pass to subsequent calls to modify or delete the application.
**`/SaasManage/ImportAppFromTemplate
` sample response:**
If you don't retain the ID of apps that you create, you can query the Application table to return a list of all applications that you have created.
# Assign an application to a set of users
To add applications to a role, make the following calls:
Call `/Redrock/query
` on the [Role Table](🔗) to get a list of roles.
Use `/SaasManage/UpdateApplicationDE
` to assign roles for access to applications.
Call `/Redrock/query
` on the Role table with a query similar to the following to get a list of available roles:
The query returns a list of all roles. The following snippet shows the columns returned for a sample role called 'Report writer'.
**`/SaasManage/ImportAppFromTemplate
` sample response:**
Call [/SaasManage/UpdateApplicationDE](🔗) and do the following: In AppRoles:
Pass the following to `
Publish
` to identify the role and application: `Name
`, `ID
`, `RoleType
`, `Automatic
`, `Application
`, and `Role
`.Pass a blank array for `
UnPublish
`.Pass `
IconURI
`, and `_RowKey
` to identify the application.
On success, the call returns the state of the application.
# Update an application
After creating an application, you can update it at any time by changing any of the following attributes:
Name
Description
Icon
Handler
The sample calls in the current topic show how to update the name and description for the Ebay web application.
Call `/Redrock/query
` on the Application table with a query similar to the following to get a list of available applications. Save the ID for the Ebay application to pass to the calls to return and update the application.
The call returns the name and ID for each application in the Application table.
**Truncated Application table response:**
Call `/SaasManage/GetApplication
` to return information for the Ebay web application. In `_Rowkey
`, pass the ID from the query to specify the Ebay application:
The call returns detailed information for the Ebay web application.
**`/GetApplication
` response for Ebay:**
Call `/SaasManage/UpdateApplicationDE
` to update the name, description, and icon for the Ebay web application. In `_Rowkey
`, pass the ID from the query to specify the Ebay application:
You can call /SaasManage/GetApplication again if you want to return information for the updated Ebay web application.
The following is another example showing how to update a field for a SAML application. In this example, a script was manually copied from the **SAML Response** tab for a SAML app in the Admin Portal and then embedded into the payload of the `/SaasManage/UpdateApplicationDE
` endpoint to perform the update programmatically:
The `success
` field in the response indicates if the update was successful.
# Delete an application
To delete one or more applications that you have created, call `/RedRock/Query
` to retrieve the IDs for the applications, and [/SaasManage/DeleteApplication](🔗) to delete them.
For example, to delete two applications, EchoSign and Egnyte, call `/RedRock/Query
` on the Application table to retrieve the ID for the applications to delete. Specify the names of the applications in a Where clause:
The call returns the name and ID for each of the specified applications. Retain the IDs to pass to the call to delete the applications.
**Application table sample query response:**
Call `/SaasManage/DeleteApplication
` and pass the IDs for EchoSign and Egnyte as `_Rowkeys
` in the payload:
The call returns the `_RowKey
` for each deleted application.
**/SaasManage/DeleteApplication sample response:**
# See Also
[Manage Applications for Users](🔗)