App and Solution
Solutions

Update Solution

10min

Overview

Developers can use the UpdateSolution API to modify their registered solutions with a single call. With this API, developers can easily add new attributes, update existing ones, or remove certain specifications with a single call. Additionally, there are two endpoints available to add or remove apps within a solution: DeleteAppsListing and AddAppsListing. These endpoints allow developers to update existing applications in a solution version or remove redundant apps.

Update Soln

Endpoint: PATCH developer/solutions/versions/{solutionVersionId}

Attributes: The UpdateSolution API utilizes the same attributes as the RegisterSolution endpoint.

Parameter

Description

displayName

The name of the solution that will be displayed within the Marketplace and Console.

shortDescription

A short description of the solution for display on the Marketplace.

isConsoleCompatible

Specifies if the solution is Console compatible. The acceptable boolean values are:

  • true
  • false

longDescription

A long description of the solution for display on the Marketplace.

visibility

Specifies if the solution is visible to all organizations or a few organizations in the Marketplace.

visibility.isPrivate

Specifies if the application is visible publicly or for subscription.This value should be false if the app is visible in the Marketplace.

visibility.permissionType

This is only applicable when isPrivate is false.

Determines whether the selected orgs are permitted from viewing the solution in the Marketplace.

Acceptable values:

  • ALLOW
  • DENY



visibility.orgIdentifiers

visibility.orgIdentifiers

Only applicable when isPrivate is false.

Provides a list of organization short names where a given permission is applied.

categories

The categories that the solution belongs to. This is a free-form, tag-like set of strings. Some example categories include LastMile and Transport Management.

solnUrls

A list of urls associated with the solution.

solnUrls.name*

Name of the url entry.

solnUrls.url*

Url of the entry.

api

Information regarding associated API endpoints if solution of type API.

api.apiBaseUrl*

The base URL of the API.

api.apiDetails*

List of urls associated with the api solution.

productFamily

A product family is displayed on the Marketplace to List of URLs associated with the API solution.

systemAppSettings

A list of system app settings objects specifying the core appUrn, the settings displayName, and the settingsUrl.

systemAppSettings.appUrn

The app Urn of the system (core) application.

Example: platform:app:mts

systemAppSettings.displayName

The display name to be shown for this setting.

Example: MTS Settings

systemAppSettings.settingsUrl

The relative url for this system app setting.

Example: /app/mts/settings

Example Request

The following example request updates the displayName, shortDescription , supportedCountries

JSON


This payload does the following:

  • Update the displayName to "Last Mile Delivery v2"
  • Update the shortDescription
  • Add "UK" to the supportedCountries list

All other existing attributes would remain unchanged.



Updating Array Values

When updating a solution, it's important to note that you need to pass all existing array attributes along with any new values you want to add or modify. This applies to all attributes that are stored as arrays, such as solution URLs, categories, or any other relevant array fields.

Example: Adding a New Solution URL

Let's say you have previously registered an app with two solution URLs:

JSON


Now, if you want to add a third solution URL to your app, you need to include the existing solution URLs in the update request along with the new URL.

Here's an example of how you would update your app using the API:

JSON


In the above example, we include the existing solution URLs (https://example.com/solution1 and https://example.com/solution2) along with the new URL (https://example.com/solution3) in the solnUrls array.

The same principle applies to all array attributes when updating a solution. If you want to add, remove, or modify any values in an array attribute, you need to provide the complete updated array in the API request.



Add or Update Apps within a Solution

Endpoint: PUT /developer/solutions/versions/{solutionVersionId}/apps

To add or update apps in a solution, call AddAppsListing and provide the following information the applications array:

  • listingId*: The unique human-readable identifier of the application.
  • semver*: The semver version of the application.
  • displayOrder: Assigning a numerical value to the display order controls its listing sequence within a solution's left navigation. Set to '0' or leave blank to hide the app from the console's menu.
  • initSequence: The sequence in which the permission file for a given app should be onboarded to a tenant.

(*) indicates that listingId and semver are required.

Example Request

The following request adds version 1.0.2 of the truck-trackers app to the solution:

JSON



Remove Application from Solution

Endpoint: DELETE /developer/solutions/versions/{solutionVersionId}/apps

To remove an app from a soln, call DeleteAppsListing and provide the listingId of the app to delete in the applications array.

The following request would delete the "last-mile-delivery".

Example Request

JSON