Update Solution
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.
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:
|
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:
|
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
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.
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.
Let's say you have previously registered an app with two solution URLs:
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:
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.
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.
- 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:
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