App and Solution
Apps
Registering Your App
5min
overview the registerapp api allows developers to register apps with the os1 platform this api supports three app types, including web, mobile, or backend endpoint post /developer/apps query parameters parameter description organizationid the unique id of the organization teamid the unique id of the team register app attributes parameter description displayname the name that will be displayed to the users in the console and marketplace type the type of application the acceptable values are web backend mobile listingid the unique human readable identifier of the application version the semver version of the application isconsolecompatible specifies if the application is console compatible the acceptable boolean values are true false this should be set to true if an app has to be displayed in the console visibility specifies if the app 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 application in the marketplace acceptable values allow deny visibility orgidentifiers only applicable when isprivate is false provides a list of organization short names where a given permission is applied url a dictionary of various supported urls for the application url relativepath the relative path of a web application that will be appended after the base tenant url url stackid use for urls that should be the same across all stacks specify the stackid for stack specific urls url server the backend server url will serve as baseurl for app webhooks to receive notifications url interface specifies the url of the main page of the app if there is no homepage, leave this value empty if the homepage is the same as the relative path, use "/" url admin the url to the admin interface, if it exists url setting the url for app settings page, if it exists url userguide the url for the documentation home page, if it exists url gitinfo the url for the git repository, if it exists shortdescription a short description of the application for display on the marketplace longdescription an extended description of the application for display on the marketplace categories the categories that the application belongs to this is a free form, tag like set of strings some example categories include dispatch and routing menu controls how a sub menu of an app is displayed on the console only applicable to console compatible applications menu displayname the name of the sub menu item within the app menu displayorder controls the listing sequence of the sub menu within an app assigning a numerical value like 1, 2, 3, etc , will arrange the sub menu in that specific order within the left navigation of the console if this parameter is left blank or set to '0', the sub menu will not be displayed in the menu menu relativepath the relative path of the sub menu item packagename the package name for mobile or web apps mobile apps specify the packagename in the format common to the platform (e g , com example appname) if the packagename is left undefined, the api will use the listingid to generate the url for example com getos1 mobile vans trackers\ //auth apps getos1 com/auth/realms/dpdevsb1/android/com getos1 mobile vans trackers/callback com getos1 mobile vans trackers\ //auth apps getos1 com/auth/realms/dpdevsb1/ios/com getos1 mobile vans trackers/callback web apps use the packagename to define a custom redirect urls (e g , com example test) for mobile apps if the packagename is left undefined, then the api will not generate a redirect url this should be used only if your web and mobile app use the same keys required attributes required attributes ( ) indicates that the attribute is required example request the following request registers an app for tracking vehicles web app { 	"displayname" "truck tracker", 	"type" "web", 	"listingid" "truck trackers", 	"version" "1 0 2", 	"isconsolecompatible" true, 	"isprivate" true, 	"url" { 	 "relativepath" "truck trackers", 	 "stackid" " ", 	 "server" "your kubernetes cluster svc cluster local", 	 "interface" "/", 	 "admin" "admin", 	 "setting" "settings", 	 "userguide" "docs", 	 "gitinfo" "https //github com/your org/your repo" 	}, 	"shortdescription" "a truck tracker that allows you to track your trucks ", 	"longdescription" "dig deep into the details of your truck maintenance schedules as well as locations receive notifications when a vehicle hits a maintenance milestone ", 	"categories" \[ 	 "vehicle", 	 "tracking" 	], 	"menu" \[{ 	 "displayname" "inventory", 	 "displayorder" 4, 	 "relativepath" "inventory" 	}], "packagename" "com example vehicletracker" } mobile app { 	"displayname" "vans tracker", 	"type" "mobile", 	"listingid" "mbbile vans trackers", 	"version" "1 0 2", 	"isconsolecompatible" false, 	"isprivate" true, 	"url" { 	 "relativepath" "/vantrackers", 	 "stackid" " ", 	 "server" "your kubernetes cluster svc cluster local", 	 "interface" "/", 	 "admin" "admin", 	 "setting" "settings", 	 "userguide" "docs", 	 "gitinfo" "https //github com/your org/your repo" 	}, 	"shortdescription" "a truck tracker that allows you to track your trucks ", 	"longdescription" "dig deep into the details of your truck maintenance schedules as well as locations receive notifications when a vehicle hits a maintenance milestone ", 	"categories" \[ 	 "vehicle", 	 "tracking" 	], 	"menu" \[{ 	 "displayname" "inventory", 	 "displayorder" 4, 	 "relativepath" "inventory" 	}], "packagename" "com example vantracker" } example response web { "data" { "id" { "appid" "app 6f2cef3c 2df1 5d67 ad92 f89ca7f4a226", "appversionid" "appversion 6e6f5c0f 8a92 550c bb4f 5102e2e7e2fc" } }, "request" { "url" "/developer/apps?organizationid=af86b55e 45c9 41ee 95f7 d335d366022f\&teamid=87dd5441 e8c4 4171 ba24 79f47992ba9b", "method" "post", "params" {}, "query" { "organizationid" "af86b55e 45c9 41ee 95f7 d335d366022f", "teamid" "87dd5441 e8c4 4171 ba24 79f47992ba9b" }, "body" { "displayname" "van tracker", "type" "web", "listingid" "web van trackers", "version" "1 0 2", "isconsolecompatible" true, "url" { "relativepath" "/vantrackers", "stackid" " ", "server" "your kubernetes cluster svc cluster local", "interface" "/", "admin" "admin", "setting" "settings", "userguide" "docs", "gitinfo" "https //github com/your org/your repo" }, "shortdescription" "a truck tracker that allows you to track your trucks ", "longdescription" "dig deep into the details of your truck maintenance schedules as well as locations receive notifications when a vehicle hits a maintenance milestone ", "categories" \[ "vehicle", "tracking" ], "menu" \[ { "displayname" "inventory", "displayorder" 4, "relativepath" "inventory" } ], "packagename" "com example vantracker" } } } mobile { "data" { "id" { "appid" "app\ c2a99e35 afc2 5407 8efb c5f189600f13", "appversionid" "appversion 04348faf f185 52a3 a68a 8002f7307bd5" } }, "request" { "url" "/developer/apps?organizationid=af86b55e 45c9 41ee 95f7 d335d366022f\&teamid=87dd5441 e8c4 4171 ba24 79f47992ba9b", "method" "post", "params" {}, "query" { "organizationid" "af86b55e 45c9 41ee 95f7 d335d366022f", "teamid" "87dd5441 e8c4 4171 ba24 79f47992ba9b" }, "body" { "displayname" "vans tracker", "type" "mobile", "listingid" "mbbile vans trackers", "version" "1 0 2", "isconsolecompatible" false, "url" { "relativepath" "/vantrackers", "stackid" " ", "server" "your kubernetes cluster svc cluster local", "interface" "/", "admin" "admin", "setting" "settings", "userguide" "docs", "gitinfo" "https //github com/your org/your repo" }, "shortdescription" "a truck tracker that allows you to track your trucks ", "longdescription" "dig deep into the details of your truck maintenance schedules as well as locations receive notifications when a vehicle hits a maintenance milestone ", "categories" \[ "vehicle", "tracking" ], "menu" \[ { "displayname" "inventory", "displayorder" 4, "relativepath" "inventory" } ] } } } ❗ unauthorized error unauthorized error an unauthorized error occurs when using an incorrect orgid or teamid confirm you are using the correct orgid or teamid