App Store Management
Get a list of all available apps
This call gets a list of all available apps.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
/api/v2/appstore/apps
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
Response fields
Field |
Description |
totalCount |
|
resultCount |
|
hasMore |
|
results |
|
name |
|
id |
|
version |
|
description |
|
installName |
|
platformId |
|
platforms |
|
createdAt |
|
installerFileName |
|
source |
|
pushedCount |
|
installedCount |
|
pendingCount |
|
installState |
|
rowType |
|
bundleID |
|
appSortOrder |
|
platformType |
|
pushLabels |
|
publishLabels |
|
vppLabels |
|
tokensPurchased |
|
tokensRemaining |
|
vppLicensesPurchased |
|
vppLicensesUsed |
|
size |
|
author |
|
webAppUri |
|
format |
|
appIconUrl |
|
permissionUpdateAvailable |
|
afw |
|
appBgColor |
|
hidden |
|
profileExpirationDate |
|
categories |
|
recommendedApp |
|
Sample request and responses
Request
curl -X GET -H "Authorization: Basic <token>" "https://[Ivanti EPMM]/api/v2/
appstore/apps?adminDeviceSpaceId=1"
Response
{
"totalCount": 15,
"resultCount": 15,
"hasMore": false,
"results": [
{
"name": "Accellion",
"id": 108,
"version": null,
"description": null,
"installName": null,
"platformId": null,
"platforms": null,
"createdAt": 1478044321000,
"installerFileName": null,
"source": "Public",
"pushedCount": 0,
"installedCount": 0,
"pendingCount": 0,
"installState": "",
"rowType": null,
"bundleID": "com.accellion.AccellioniPhone",
"appSortOrder": null,
"platformType": "I",
"pushLabels": null,
"publishLabels": [ ],
"vppLabels": [ ],
"tokensPurchased": 0,
"tokensRemaining": 0,
"vppLicensesPurchased": 0,
"vppLicensesUsed": 0,
"size": 53989376,
"author": "Accellion, Inc.",
"webAppUri": null,
"format": null,
"appIconUrl": "/mifs/admin/rest/api/v2/appstore/apps/108/images/4f393e17-4b8b-445d-b6a0-fbb17cac087b",
"permissionUpdateAvailable": false,
"afw": false,
"appBgColor": null,
"hidden": false,
"profileExpirationDate": null,
"categories": [ ],
"recommendedApp": true
},
{
"name": "Acronis Access",
"id": 115,
"version": null,
"description": null,
"installName": null,
"platformId": null,
"platforms": null,
"createdAt": 1478044338000,
"installerFileName": null,
"source": "Public",
"pushedCount": 0,
"installedCount": 0,
"pendingCount": 0,
"installState": "",
"rowType": null,
"bundleID": "com.grouplogic.mobilecho",
"appSortOrder": null,
"platformType": "I",
"pushLabels": null,
"publishLabels": [ ],
"vppLabels": [ ],
"tokensPurchased": 0,
"tokensRemaining": 0,
"vppLicensesPurchased": 0,
"vppLicensesUsed": 0,
"size": 138735616,
"author": "Group Logic, Inc.",
"webAppUri": null,
"format": null,
"appIconUrl": "/mifs/admin/rest/api/v2/appstore/apps/115/images/2e71acf0-2f36-4553-8e9c-4640e88a5191",
"permissionUpdateAvailable": false,
"afw": false,
"appBgColor": null,
"hidden": false,
"profileExpirationDate": null,
"categories": [ ],
"recommendedApp": true
},
...
]
}
Get app data by id
This call gets app data by app id.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
/api/v2/appstore/apps/{id}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Query Data Type: Number The app’s ID. You can find it by issuing GET /api/v2/appstore/apps. |
2 |
iOS Response fields
Field |
Description |
results |
|
id |
|
name |
|
platformType |
|
platformCode |
|
version |
|
altVersion |
|
displayVersion |
|
appId |
|
creatorType |
|
catalogType |
|
publicAppStoreType |
|
publicStoreId |
|
developerName |
|
description |
|
cost |
|
currency |
|
averageRating |
|
ratingCount |
|
installSize |
|
createdAt |
|
modifiedAt |
|
vpnIds |
|
iconFile |
|
fileName |
|
uuid |
|
url |
|
} |
|
installer |
|
phoneScreenshots |
|
fileName |
|
uuid |
|
url |
|
tabletScreenshots |
|
fileName |
|
uuid |
|
url |
|
categories |
|
featuredApp |
|
featuredBanner |
|
bannerDescription |
|
bannerStyle |
|
hiddenInAppstore |
|
perAppVpnByLabelOnly |
|
dataProtectionRequired |
|
overrideURL |
|
quarantinable |
|
pushedOnRegistration |
|
backupPrevented |
|
cdnServiceEnabled |
|
cdnDisabled |
|
deviceSpaceId |
|
spaces |
|
id |
|
name |
|
parentId |
|
path |
|
newApp |
|
minimumOsVersion |
This call returns a cryptic value for minimumOsVersion. Please see the call Get minimumOsVersion Information to decode the minimumOsVersion value returned by this call. |
apnsCertificate |
|
ipadOnly |
|
noCostApp |
|
provisioningProfile |
|
messagingSupported |
|
allowUpdateFromUnmanagedToManaged |
|
enforceUpdateFromUnmanagedToManaged |
|
profileExpirationDate |
|
removeAppWhenMDMDisabled |
|
pushedOnQuarantine |
|
codeVersion |
|
autoUpdateEnabled |
|
manualUpdateEnabled |
|
appStoreDetailUrl |
|
vpnNames |
|
preferPlistAppConfig |
|
oneTouchAppConfigs |
|
updatedSpecAvailable |
|
messages |
|
type |
|
messageKey |
|
localizedMessage |
|
Android Response fields
Field |
Description |
results |
|
id |
|
name |
|
platformType |
|
platformCode |
|
version |
|
altVersion |
|
displayVersion |
|
appId |
|
creatorType |
|
catalogType |
|
publicAppStoreType |
|
publicStoreId |
|
developerName |
|
description |
|
updateNotes |
|
cost |
|
currency |
|
averageRating |
|
ratingCount |
|
installSize |
|
createdAt |
|
modifiedAt |
|
vpnIds |
|
iconFile |
|
fileName |
|
uuid |
|
url |
|
installer |
|
phoneScreenshots |
|
fileName |
|
uuid |
|
url |
|
tabletScreenshots |
|
categories |
|
featuredApp |
|
featuredBanner |
|
bannerDescription |
|
bannerStyle |
|
hiddenInAppstore |
|
perAppVpnByLabelOnly |
|
dataProtectionRequired |
|
overrideURL |
|
quarantinable |
|
pushedOnRegistration |
|
backupPrevented |
|
cdnServiceEnabled |
|
cdnDisabled |
|
deviceSpaceId |
|
spaces |
|
id |
|
name |
|
parentId |
|
path |
|
newApp |
|
minimumOsVersion |
|
androidWork |
|
androidWorkSilentInstall |
|
androidWorkBlockUninstall |
|
blockWidget |
|
autoUpdate |
|
permissionUpdateAvailable |
|
enterpriseConfigs |
|
name |
|
restrictions |
|
title |
|
key |
|
value |
|
type |
|
values |
|
displayValue |
|
permissions |
|
id |
|
name |
|
description |
|
value |
|
displayValue |
|
permissionId |
|
labels |
|
id |
|
name |
|
name |
|
restrictions |
|
permissions |
|
id |
|
name |
|
description |
|
value |
|
displayValue |
|
permissionId |
|
labels |
|
id |
|
name |
|
name |
|
restrictions |
|
permissions |
|
id |
|
name |
|
description |
|
value |
|
displayValue |
|
permissionId |
|
labels |
|
versionRequired |
|
codeVersion |
|
mandatory |
|
mandatoryOverwrite |
|
secureApp |
|
enforceVersion |
|
vpnNames |
|
messages |
|
type |
|
messageKey |
|
localizedMessage |
|
Sample request and responses
iOS Request
curl -X GET \
'https://[Ivanti EPMM]/api/v2/appstore/apps/119?adminDeviceSpaceId=1' \
iOS Response
{
"results": {
"id": 119,
"name": "Words With Friends – Word Game",
"platformType": "IPhone",
"platformCode": "I",
"version": null,
"altVersion": "",
"displayVersion": null,
"appId": "com.newtoyinc.NewWordsWithFriendsFree",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": "ITUNES",
"publicStoreId": "804379658",
"developerName": "Zynga Inc.",
"description": "The World’s Most Popular Mobile Word Game now has even more ways to play! Try new rewards and boosts to help you play smarter and faster!\n\nWords With Friends is the fun, free word game that lets you connect with friends and family while expanding your vocabulary and sharpening your wit. Test your brain power and spell your way to victory. \n\nMay the Best Friend Win.™ \n\nGame Features: \n\n•\tWEEKLY CHALLENGE: Play the weekly challenge and earn fun, themed badges\n•\tSOLO PLAY: Play offline and sharpen your skills with solo play\n•\tHINDSIGHT: Uncover the best word you could have played after each turn \n•\tWORD RADAR: Heat map reveals all possible moves before you take a turn\n•\tPROFILE FRAMES: Show off your unique style with custom profile frames \n•\tSMART MATCH: Connect with players of a similar skill with Smart Match\n•\t6 LANGUAGES: Choose to play in Spanish, French, German, Italian, Brazilian Portuguese and British English\n\n*Play Words With Friends without third party ads between moves if you previously purchased Words With Friends Pro on iOS or any other mobile device. Be sure to login with Facebook or the email account you used to make the previous purchase to continue to play without third party ads between moves.\n\nAlready an accomplished Wordie? Like us on Facebook or follow us on Twitter to stay up-to-date on game news, contests, polls and more.\n\nhttps://www.facebook.com/WordsWithFriends\nhttps://twitter.com/WordsWFriends \nhttps://instagram.com/wordswithfriends \n\nWe love hearing from you! Have a question or a suggestion? \nAsk questions here: http://zynga.tm/d01Tx \nShare suggestions here: http://zynga.tm/r02dY \n\nThank you for playing Words With Friends!\n\nAdditional Information:\nThe game is free to play; however, in-app purchases are available for additional content and in-game currency. In-app purchases range from $0.99 to $99.99 USD.",
"updateNotes": "Dear Wordies,\nWe’ve updated our latest version with bug fixes and improvements!\nMay The Best Friend Win\nWords With Friends",
"cost": 0,
"currency": "USD",
"averageRating": 4.5,
"ratingCount": 237475,
"installSize": 269412352,
"createdAt": 1558033456000,
"modifiedAt": 1558033473000,
"vpnIds": [],
"iconFile": {
"fileName": "logo.png",
"uuid": "fef256c0-55bb-4fab-8b73-6790db3cbdce",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=fef256c0-55bb-4fab-8b73-6790db3cbdce&ext=PNG"
},
"installer": null,
"phoneScreenshots": [
{
"fileName": "screen-shot-0.png",
"uuid": "485f75da-fd29-402e-b906-099ba3207a11",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=485f75da-fd29-402e-b906-099ba3207a11&ext=PNG"
},
{
"fileName": "screen-shot-1.png",
"uuid": "cbdfd6da-2e62-48fe-a5f1-5924767da24a",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=cbdfd6da-2e62-48fe-a5f1-5924767da24a&ext=PNG"
},
{
"fileName": "screen-shot-2.png",
"uuid": "041018d2-88a3-4d8b-9c2e-cd0d019d297e",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=041018d2-88a3-4d8b-9c2e-cd0d019d297e&ext=PNG"
},
{
"fileName": "screen-shot-3.png",
"uuid": "ac6cf248-e540-4288-838e-dac7e8b0e70c",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=ac6cf248-e540-4288-838e-dac7e8b0e70c&ext=PNG"
},
{
"fileName": "screen-shot-4.png",
"uuid": "bb07b4cf-456f-42fd-94a0-f6a5b419a2d1",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=bb07b4cf-456f-42fd-94a0-f6a5b419a2d1&ext=PNG"
},
{
"fileName": "screen-shot-5.png",
"uuid": "36609455-8a1b-4748-9b9f-bbaece68d559",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=36609455-8a1b-4748-9b9f-bbaece68d559&ext=PNG"
},
{
"fileName": "screen-shot-6.png",
"uuid": "adb326c4-e395-4ebe-bab1-eccb774285cf",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=adb326c4-e395-4ebe-bab1-eccb774285cf&ext=PNG"
}
],
"tabletScreenshots": [
{
"fileName": "screen-shot-0.png",
"uuid": "db7738cc-ae44-4f4d-8440-b96f18171bde",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=db7738cc-ae44-4f4d-8440-b96f18171bde&ext=PNG"
},
{
"fileName": "screen-shot-1.png",
"uuid": "3ffc7873-b420-443a-87c6-94e5bdc5463f",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=3ffc7873-b420-443a-87c6-94e5bdc5463f&ext=PNG"
},
{
"fileName": "screen-shot-2.png",
"uuid": "0fbd03e7-22a8-4dd3-b5db-d7be40ff2a83",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=0fbd03e7-22a8-4dd3-b5db-d7be40ff2a83&ext=PNG"
},
{
"fileName": "screen-shot-3.png",
"uuid": "3e04a2e1-17c9-4fca-971d-633aab95f5f3",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=3e04a2e1-17c9-4fca-971d-633aab95f5f3&ext=PNG"
},
{
"fileName": "screen-shot-4.png",
"uuid": "117ff378-0584-4cc6-82dc-76e69297cb00",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=117ff378-0584-4cc6-82dc-76e69297cb00&ext=PNG"
},
{
"fileName": "screen-shot-5.png",
"uuid": "89027db9-3fbc-4a21-837c-9e62b4cf621e",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=89027db9-3fbc-4a21-837c-9e62b4cf621e&ext=PNG"
},
{
"fileName": "screen-shot-6.png",
"uuid": "56de0099-6922-4002-bbe3-16d535fabd94",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=119&uuid=56de0099-6922-4002-bbe3-16d535fabd94&ext=PNG"
}
],
"categories": [],
"featuredApp": false,
"featuredBanner": false,
"bannerDescription": null,
"bannerStyle": null,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"deviceSpaceId": 1,
"spaces": [
{
"id": 1,
"name": "Global",
"parentId": 0,
"path": "/1/"
}
],
"newApp": true,
"minimumOsVersion": "11000000",
"apnsCertificate": null,
"ipadOnly": false,
"noCostApp": true,
"provisioningProfile": null,
"messagingSupported": false,
"allowUpdateFromUnmanagedToManaged": false,
"enforceUpdateFromUnmanagedToManaged": false,
"profileExpirationDate": null,
"removeAppWhenMDMDisabled": true,
"pushedOnQuarantine": false,
"codeVersion": "",
"autoUpdateEnabled": false,
"manualUpdateEnabled": false,
"appStoreDetailUrl": "https://app642.auto.mobileiron.com/mifs/asfV3x/appstore?appid=119",
"vpnNames": null,
"preferPlistAppConfig": false,
"oneTouchAppConfigs": [],
"updatedSpecAvailable": false
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.get.app.success",
"localizedMessage": "App successfully fetched."
}
]
}
Android request
curl -G -k -sS -u <userName>:<password>
'https://[Ivanti EPMM]/api/v2/appstore/apps/124' --data-urlencode 'adminDeviceSpaceId=1'
Android response
{
"results": {
"id": 124,
"name": "Maps - Navigation & Transit",
"platformType": "Android",
"platformCode": "A",
"version": null,
"altVersion": "",
"displayVersion": null,
"appId": "com.google.android.apps.maps",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": "GOOGLE_PLAY",
"publicStoreId": "com.google.android.apps.maps",
"developerName": "Google Inc.",
"description": "Going somewhere? Go with Maps, the official app you can rely on for real-time GPS navigation, traffic, transit, and details about millions of places, such as reviews and popular times.<br><br>Get there faster with real-time updates<br>Beat traffic with real-time navigation, ETAs and traffic conditions<br>Catch your bus, train, or ride-share with real-time transit info<br>Save time with automatic re-routing based on live traffic, road closures and traffic incidents<br>Navigation with lane guidance so you don't miss a turn or exit<br>Find pit stops along your route like gas stations and coffee spots<br><br>Discover places and explore like a local<br>Find top-rated restaurants and local businesses, wherever you are<br>Decide on the best places to go with reviews, ratings, and pictures of foods and interiors<br>Plan your visit and see menus, make reservations, and find when places are typically busiest<br>Help others discover the best places by sharing reviews, photos and more<br>Save places you want to or often visit, and quickly find them later from any computer or device<br><br>Experience the Google Maps difference<br>Offline maps to search, get directions and use navigation without an internet connection<br>Street View and indoor imagery for restaurants, shops, museums and more<br>Indoor maps to quickly find your way inside big places like airports, malls and stadiums<br>Comprehensive, accurate maps in 220 countries and territories<br>Transit schedules and maps for over 15,000 cities<br>Detailed business information on over 100 million places<br><br>* Some features not available in all countries<br><br>___<br>Popular tips<br>• Get better location accuracy http://goo.gl/OgnOsv<br>• Improve voice navigation http://goo.gl/bDMK6P<br>• Report wrong directions http://goo.gl/hyOG6m<br><br>___<br>More tips<br>Visit the help center: http://goo.gl/zganXz<br>Become a beta tester: http://goo.gl/vLUcaJ",
"updateNotes": "• Bug FixesBecome a beta tester: http://goo.gl/vLUcaJ",
"cost": 0,
"currency": null,
"averageRating": null,
"ratingCount": null,
"installSize": 0,
"createdAt": 1495579731000,
"modifiedAt": 1495663372000,
"vpnIds": [ ],
"iconFile": {
"fileName": "logo.png",
"uuid": "ce7260f6-086a-4b73-b422-f7e17aa2479d",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=ce7260f6-086a-4b73-b422-f7e17aa2479d&ext=PNG"
},
"installer": null,
"phoneScreenshots": [
{
"fileName": "screen-shot-0.png",
"uuid": "fd4f42e9-5fdb-4a9e-a5c3-ce71c69d7a49",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=fd4f42e9-5fdb-4a9e-a5c3-ce71c69d7a49&ext=PNG"
},
{
"fileName": "screen-shot-1.png",
"uuid": "8021484d-f67b-4d1f-b44b-42b665e44e35",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=8021484d-f67b-4d1f-b44b-42b665e44e35&ext=PNG"
},
{
"fileName": "screen-shot-2.png",
"uuid": "706a3467-9259-48f7-afff-f25b6e3ac59b",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=706a3467-9259-48f7-afff-f25b6e3ac59b&ext=PNG"
},
{
"fileName": "screen-shot-3.png",
"uuid": "6e99341f-c00e-4c3e-96a0-643d42842261",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=6e99341f-c00e-4c3e-96a0-643d42842261&ext=PNG"
},
{
"fileName": "screen-shot-4.png",
"uuid": "6c3a8c53-d470-49da-97a7-797a15b17039",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=6c3a8c53-d470-49da-97a7-797a15b17039&ext=PNG"
},
{
"fileName": "screen-shot-5.png",
"uuid": "b60ff489-a4b6-4840-908c-7b3f3a15f324",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=b60ff489-a4b6-4840-908c-7b3f3a15f324&ext=PNG"
},
{
"fileName": "screen-shot-6.png",
"uuid": "30d42977-c9e3-4ec8-83af-20688589e73a",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=30d42977-c9e3-4ec8-83af-20688589e73a&ext=PNG"
},
{
"fileName": "screen-shot-7.png",
"uuid": "0f4c538e-aef7-47d2-a7fd-e6156f023442",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=0f4c538e-aef7-47d2-a7fd-e6156f023442&ext=PNG"
},
{
"fileName": "screen-shot-8.png",
"uuid": "b5b11f03-6943-466e-8edc-a5c97426d3e1",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=b5b11f03-6943-466e-8edc-a5c97426d3e1&ext=PNG"
},
{
"fileName": "screen-shot-9.png",
"uuid": "ee5d36b9-436d-42ec-a977-48a65a53750c",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=ee5d36b9-436d-42ec-a977-48a65a53750c&ext=PNG"
},
{
"fileName": "screen-shot-10.png",
"uuid": "8f27afa5-6130-4bc7-a10a-093f6de35a8d",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=8f27afa5-6130-4bc7-a10a-093f6de35a8d&ext=PNG"
},
{
"fileName": "screen-shot-11.png",
"uuid": "98a4e274-85a0-40c3-9675-589d8bc8c34f",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=124&uuid=98a4e274-85a0-40c3-9675-589d8bc8c34f&ext=PNG"
}
],
"tabletScreenshots": [ ],
"categories": [ ],
"featuredApp": false,
"featuredBanner": false,
"bannerDescription": null,
"bannerStyle": null,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"deviceSpaceId": 1,
"spaces": [
{
"id": 1,
"name": "Global",
"parentId": 0,
"path": "/1/"
}
],
"newApp": true,
"minimumOsVersion": null,
"androidWork": true,
"androidWorkSilentInstall": true,
"androidWorkBlockUninstall": false,
"blockWidget": false,
"autoUpdate": false,
"permissionUpdateAvailable": false,
"enterpriseConfigs": [
{
"name": "GM2",
"restrictions": [
{
"title":"",
"key":"",
"value":"",
"type":"",
"values":[
],
"displayValue":""
}
],,
"permissions": [
{
"id": 118,
"name": "read your contacts",
"description": "Allows the app to read data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific individuals. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_CONTACTS"
},
{
"id": 119,
"name": "directly call phone numbers",
"description": "Allows the app to call phone numbers without your intervention. This may result in unexpected charges or calls. Note that this doesn't allow the app to call emergency numbers. Malicious apps may cost you money by making calls without your confirmation.",
"value": 1,
"displayValue": "Use Default",
"permissionId": "android.permission.CALL_PHONE"
},
{
"id": 120,
"name": "find accounts on the device",
"description": "Allows the app to get the list of accounts known by the device. This may include any accounts created by applications you have installed.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.GET_ACCOUNTS"
},
{
"id": 121,
"name": "modify or delete the contents of your USB storage",
"description": "Allows the app to write to the USB storage.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_EXTERNAL_STORAGE"
},
{
"id": 122,
"name": "precise location (GPS and network-based)",
"description": "Allows the app to get your precise location using the Global Positioning System (GPS) or network location sources such as cell towers and Wi-Fi. These location services must be turned on and available to your device for the app to use them. Apps may use this to determine where you are, and may consume additional battery power.",
"value": 1,
"displayValue": "Use Default",
"permissionId": "android.permission.ACCESS_FINE_LOCATION"
},
{
"id": 123,
"name": "approximate location (network-based)",
"description": "Allows the app to get your approximate location. This location is derived by location services using network location sources such as cell towers and Wi-Fi. These location services must be turned on and available to your device for the app to use them. Apps may use this to determine approximately where you are.",
"value": 1,
"displayValue": "Use Default",
"permissionId": "android.permission.ACCESS_COARSE_LOCATION"
},
{
"id": 124,
"name": "modify your contacts",
"description": "Allows the app to modify the data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific contacts. This permission allows apps to delete contact data.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_CONTACTS"
},
{
"id": 125,
"name": "write call log",
"description": "Allows the app to modify your device's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_CALL_LOG"
},
{
"id": 126,
"name": "record audio",
"description": "Allows the app to record audio with the microphone. This permission allows the app to record audio at any time without your confirmation.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.RECORD_AUDIO"
},
{
"id": 127,
"name": "read call log",
"description": "Allows the app to read your device's call log, including data about incoming and outgoing calls. This permission allows apps to save your call log data, and malicious apps may share call log data without your knowledge.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_CALL_LOG"
},
{
"id": 128,
"name": "read the contents of your USB storage",
"description": "Allows the app to read the contents of your USB storage.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_EXTERNAL_STORAGE"
},
{
"id": 129,
"name": "read phone status and identity",
"description": "Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_PHONE_STATE"
}
],
"labels": [
{
"id": -10,
"name": "Android"
},
{
"id": -6,
"name": "Company-Owned"
}
]
},
{
"name": "GM1",
"restrictions": [ ],
"permissions": [
{
"id": 118,
"name": "read your contacts",
"description": "Allows the app to read data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific individuals. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.",
"value": 0,
"displayValue": "Accept",
"permissionId": "android.permission.READ_CONTACTS"
},
{
"id": 119,
"name": "directly call phone numbers",
"description": "Allows the app to call phone numbers without your intervention. This may result in unexpected charges or calls. Note that this doesn't allow the app to call emergency numbers. Malicious apps may cost you money by making calls without your confirmation.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.CALL_PHONE"
},
{
"id": 120,
"name": "find accounts on the device",
"description": "Allows the app to get the list of accounts known by the device. This may include any accounts created by applications you have installed.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.GET_ACCOUNTS"
},
{
"id": 121,
"name": "modify or delete the contents of your USB storage",
"description": "Allows the app to write to the USB storage.",
"value": 0,
"displayValue": "Deny",
"permissionId": "android.permission.WRITE_EXTERNAL_STORAGE"
},
{
"id": 122,
"name": "precise location (GPS and network-based)",
"description": "Allows the app to get your precise location using the Global Positioning System (GPS) or network location sources such as cell towers and Wi-Fi. These location services must be turned on and available to your device for the app to use them. Apps may use this to determine where you are, and may consume additional battery power.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.ACCESS_FINE_LOCATION"
},
{
"id": 123,
"name": "approximate location (network-based)",
"description": "Allows the app to get your approximate location. This location is derived by location services using network location sources such as cell towers and Wi-Fi. These location services must be turned on and available to your device for the app to use them. Apps may use this to determine approximately where you are.",
"value": 0,
"displayValue": "Deny",
"permissionId": "android.permission.ACCESS_COARSE_LOCATION"
},
{
"id": 124,
"name": "modify your contacts",
"description": "Allows the app to modify the data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific contacts. This permission allows apps to delete contact data.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_CONTACTS"
},
{
"id": 125,
"name": "write call log",
"description": "Allows the app to modify your device's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_CALL_LOG"
},
{
"id": 126,
"name": "record audio",
"description": "Allows the app to record audio with the microphone. This permission allows the app to record audio at any time without your confirmation.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.RECORD_AUDIO"
},
{
"id": 127,
"name": "read call log",
"description": "Allows the app to read your device's call log, including data about incoming and outgoing calls. This permission allows apps to save your call log data, and malicious apps may share call log data without your knowledge.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_CALL_LOG"
},
{
"id": 128,
"name": "read the contents of your USB storage",
"description": "Allows the app to read the contents of your USB storage.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_EXTERNAL_STORAGE"
},
{
"id": 129,
"name": "read phone status and identity",
"description": "Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_PHONE_STATE"
}
],
"labels": [
{
"id": -10,
"name": "Android"
}
]
},
{
"name": "DEFAULT_CONFIG",
"restrictions": [ ],
"permissions": [
{
"id": 118,
"name": "read your contacts",
"description": "Allows the app to read data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific individuals. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge.",
"value": 0,
"displayValue": "Deny",
"permissionId": "android.permission.READ_CONTACTS"
},
{
"id": 119,
"name": "directly call phone numbers",
"description": "Allows the app to call phone numbers without your intervention. This may result in unexpected charges or calls. Note that this doesn't allow the app to call emergency numbers. Malicious apps may cost you money by making calls without your confirmation.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.CALL_PHONE"
},
{
"id": 120,
"name": "find accounts on the device",
"description": "Allows the app to get the list of accounts known by the device. This may include any accounts created by applications you have installed.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.GET_ACCOUNTS"
},
{
"id": 121,
"name": "modify or delete the contents of your USB storage",
"description": "Allows the app to write to the USB storage.",
"value": 0,
"displayValue": "Accept",
"permissionId": "android.permission.WRITE_EXTERNAL_STORAGE"
},
{
"id": 122,
"name": "precise location (GPS and network-based)",
"description": "Allows the app to get your precise location using the Global Positioning System (GPS) or network location sources such as cell towers and Wi-Fi. These location services must be turned on and available to your device for the app to use them. Apps may use this to determine where you are, and may consume additional battery power.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.ACCESS_FINE_LOCATION"
},
{
"id": 123,
"name": "approximate location (network-based)",
"description": "Allows the app to get your approximate location. This location is derived by location services using network location sources such as cell towers and Wi-Fi. These location services must be turned on and available to your device for the app to use them. Apps may use this to determine approximately where you are.",
"value": 0,
"displayValue": "Accept",
"permissionId": "android.permission.ACCESS_COARSE_LOCATION"
},
{
"id": 124,
"name": "modify your contacts",
"description": "Allows the app to modify the data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific contacts. This permission allows apps to delete contact data.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_CONTACTS"
},
{
"id": 125,
"name": "write call log",
"description": "Allows the app to modify your device's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.WRITE_CALL_LOG"
},
{
"id": 126,
"name": "record audio",
"description": "Allows the app to record audio with the microphone. This permission allows the app to record audio at any time without your confirmation.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.RECORD_AUDIO"
},
{
"id": 127,
"name": "read call log",
"description": "Allows the app to read your device's call log, including data about incoming and outgoing calls. This permission allows apps to save your call log data, and malicious apps may share call log data without your knowledge.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_CALL_LOG"
},
{
"id": 128,
"name": "read the contents of your USB storage",
"description": "Allows the app to read the contents of your USB storage.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_EXTERNAL_STORAGE"
},
{
"id": 129,
"name": "read phone status and identity",
"description": "Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.",
"value": 0,
"displayValue": "User Prompt",
"permissionId": "android.permission.READ_PHONE_STATE"
}
],
"labels": [ ]
}
],
"versionRequired": false,
"codeVersion": "",
"mandatory": false,
"mandatoryOverwrite": true,
"secureApp": false,
"enforceVersion": false,
"vpnNames": null
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.get.app.success",
"localizedMessage": "App successfully fetched."
}
]
}
Search Apple iTunes App Store by name/description
This call searches for apps in the iTunes app store using a keyword from the app’s name or description.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
api/v2/appstore/itunes
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Request body Data Type: Number Device space ID of the administrator. |
1 |
query |
Required Parameter Type: Request body Data Type: String Keyword from the app name or description. |
mobileiron |
countryCode |
Required Parameter Type: Request body Data Type: String Two character ISO country code. |
US |
limit |
Parameter Type: Query Data Type: Number Indicates the maximum number of entries to return. Must be at least 0 and no more than 200. 0 returns all results. |
|
Response fields
Field |
Description |
messageKey |
Message key for the localized message bundle. |
messageParameters |
Parameters for the localized message. |
localizedMessageWithParameters |
Localized message with parameters unresolved. |
localizedMessage |
localized message with parameters resolved. |
result |
An array of retrieved objects shown in the following rows. |
artistId |
|
artistName |
|
artistViewUrl |
|
artworkUrl60 |
|
artworkUrl100 |
|
artworkUrl512 |
|
averageUserRating |
|
averageUserRatingForCurrentVersion |
|
contentAdvisoryRating |
|
currency |
|
description |
|
features |
|
fileSizeBytes |
|
genres |
|
genreIds |
|
ipadScreenshotUrls |
|
isGameCenterEnabled |
|
kind |
|
languageCodesISO2A |
|
price |
|
primaryGenreId |
|
primaryGenreName |
|
releaseNotes |
|
screenshotUrls |
|
sellerName |
|
sellerUrl |
|
supportedDevices |
|
trackCensoredName |
|
trackId |
|
trackName |
|
trackViewUrl |
|
releaseDate |
|
trackContentRating |
|
userRatingCount |
|
userRatingCountForCurrentVersion |
|
version |
|
wrapperType |
|
catalogVer |
|
bundleId |
|
free |
|
ipadOnly |
|
Sample request and response
Request
curl -G -k -sS -u <userName>:<password>
'https://[Ivanti EPMM]
/api/v2/appstore/itunes' --data-urlencode 'adminDeviceSpaceId=1&query=mobileiron&countryCode=US&limit=1'
Response
{
"messageKey": "com.mobileiron.vsp.messages.appstore.apple.lookup.app.success",
"messageParameters": [
1
],
"localizedMessageWithParameters": "App lookup returned ''{0}'' results.",
"localizedMessage": "App lookup returned '1' results.",
"result": [
{
"artistId": 320659797,
"artistName": "MobileIron",
"artistViewUrl": "https://itunes.apple.com/us/artist/mobileiron/id320659797?uo=4",
"artworkUrl60": "http://a606.phobos.apple.com/us/r30/Purple4/v4/40/e0/5c/40e05c06-3cc4-4a7a-9510-f350d549c08f/Icon.png",
"artworkUrl100": "http://a215.phobos.apple.com/us/r30/Purple3/v4/c0/e8/79/c0e879a6-a223-e8bf-5dcb-56ec70d925b6/mzl.emcoqmwq.png",
"artworkUrl512": "http://a215.phobos.apple.com/us/r30/Purple3/v4/c0/e8/79/c0e879a6-a223-e8bf-5dcb-56ec70d925b6/mzl.emcoqmwq.png",
"averageUserRating": 3.5,
"averageUserRatingForCurrentVersion": 3,
"contentAdvisoryRating": "4+",
"currency": "USD",
"description": "Ivanti's Mobile@Work™ app seamlessly integrates your iOS device with your company's mobile operations.\n• Automatically configure your device for access to your corporate Wi-Fi and VPN networks.\n• Get access to email, protected attachments, and other corporate resources.\n• View documents stored on SharePoint and other company document repositories and store them locally for offline viewing.\n• Annotate documents and securely email them to your colleagues.\n• Test and profile your network connection speeds and track your results geographically.\n• Authenticate to Ivanti AppConnect secure applications.\n\nNOTE: The Mobile@Work™ iOS app requires use of Ivanti's enterprise Virtual Smartphone Platform. Please consult with your company's Mobile IT organization before downloading this app. The Mobile@Work™ app will not operate without the required Ivanti infrastructure.",
"features": [
"iosUniversal"
],
"fileSizeBytes": 17851098,
"genres": [
"Business",
"Utilities"
],
"genreIds": [
"6000",
"6002"
],
"ipadScreenshotUrls": [
"http://a3.mzstatic.com/us/r30/Purple4/v4/3d/8b/11/3d8b11d0-eb5f-f783-8b69-91b3150f2f76/screen480x480.jpeg",
"http://a3.mzstatic.com/us/r30/Purple4/v4/73/45/65/73456540-8afa-b718-920b-8f79e00d4d4d/screen480x480.jpeg"
],
"isGameCenterEnabled": false,
"kind": "software",
"languageCodesISO2A": [
"NL",
"EN",
"FR",
"DE",
"IT",
"JA",
"KO",
"PL",
"PT",
"RO",
"ZH",
"SK",
"ES",
"ZH"
],
"price": 0,
"primaryGenreId": 6000,
"primaryGenreName": "Business",
"releaseNotes": "• Bug fixes.",
"screenshotUrls": [
"http://a3.mzstatic.com/us/r30/Purple5/v4/54/a5/df/54a5df30-3e7b-09a1-11ca-2d9aef159a1a/screen322x572.jpeg",
"http://a1.mzstatic.com/us/r30/Purple4/v4/a8/b2/b0/a8b2b01d-1af0-682b-dc7b-0d7a7188357b/screen322x572.jpeg",
"http://a3.mzstatic.com/us/r30/Purple4/v4/dd/60/64/dd6064fd-eecb-e7fd-02f2-06ba1875d4cc/screen322x572.jpeg"
],
"sellerName": "MobileIron",
"sellerUrl": "http://www.mobileiron.com",
"supportedDevices": [
"iPhone4S",
"iPhone4",
"iPadFourthGen",
"iPhone5",
"iPhone5s",
"iPhone5c",
"iPadThirdGen4G",
"iPhone-3GS",
"iPadThirdGen",
"iPad2Wifi",
"iPadMini4G",
"iPodTouchFifthGen",
"iPadMini",
"iPodTouchourthGen",
"iPadFourthGen4G",
"iPad23G"
],
"trackCensoredName": "MobileIron Mobile@Work™ Client",
"trackId": 320659794,
"trackName": "MobileIron Mobile@Work™ Client",
"trackViewUrl": "https://itunes.apple.com/us/app/mobileiron-mobile-work-client/id320659794?mt=8&uo=4",
"releaseDate": 1248721090000,
"trackContentRating": "4+",
"userRatingCount": 861,
"userRatingCountForCurrentVersion": 13,
"version": "6.1.1",
"wrapperType": "software",
"catalogVer": null,
"bundleId": "com.mobileiron.phoneatwork",
"free": true,
"ipadOnly": false
}
]
}
Import iTunes app by track id
This call searches for an app in the iTunes by the app's track id, and then imports it if it is available.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
api/v2/appstore/itunes
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
trackId |
Required Parameter Type: Query Data Type: Long App’s trackId on iTunes. |
530168168 |
countryCode |
Parameter Type: Query Data Type: String Default: The browser's locale country code. The two character ISO code of the country within which the app should be looked up. |
US |
languageCode |
Parameter Type: Query Data Type: String Default: The browser's locale language code. The ISO code of the language for the description of the app, if available. |
EN |
forceUpdate |
Parameter Type: Query Data Type: Boolean Default: True Whether the existing app with the same bundle ID should be overwritten if it exists. |
False |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of retrieved objects shown in the following rows. |
id |
|
name |
|
platformType |
|
platformCode |
|
version |
|
altVersion |
|
displayVersion |
|
appId |
|
creatorType |
|
catalogType |
|
publicAppStoreType |
|
publicStoreId |
|
developerName |
|
description |
|
updateNotes |
|
cost |
|
currency |
|
averageRating |
|
ratingCount |
|
installSize |
|
createdAt |
|
modifiedAt |
|
vpnIds |
|
iconFile |
|
installer |
|
phoneScreenshots |
|
tabletScreenshots |
|
categories |
|
featuredApp |
|
hiddenInAppstore |
|
perAppVpnByLabelOnly |
|
dataProtectionRequired |
|
overrideURL |
|
quarantinable |
|
pushedOnRegistration |
|
backupPrevented |
|
cdnServiceEnabled |
|
cdnDisabled |
|
apnsCertificate |
|
ipadOnly |
|
noCostApp |
|
provisioningProfile |
|
messagingSupported |
|
Sample request and response
Request
curl -X POST -G -k -sS -u <userName>:<password>
'https://[Ivanti EPMM]
/api/v2/appstore/itunes?adminDeviceSpaceId=1&trackId=530168168'
Response
{
"results": {
"id": 166,
"name": "Hotels.com - Hotel booking and last minute hotel deals",
"platformType": "IPhone",
"platformCode": "I",
"version": null,
"altVersion": "",
"displayVersion": null,
"appId": "com.hotels.HotelsNearMe",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": "ITUNES",
"publicStoreId": "284971959",
"developerName": "Hotels.com",
"description": "The Hotels.com app is the simple, fast and secure way to book your perfect hotel.\n \nPLAN\n- Instantly access Secret Prices on select hotels. These are lower prices that aren't available to everyone.\n- Easily discover your perfect hotels with our in-depth sort and filter options.\n- Get exclusive deals for hotels in your area tonight by using our \u201cTonight\u2019s Local Deals\u201d feature.\n- Save all your favorite hotels to easily compare between features and prices.\n- Easy-to-use map view to discover all the hotels around you. \n\nBOOK\n- Collect 10 nights with us and get 1 free* with Hotels.com\u00ae Rewards\n- Choose when to pay. Either when you book or when you stay at the hotel.\n- Securely store your payment details for fast, easier and safe bookings.\n- Save your booking to your Passbook for whenever you need it.\n\nMANAGE\n- Sign in once and the app will keep you logged in. This is the fastest and easiest way to search for hotels, view your bookings and collect nights.\n- Use Facebook to sign in or register. Create one account for all of your devices with just a touch of a button.\n- See your past, current and future hotel bookings, even when you don\u2019t have access to the Internet. \n- Call our customer support from within the app 24\/7 for help making or managing bookings.\n\n*The maximum value of your free night is the average daily rate of your ten nights. Your free night does not include taxes and fees. Account Summary Balance updates after stay has been completed.\n\nContinued use of GPS running in the background can dramatically decrease battery life.",
"updateNotes": "- Optimised for iOS 9!\n- We've made some improvements on our side so you can better enjoy your travels. See you out there!\n\n*Thanks for your feedback! It's really useful so please keep telling us what you think by reviewing our app and rating us 5 stars.*",
"cost": 0,
"currency": "USD",
"averageRating": 3,
"ratingCount": 35968,
"installSize": 57040450,
"createdAt": 1446246837000,
"modifiedAt": 1446246840000,
"vpnIds": [
],
"iconFile": null,
"installer": null,
"phoneScreenshots": [
],
"tabletScreenshots": [
],
"categories": [
],
"featuredApp": false,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"apnsCertificate": null,
"ipadOnly": false,
"noCostApp": true,
"provisioningProfile": null,
"messagingSupported": false
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.import.app.success",
"localizedMessage": "App successfully imported."
}
]
Import a Google Play app
This call imports a Google Play app by bundleID, allowing you to configure the floowing app settings:
•Silent install
•Block uninstall
•Android for Work
•Auto update app
•Block widget
•Quarantine app when device is quarantined
Prerequisite
To use this API, Android Enterprise must be enabled on Ivanti EPMM. See “Setting up Ivanti EPMM for Android Enterprise” in the Ivanti EPMM Device Management Guide for Android and Android Enterprise Devices.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
api/v2/appstore/googleplay/quickimport
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
bundleId |
Required Parameter Type: Query Data Type: String The bundleID of the Google Play app to import. You can use the call, App Store Management to find the bundleID. |
com.spotify.music |
androidWork |
Required Parameter Type: Request body Data Type: Boolean Specifies whether to manage the app with Android for Work. Valid values: •true •false |
"androidWork":"true", |
autoUpdate |
Required Parameter Type: Request body Data Type: Boolean Specifies whether to allow auto update of the app. Valid values: •true •false |
"autoUpdate":"true",
|
androidWorkSilentInstall |
Required Parameter Type: Request body Data Type: Boolean Specifies whether to allow silent install of the app. Valid values: •true •false |
"androidWorkSilentInstall":"false", |
blockWidget |
Required Parameter Type: Request body Data Type: Boolean Specifies whether to block intalling the app as a widget. Valid values: •true •false |
"blockWidget":"true", |
androidWorkBlockUninstall |
Required Parameter Type: Request body Data Type: Boolean Specifies whether to block uninstall of the app. Valid values: •true •false |
"androidWorkBlockUninstall":"true", |
androidWorkQuarantineApp |
Required Parameter Type: Request body Data Type: Boolean Specifies whether to quarantine the app when the device is quarantined. Valid values: •true •false |
"androidWorkQuarantineApp":"false"
|
androidWorkManagedDeviceSilentInstall |
Parameter Type: Request body Data Type: Boolean Specifies whether this will be a Android managed device silent install. Valid values: •true •false |
"androidWorkManagedDeviceSilentInstall":"false", |
autoInstallMode |
Parameter Type: Request body Data Type: String Specifies the type of install. Valid values: •forceAutoInstall •autoInstallOnce |
"autoInstallMode": "forceAutoInstall", |
autoInstallPriority |
Parameter Type: Request body Data Type: String Specifies the priority of the install Valid values: •high •medium •low |
"autoInstallPriority": "medium", |
networkTypeConstraint |
Parameter Type: Request body Data Type: String Specifies on which types of network the device is using to install the app. Valid values: •anyNetwork •unmeteredNetwork |
"networkTypeConstraint": "anyNetwork", |
chargingStateConstraint |
Parameter Type: Request body Data Type: String Specifies whether the device must be charged to install the app. Valid values: •chargingNotRequired •chargingRequired |
"chargingStateConstraint": "chargingNotRequired", |
deviceIdleStateConstraint |
Parameter Type: Request body Data Type: String Specifies whether the device must be idle to allow installation of the app. Valid values: •deviceIdleNotRequired •deviceIdleRequired |
"deviceIdleStateConstraint": "deviceIdleNotRequired" |
Response fields
Field |
Description |
results |
|
AppId |
The ID of the app in the app catalog. |
messages |
|
type |
Type is Info for a successful call and Error for an unsuccessful call. |
messageKey |
|
localizedMessage |
|
Example request
curl -X POST \
'https://[Ivanti EPMM]/api/v2/appstore/googleplay/quickimport?bundleId=com.facebook.orca&adminDeviceSpaceId=1' \
-H 'Authorization: Basic <token>' \
-H 'Content-Type: application/json' \
-d '{
"androidWork":"true",
"autoUpdate":"true",
"androidWorkSilentInstall":"false",
"blockWidget":"true",
"androidWorkBlockUninstall":"true",
"androidWorkQuarantineApp":"false",
"androidWorkManagedDeviceSilentInstall":"false",
"autoInstallMode": "forceAutoInstall",
"autoInstallPriority": "medium",
"networkTypeConstraint": "anyNetwork",
"chargingStateConstraint": "chargingNotRequired",
"deviceIdleStateConstraint": "deviceIdleNotRequired"
}'
Example responses
Success
{
"results": {
"AppId": 125
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.import.app.success",
"localizedMessage": "App successfully imported."
}
]
}
App already exists
{
"messages": [
{
"type": "Error",
"messageKey": "com.mobileiron.vsp.messages.appstore.app.already.exists",
"localizedMessage": "An app with ID 'com.facebook.orca' already exists.",
"messageParameters": [
"com.facebook.orca"
]
}
]
}
App not found
{
"messages": [
{
"type": "Error",
"messageKey": "com.mobileiron.vsp.messages.appstore.apps.app.not.found",
"localizedMessage": "No app found with id 'com.facebook.dorca'",
"messageParameters": [
"com.facebook.dorca"
]
}
]
}
Search for a Windows app
This call searches for a Windows app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
/api/v2/appstore/windowsStore
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
searchText |
Required Parameter Type: Query Data Type: String Keyword from the app name or description. |
Apps%40Work |
storeType |
Required Parameter Type: Query Data Type: String They type of Windows store to search. Valid values are: •WIN_PHONE •WIN8 •WIN10 |
WIN8 |
languageCode |
Parameter Type: Query Data Type: String Default: The browser's locale language code. The ISO code of the language for the description of the app, if available. |
en-us |
limit |
Parameter Type: Query Data Type: Number Indicates the maximum number of entries to return. Must be at least 0 and no more than 200. 0 returns all results. |
|
Response fields
Field |
Description |
results |
Results container for array of fields shown below. |
title |
|
appId |
|
version |
|
imageIds |
|
publisher |
|
category |
|
releaseDate |
|
inAppCatalog |
|
imageIconUrl |
|
browserLink |
|
bgColor |
|
identifier |
|
messages |
|
type |
|
messageKey |
|
localizedMessage |
|
messageParameters |
|
resultCount |
How many apps were returned. |
Sample request and response
Request
curl -G -k -sS -u <userName>:<password>
'https://[Ivanti EPMM]
/api/v2/appstore/windowsStore?searchText=Apps%40Work&languageCode=en-us&limit=50&storeType=WIN8&adminDeviceSpaceId=1'
Response
{
"results": [
{
"title": "Apps@Work",
"appId": "24e948cc-dd86-44b1-9c5a-5793231b54b7",
"version": "N/A",
"imageIds": [ ],
"publisher": null,
"category": null,
"releaseDate": null,
"inAppCatalog": false,
"imageIconUrl": "http://wscont1.apps.microsoft.com/winstore/1x/6bd36ad9-5b2c-4c52-abae-32df0c58e9b2/AppTile.2.254408.1.png",
"browserLink": "http://apps.microsoft.com/windows/en-us/app/apps@work/24e948cc-dd86-44b1-9c5a-5793231b54b7",
"bgColor": "#464646",
"identifier": "MobileIronInc.MobileWork_46hhcags7zat8"
},
{
"title": "Canvas Business Forms, Apps, Work Orders, Dispatch & Inspections",
"appId": "ccf8eda8-f26a-4663-a877-68d8a8e8e247",
"version": "N/A",
"imageIds": [ ],
"publisher": null,
"category": null,
"releaseDate": null,
"inAppCatalog": false,
"imageIconUrl": "http://wscont1.apps.microsoft.com/winstore/1x/4206466b-44f9-4d68-89b6-aad4ffc430fd/AppTile.2.355596.1.png",
"browserLink": "http://apps.microsoft.com/windows/en-us/app/canvas-business-forms,-apps,-work-orders,-dispatch---inspections/ccf8eda8-f26a-4663-a877-68d8a8e8e247",
"bgColor": "#464646",
"identifier": "57E60260.CanvasBusinessAppsForms_81m5mmnk14ej2"
},
{
"title": "Formotus Pro",
"appId": "5b493605-bea0-4626-be1a-b18c97eff101",
"version": "N/A",
"imageIds": [ ],
"publisher": null,
"category": null,
"releaseDate": null,
"inAppCatalog": false,
"imageIconUrl": "http://wscont1.apps.microsoft.com/winstore/1x/3644598f-5bb2-4564-8463-07a9e1f2ff5d/AppTile.2.307028.1.png",
"browserLink": "http://apps.microsoft.com/windows/en-us/app/formotus-pro/5b493605-bea0-4626-be1a-b18c97eff101",
"bgColor": "#FFFFFF",
"identifier": "C9C6FD0D.Formotus_738n75bts231w"
}
],
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.search.app.success",
"localizedMessage": "App search returned '3' results.",
"messageParameters": [
3
]
}
],
"resultCount": 3
}
Import a public Windows app
This call imports a public Windows app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/windowsStore/{appId}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
appId |
Required Parameter Type: Path and Request body Data Type: String You repeat this value in the request path and request body. |
ccf8eda8-f26a-4663-a877-68d8a8e8e247 |
version |
Required Parameter Type: Request body Data Type: String Send N/A if no app version. |
N/A |
title |
Parameter Type: Request body Data Type: String app description. |
Canvas Business Forms, Apps, Work Orders, Dispatch & Inspections |
storeType |
Required Parameter Type: Query Data Type: String They type of Windows store to search. Valid values are: •WIN_PHONE •WIN8 •WIN10 |
WIN8 |
Response fields
Field |
Description |
results |
Container for the results fields below. |
id |
|
name |
|
platformType |
|
platformCode |
|
version |
|
altVersion |
|
displayVersion |
|
appId |
|
creatorType |
|
catalogType |
|
publicAppStoreType |
|
publicStoreId |
|
developerName |
|
description |
|
updateNotes |
|
cost |
|
currency |
|
averageRating |
|
ratingCount |
|
installSize |
|
createdAt |
|
modifiedAt |
|
vpnIds |
|
iconFile |
|
fileName |
|
uuid |
|
url |
|
installer |
|
phoneScreenshots |
|
tabletScreenshots |
|
categories |
|
featuredApp |
|
hiddenInAppstore |
|
perAppVpnByLabelOnly |
|
dataProtectionRequired |
|
overrideURL |
|
quarantinable |
|
pushedOnRegistration |
|
backupPrevented |
|
cdnServiceEnabled |
|
cdnDisabled |
|
silentUpgradeInstall |
|
aetAppSettingId |
|
desktopApp |
|
messages |
Container for messages information. |
type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
messageParameters |
Parameters for the localized message. |
Sample request and response
Request
curl -X POST -G -k -sS -u <userName>:<password> 'https://[Ivanti EPMM]/api/v2/appstore/windowsStore/ccf8eda8-f26a-4663-a877-68d8a8e8e247?adminDeviceSpaceId=1' --data 'appId=ccf8eda8-f26a-4663-a877-68d8a8e8e247&version=N%2FA&title=Canvas%20Business%20Forms%2C%20Apps%2C%20Work%20Orders%2C%20
Dispatch%20%26%20Inspections&storeType=WIN8'
Response
{
"results": {
"id": 121,
"name": "Canvas Business Forms, Apps, Work Orders, Dispatch & Inspections",
"platformType": "Windows",
"platformCode": "E",
"version": "N/A",
"altVersion": "",
"displayVersion": "N/A",
"appId": "57E60260.CanvasBusinessAppsForms_81m5mmnk14ej2",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": "WIN8",
"publicStoreId": "ccf8eda8-f26a-4663-a877-68d8a8e8e247",
"developerName": "Canvas Solutions, Inc.",
"description": "Canvas replaces expensive and inefficient paper business forms with mobile apps for your smartphones and tablets. Canvas is easy to use – no programming skills required.
Canvas lets you…
- Replace paper forms with mobile apps in minutes
- Create mobile inspections, work orders, invoices, expense reports, checklists, etc.
- Collect information using your mobile device
- Share data securely in the cloud with customers and colleagues
- Choose from over 14,000 \"starter\" apps (customizable, pre-built forms)
Download the Canvas app and sign up for a free 30-day trial. No credit card
required.
*******
Special Promotion: Canvas will convert your first paper form into a mobile app for FREE!
*******
About Canvas:
Canvas is a cloud-based software service that allows businesses to replace expensive and inefficient paper forms with powerful apps on their smartphones and tablets. Canvas enables users to collect information using mobile devices, share that information and easily integrate with existing backend systems. Canvas also offers the first business-only application store of its kind, with 14,000+ pre-built, fully customizable apps that work on all mobile platforms and serve 30+ vertical markets.
Every Canvas app is customizable by the end user and can incorporate functionality such as GPS, image capture, calculations, dispatch, electronic signatures, and access to business data such as parts catalogs, price lists and customer records.
Canvas has automated millions of manual processes and replaced over 30 tons of paper for businesses, making it one of the fastest growing mobile app services in the world.",
"updateNotes": "- Fixed issue with username and trailing spaces
- Fixed issue with not allow some images to be selected",
"cost": 0,
"currency": "USD",
"averageRating": 4,
"ratingCount": 6,
"installSize": 1524000,
"createdAt": 1456715333000,
"modifiedAt": 1456715334000,
"vpnIds": [ ],
"iconFile": {
"fileName": "logo.png",
"uuid": "e2ee1174-e7a5-4455-a437-6a1ff32b6f4b",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=121&uuid=e2ee1174-e7a5-4455-a437-6a1ff32b6f4b&ext=PNG"
},
"installer": null,
"phoneScreenshots": [ ],
"tabletScreenshots": [ ],
"categories": [ ],
"featuredApp": false,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"silentUpgradeInstall": false,
"aetAppSettingId": null,
"desktopApp": false
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.import.app.success",
"localizedMessage": "App successfully imported.",
"messageParameters": [ ]
}
]
}
Upload an in house app
Using MultipartFile, this call uploads an in-house app. You need to have an iOS, Android, or Windows installer file ready to go when you make this call. Response will contain the AppCatalogDataResponse, which will be different depending on the OS of the app that was uploaded.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/inhouse
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
installer |
Required Parameter Type: Request body Data Type: Multipart form This is an iOS, Android, or Windows app installer file ready for deployment. |
OnHoliday-resigned.ipa |
Response fields - iOS
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
result |
An array of retrieved objects shown in the following rows. |
MESSAGING_SUPPORTED |
|
appid |
|
applogoname |
|
appname |
|
apptype |
|
appversion |
|
appversionalternate |
|
appversiondisplay |
|
bundle |
|
description |
|
developername |
|
profile |
|
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XPOST -F '[email protected]' 'https://[Ivanti EPMM]
/api/v2/appstore/inhouse?adminDeviceSpaceId=1'
Response
{
"results":
{
"MESSAGING_SUPPORTED":
false,
"appid":
"115",
"applogoname":
"[email protected]",
"appname":
"OnHoliday",
"apptype":
"APP_INHOUSE",
"appversion": "1.0.3",
"appversionalternate":
"",
"appversiondisplay":
"1.0.3",
"bundle": "OnHoliday",
"description":
"",
"developername":
"",
"profile":
"Team Wildcard Distribution d1cab336-9172-4959-8d47-0667bd929f8d"
},
"messages"
:
[
{
"type":"Info",
"messageKey":"com.mobileiron.vsp.messages.appstore.import.app.success",
"localizedMessage":"App successfully imported."
}
]
}
Clone an app
This call clones an app which is available in its parent/child spaces into the present/active/logged-in space, if the app is not available in present/active/logged-in space.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/apps/clone/{id}
Request parameters
Parameter |
Description |
Sample Value |
id |
Required Parameter Type: Request path Data Type: string ID of the app in the app catalog. |
146 |
targetSpaceId |
Required Parameter Type: Request body Data Type: String Space ID to which to clone the app. |
1 |
sourceSpaceId |
Required Parameter Type: Request body Data Type: String Space ID from which to clone the app. |
21 |
nativeAppStoreCert |
Required for messaging apps Parameter Type: Request body Data Type: String Native app store certificate. |
|
nativeAppStoreCertPassword |
Required for messaging apps Parameter Type: Request body Data Type: String Native app store certificate password. |
|
Sample request and response
Request
curl -X POST -F "sourceSpaceId=21" "https://[Ivanti EPMM]
/api/v2/appstore/apps/clone/146?targetSpaceId=1"
Response
The response is a return of cloned app details. It is a lengthy response. The important portion is:
"spaces": [
{
"id": 1,
"name": "Global",
"parentId": 0,
"path": "/1/"
},
{
"id": 21,
"name": "sp71",
"parentId": 1,
"path": "/1/21/"
You can use this portion to check that the call successfully cloned the app to the target directory.
Here is a fuller response, with some of the descriptive text removed for brevity:
{
"results": {
"id": 146,
"name": "ESPNcricinfo Cricket",
"platformType": "IPhone",
"platformCode": "I",
"version": null,
"altVersion": "",
"displayVersion": null,
"appId": "com.espn.cricinfo",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": "ITUNES",
"publicStoreId": "417408017",
"developerName": "ESPN",
"description": "The official ESPNcricinfo cricket app is the only app that you would...",
"updateNotes": "- Bug fixes",
"cost": 0,
"currency": "USD",
"averageRating": 3.5,
"ratingCount": 3012,
"installSize": 22666240,
"createdAt": 1484817764000,
"modifiedAt": 1487314913000,
"vpnIds": [ ],
"iconFile": {
"fileName": "logo.png",
"uuid": "875532ba-4f30-4d27-8802-1bfd7f828330",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=146&uuid=875532ba-4f30-4d27-8802-1bfd7f828330&ext=PNG"
},
"installer": null,
"phoneScreenshots": [
{
"fileName": "screen-shot-0.png",
"uuid": "bc3bd137-18d7-46ed-93f9-55f7a26550c2",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=146&uuid=bc3bd137-18d7-46ed-93f9-55f7a26550c2&ext=PNG"
},
{
"fileName": "screen-shot-1.png",
"uuid": "4ad4bd0f-3d98-45e5-afea-4c90de931c67",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=146&uuid=4ad4bd0f-3d98-45e5-afea-4c90de931c67&ext=PNG"
},
{
"fileName": "screen-shot-2.png",
"uuid": "f8075512-a9c0-4790-8af0-31b24d11b90d",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=146&uuid=f8075512-a9c0-4790-8af0-31b24d11b90d&ext=PNG"
},
{
"fileName": "screen-shot-3.png",
"uuid": "01deaa2b-99d8-41fd-887d-0cfb041efff2",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=146&uuid=01deaa2b-99d8-41fd-887d-0cfb041efff2&ext=PNG"
},
{
"fileName": "screen-shot-4.png",
"uuid": "258f2f44-6239-4a94-b8eb-6960eca2528f",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=146&uuid=258f2f44-6239-4a94-b8eb-6960eca2528f&ext=PNG"
}
],
"tabletScreenshots": [ ],
"categories": [ ],
"featuredApp": false,
"featuredBanner": false,
"bannerDescription": null,
"bannerStyle": null,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"deviceSpaceId": 1,
"spaces": [
{
"id": 1,
"name": "Global",
"parentId": 0,
"path": "/1/"
},
{
"id": 21,
"name": "sp71",
"parentId": 1,
"path": "/1/21/"
}
],
"newApp": false,
"minimumOsVersion": "1080000",
"apnsCertificate": null,
"ipadOnly": false,
"noCostApp": true,
"provisioningProfile": null,
"messagingSupported": false,
"allowUpdateFromUnmanagedToManaged": false,
"profileExpirationDate": null,
"removeAppWhenMDMDisabled": true,
"pushedOnQuarantine": false,
"codeVersion": "",
"autoUpdateEnabled": false,
"appStoreDetailUrl": "https://sai101-vm.hyd.mobileiron.com/mifs/asfV3x/appstore?appid=146",
"oneTouchAppConfigs": [ ]
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.update.app.success",
"localizedMessage": "App successfully updated."
}
]
}
Add a web application
This call adds a web application
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/webapp
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
name |
Required Parameter Type: Request body Data Type: String Name of the web application. |
Online Meet Entry |
webAppUrl |
Parameter Type: Request body Data Type: String URL of the web application. |
http://ome.swimconnection.com/meets |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of retrieved objects shown in the following rows. |
messagingSupported |
|
provisoningProfile |
|
unmanagedUpdateAllowed |
|
hiddenInAppstore |
|
noCostApp |
|
ipadOnly |
|
apnsCertificate |
|
cdnDisabled |
|
cdnServiceEnabled |
|
backupPrevented |
|
removedWhenMdmDisabled |
|
pushedOnRegistration |
|
quarantinable |
|
overrideURL |
|
dataProtectionRequired |
|
perAppVpnByLabelOnly |
|
featuredApp |
|
categories |
|
description |
|
name |
|
id |
|
description |
|
name |
|
id |
|
tabletScreenshots |
|
url |
|
uuid |
|
fileName |
|
phoneScreenshots |
|
url |
|
uuid |
|
fileName |
|
installer |
|
iconFile |
|
url |
|
uuid |
|
fileName |
|
vpnIds |
|
modifiedAt |
|
createdAt |
|
installSize |
|
ratingCount |
|
averageRating |
|
currency |
|
cost |
|
updateNotes |
|
description |
|
developerName |
|
publicStoreId |
|
publicAppStoreType |
|
catalogType |
|
creatorType |
|
appId |
|
displayVersion |
|
altVersion |
|
version |
|
platformType |
|
name |
|
id |
|
Sample request and response
Request
curl -X POST -G -k -sS -u <userName>:<password>
'https://[Ivanti EPMM]
/api/v2/appstore/webapp?adminDeviceSpaceId=1' --data 'name=Online%20Meet%20Entries&webAppUrl=http%3A%2F%2Fome.swimconnection.com%2Fmeets'
Response
{
"results": {
"id": 119,
"name": "Online Meet Entries",
"platformType": "WebApp",
"platformCode": "Q",
"version": null,
"altVersion": "",
"displayVersion": null,
"appId": "Web Application: (119)",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": null,
"publicStoreId": null,
"developerName": "",
"description": "",
"updateNotes": "",
"cost": null,
"currency": null,
"averageRating": null,
"ratingCount": null,
"installSize": null,
"createdAt": 1456696707000,
"modifiedAt": 1456696709000,
"vpnIds": [ ],
"iconFile": {
"fileName": "webapp_default.png",
"uuid": "f31b507d8e094ddeac2cbd84dc144b82",
"url": "https://[Ivanti EPMM]/mifs/image/app.html?command=getAppResource&action=getAppResource&uuid=f31b507d8e094ddeac2cbd84dc144b82&ext=PNG"
},
"installer": null,
"phoneScreenshots": [ ],
"tabletScreenshots": [ ],
"categories": [ ],
"featuredApp": false,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"webAppUrl": "http://ome.swimconnection.com/meets"
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.import.app.success",
"localizedMessage": "App successfully imported."
}
]
}
Update app data
This call updates an app’s data. Available fields to update vary by platform type and these fields are described below.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/apps/{id}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Path Data Type: Long The app’s ID. You can find it by issuing the GET /api/v2/appstore/apps call without an ID. |
2 |
appData |
Required Parameter Type: Request Data Type: Json string An url-encoded JSON string representation of the app fields to modify. JSON example, URL decoded: { "name": "MobileIron QA", "description": "", "featuredApp": true, "perAppVpnByLabelOnly": false, "pushedOnRegistration": true, "enforceVersion": true, "overrideURL": "", "cdnDisabled": true, "vpnIds": [ ], "categories": [ ], "deletedResources": [ ], "versionRequired": null, "minimumOsVersion": "21", "androidWork": false, "autoUpdate": null, "androidWorkSilentInstall": null, "blockWidget": false, "androidWorkBlockUninstall": false, "enableMobileIronAccess": false, "androidWorkQuarantineApp": true, "androidWorkThirdPartyAppRuntimePermissions": false, "androidWorkHideThirdPartyApps": false, "androidWorkManagedCertificates": false, "accessProfileId": 0, "featuredBanner": false, "androidWorkManagedDeviceSilentInstall": false, "androidWorkSelfHostedApkLicense": "", "displayMessage": false, "enterpriseConfigs": [ ] } To update Android For Work app data, a valid license value for androidWorkSelfHostedApkLicense is mandatory. You can find the license value using GET /api/v2/appstore/apps/{id}. Available fields vary by platform type. See Common appData request fields, iOS appData request fields, and Android appData request fields below. |
See Description column. |
icon |
Parameter Type: Request Data Type: Array of MultipartFile Icon file to replace any existing icon. |
icon=@/Users/ssmith/icon.png |
phoneScreenshot |
Parameter Type: Request Data Type: Array of MultipartFile An array of phone screenshot files to add to existing screenshots. |
phoneScreenshot=@/Users/ssmith/ss1.png |
tabletScreenshot |
Parameter Type: Request Data Type: Array of MultipartFile An array of tablet screenshot files to add to existing screenshots. |
tabletScreenshot=@/Users/ssmith/tss1.png |
Common appData request fields
Field |
Description |
Sample Value |
platformType |
Required Data Type: String The platform type on which the app runs. |
iphone |
name |
Data Type: String |
|
description |
Data Type: String |
|
publicStoreId |
Data Type: String |
|
featuredApp |
Data Type: Boolean |
|
perAppVpnByLabelOnly |
Data Type: Boolean |
|
quarantinable |
Data Type: Boolean |
|
pushedOnRegistration |
Data Type: Boolean |
|
backupPrevented |
Data Type: Boolean |
|
dataProtectionRequired |
Data Type: Boolean |
|
overrideURL |
Data Type: String |
|
cdnDisabled |
Data Type: Boolean |
|
vpnIds |
Data Type: Integer VPN ID's. Replaces any existing VPN ID's |
|
categories |
Field Type: Request body Data Type: Integer ID's of categories. Replaces any existing category associations. |
|
deletedResources |
Data Type: String UUID's of resources to delete. |
|
iOS appData request fields
Field |
Description |
Sample Value |
noCostApp |
Required Data Type: Boolean |
|
hiddenInAppstore |
Required Data Type: Boolean |
|
ipadOnly |
Data Type: Boolean |
|
Android appData request fields
Field |
Description |
Sample Value |
mandatory |
Required Data Type: Boolean |
|
versionRequired |
Required Data Type: Boolean Use for AppConnect Android apps. |
|
enforceVersion |
Required Data Type: Boolean Use for non-AppConnect Android apps. |
|
minimumOsVersion |
Data Type: String |
|
androidWork |
Data Type: Boolean |
|
silentInstall |
Field Type: Request body Data Type: Boolean |
|
uninstallBlocked |
Data Type: Boolean |
|
restrictions |
Data Type: Object Array of Android For Work app restrictions. |
[{"displayValue": null, "values": null, "value": "false", "type": "BOOL","key": "can_read_personal_emails", "title": "Can Read Personal Emails"}] |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of returned objects. |
Sample request and response
Request - URL decoded
curl -X POST \
'https://[Ivanti EPMM]/api/v2/appstore/apps/121?adminDeviceSpaceId=1&appData={"name":"Cookbook","description":"","featuredApp":true,"perAppVpnByLabelOnly":false,"pushedOnRegistration":true,"enforceVersion":true,"overrideURL":"","cdnDisabled":true,"vpnIds":[],"categories":[],"deletedResources":[],"versionRequired":null,"minimumOsVersion":"21","androidWork":false,"autoUpdate":null,"androidWorkSilentInstall":null,"blockWidget":false,"androidWorkBlockUninstall":false,"enableMobileIronAccess":false,"androidWorkQuarantineApp":true,"androidWorkThirdPartyAppRuntimePermissions":false,"androidWorkHideThirdPartyApps":false,"androidWorkManagedCertificates":false,"accessProfileId":0,"featuredBanner":false,"androidWorkManagedDeviceSilentInstall":false,"androidWorkSelfHostedApkLicense":"","displayMessage":false,"enterpriseConfigs":[]} -F "appData=</Users/ssmith/editreq2.json" -F phoneScreenshot=@/Users/ssmith/ss1.png -F phoneScreenshot=@/Users/ssmith/ss2.png -F icon=@/Users/ssmith/icon.png
-H 'Authorization: Basic <token>' \
-H 'Content-Type: application/json' \
Response
{
"results": {
"id": 121,
"name": "Cookbook",
"platformType": "Android",
"platformCode": "A",
"version": "10.4.1.0.25R",
"altVersion": "530",
"displayVersion": "10.4.1.0.25R",
"appId": "com.mobileiron.qa",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": null,
"publicStoreId": null,
"developerName": "",
"description": "",
"updateNotes": "",
"cost": null,
"currency": null,
"averageRating": null,
"ratingCount": null,
"installSize": 73324046,
"createdAt": 1566329105000,
"modifiedAt": 1566411412000,
"vpnIds": [],
"iconFile": {
"fileName": "icon.png",
"uuid": "c880eead-109a-4172-958d-dab521d08984",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=121&uuid=c880eead-109a-4172-958d-dab521d08984&ext=PNG"
},
"installer": {
"fileName": "qa-MIClient-10.4.1.0.apk",
"uuid": "b21a3d4c-53f0-4034-8538-5e8dc2a82e51"
},
"phoneScreenshots": [],
"tabletScreenshots": [],
"categories": [],
"featuredApp": true,
"featuredBanner": false,
"bannerDescription": null,
"bannerStyle": null,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": "",
"quarantinable": true,
"pushedOnRegistration": true,
"backupPrevented": true,
"cdnServiceEnabled": false,
"cdnDisabled": true,
"deviceSpaceId": 1,
"spaces": [
{
"id": 1,
"name": "Global",
"parentId": 0,
"path": "/1/"
}
],
"newApp": true,
"minimumOsVersion": "21",
"previousAppId": null,
"androidWork": false,
"androidWorkSilentInstall": false,
"androidWorkManagedDeviceSilentInstall": false,
"androidWorkBlockUninstall": false,
"androidWorkQuarantineApp": true,
"androidWorkThirdPartyAppRuntimePermissions": false,
"androidWorkHideThirdPartyApps": false,
"androidWorkManagedCertificates": false,
"enableMobileIronAccess": false,
"accessProfileId": "0",
"androidWorkGooglePlayDistributionEnabled": true,
"androidWorkSelfHostedApkDefinitionUrl": null,
"androidWorkSelfHostedApkDefinitionStatus": null,
"androidWorkSelfHostedApkLicense": null,
"androidWorkSelfHostedApkStatus": "Status: Not available for download",
"blockWidget": false,
"autoUpdate": false,
"permissionUpdateAvailable": false,
"enterpriseConfigs": [],
"versionRequired": false,
"codeVersion": "530",
"mandatory": false,
"mandatoryOverwrite": false,
"secureApp": false,
"enforceVersion": true,
"vpnNames": null
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.get.app.success",
"localizedMessage": "App successfully fetched."
}
]
}
Upload app screenshot
This call uploads an app screenshot.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/apps/{id}/{type}/screenshots
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Path Data Type: Number The id of the app whose screenshot to upload. |
2 |
type |
Required Parameter Type: Path Data Type: String Type of screenshot to upload. Valid values are: •phone •tablet |
phone |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of retrieved objects shown in the following rows. |
url |
|
uuid |
|
fileName |
|
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XPOST 'https://[Ivanti EPMM]
/api/v2/appstore/apps/2/tablet/screenshots?adminDeviceSpaceId=1' -F screenshot=@/Users/srolls/Downloads/evernote_tablet2.png
Response
{
"messages": [
{
"localizedMessage": "\"Screenshot added successfully.\"",
"messageKey": "com.mobileiron.vsp.messages.appstore.add.screenshot.success",
"type": "Info"
}
],
"results": {
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=2&uuid=d9a45b45-05d6-4526-b458-92404d6453fd&ext=PNG",
"uuid": "d9a45b45-05d6-4526-b458-92404d6453fd",
"fileName": "evernote_tablet2.png"
}
}
Get all app categories
This call gets a list of all app categories.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
/api/v2/appstore/categories
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of retrieved objects shown in the following rows. |
description |
|
name |
|
id |
|
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XGET 'https://[Ivanti EPMM]/api/v2/appstore/categories?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"localizedMessage": "Categories successfully fetched.",
"messageKey": "com.mobileiron.vsp.messages.appstore.get.categories.success",
"type": "Info"
}
],
"results": [
{
"description": "The first category",
"name": "Category 1",
"id": 1
},
{
"description": "The second category",
"name": "Category 2",
"id": 2
}
]
}
Get information about a specific app category
This call returns information about a specific app category.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
/api/v2/appstore/categories/{id}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Path Data Type: Number ID of the app category whose information to retrieve. You can get this value with the Get all app categories call. |
2 |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of retrieved objects shown in the following rows. |
description |
|
name |
|
id |
|
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XGET 'https://[Ivanti EPMM]/api/v2/appstore/categories/1?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"localizedMessage": "Categories successfully fetched.",
"messageKey": "com.mobileiron.vsp.messages.appstore.get.categories.success",
"type": "Info"
}
],
"results": {
"description": "The first category",
"name": "Category 1",
"id": 1
}
}
Create an app category
This call creates an app category.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/categories
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
name |
Required Parameter Type: Request body Data Type: String Name of the category to create. |
Action Game |
description |
Required Parameter Type: Request body Data Type: String Description of the category to create. |
Action games with multiple player capability. |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
A number representing how many new categories were created. |
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-H "Content-Type: application/json" --data '{"name":"Category 1", "description":"The first category"}' -XPOST 'https://[Ivanti EPMM]/api/v2/appstore/categories?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"localizedMessage": "Category created successfully.",
"messageKey": "com.mobileiron.vsp.messages.appstore.create.category.success",
"type": "Info"
}
],
"results": 1
}
Edit an app category
This call edits an app category.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/categories/{id}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
name |
Parameter Type: Request body Data Type: String Updated category name. |
Memory Game |
description |
Parameter Type: Request body Data Type: String Updated category description. |
Memory games with multiple player capability. |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-H "Content-Type: application/json" --data '{"name":"Category One", "description":"The 1st category"}' -XPUT 'https://[Ivanti EPMM]/api/v2/appstore/categories/1?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"localizedMessage": "Category successfully updated.",
"messageKey": "com.mobileiron.vsp.messages.appstore.update.category.success",
"type": "Info"
}
]
}
Delete an app category
This call deletes an app category.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
DELETE
Request URI
/api/v2/appstore/categories/{id}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XDELETE 'https://[Ivanti EPMM]/api/v2/appstore/categories/2?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"localizedMessage": "Category successfully updated.",
"messageKey": "com.mobileiron.vsp.messages.appstore.delete.category.success",
"type": "Info"
}
]
}
Get per app list of VPNs
This call gets the list of available per app VPNs.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
GET
Request URI
/api/v2/appstore/perappvpns
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
results |
An array of retrieved objects shown in the following rows. |
name |
|
id |
|
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XGET 'https://[Ivanti EPMM]/api/v2/appstore/perappvpns?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"localizedMessage": "Per App VPN list successfully fetched.",
"messageKey": "com.mobileiron.vsp.messages.appstore.get.perappvpns.success",
"type": "Info"
}
],
"results": [
{
"name": "VPN 1",
"id": 12
},
{
"name": "VPN 2",
"id": 13
}
]
}
Delete an app
This call removes an app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
DELETE
Request URI
/api/v2/appstore/apps/{ids}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
ids |
Required Parameter Type: Query Data Type: Number ID of the app to remove. |
119 |
Response fields
Field |
Description |
messages |
Container for messages information. |
Type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XDELETE 'https://[Ivanti EPMM]/api/v2/appstore/apps/119?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.remove.app.success",
"localizedMessage": "App successfully removed."
}
]
}
Send a message to an app
This call sends a new install or update message to an app.
Sending an installation request to an app
If you are using this call to send an installation request to an app, then you need to send two calls:
1. | Convert the target app to managed: Include this parameter and setting, convertToManaged=true, to convert the app to managed. |
2. | Send the installation request to the app: Include these parameters and settings, installIncluded=true and updateIncluded=true, to send installation request. |
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Manage app |
HTTP method
POST
Request URI
/api/v2/appstore/apps/{id}/message
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Path Data Type: Number ID of the app to which to send the message. |
117 |
installIncluded |
Parameter Type: Request body Data Type: Boolean Default: false If true, send message for new installs. See Sending an installation request to an app for information about how to use this parameter to send an installation request to an app. |
false |
updateIncluded |
Parameter Type: Request body Data Type: Boolean Default: false If true, send message for updates. See Sending an installation request to an app for information about how to use this parameter to send an installation request to an app. |
false |
pushApp |
Parameter Type: Request body Data Type: Boolean Default: false If true, push the app. |
false |
convertToManaged |
Parameter Type: Boolean Data Type: Number Default: false If true, convert un-managed to managed app. See Sending an installation request to an app for information about how to use this parameter to send an installation request to an app. |
false |
deviceUuids |
Parameter Type: Request body Data Type: Array of string Default: null If not null, specifies a specific set of devices to receive the message. If null, devices to receive the message will be determined based on labels. |
["a2b149e8-817d-484b-874c-e2113b8524b8", "a8733819-eea9-4e43-b87e-2824d02f7bcf"] |
Response fields
Field |
Description |
messages |
Container for messages information. |
messageParameters |
Parameters for the localized message. |
localizedMessage |
Localized message with parameters resolved. |
messageKey |
Message key for the localized message bundle. |
type |
Indicates the type of the message. |
results |
A number representing how devices are queued to receive the message. |
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-H "Content-Type: application/json" --data '{"installIncluded":true, "updateIncluded":true, "pushApp":true, "convertToManaged":false, "deviceUuids":["a2b149e8-817d-484b-874c-e2113b8524b8", "a8733819-eea9-4e43-b87e-2824d02f7bcf"] }' -XPOST 'https://[Ivanti EPMM]/api/v2/appstore/apps/117/message?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"messageParameters": [],
"localizedMessage": "\"Send message request queued successfully.\"",
"messageKey": "com.mobileiron.vsp.messages.appstore.send.message.success",
"type": "Info"
}
],
"results": 2
}
Apply Apps To Labels
This call applies apps to labels.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Apply and remove application label |
HTTP method
PUT
Request URI
/api/v2/appstore/apps/{appIds}/labels/{labelIds}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
appIds |
Required Parameter Type: Path Data Type: Long IDs of the apps to apply to labels. |
119 |
labelIds |
Parameter Type: Request body Data Type: Number ID of the labels to which to apply the apps. |
-1 |
Response fields
Field |
Description |
messages |
Container for messages information. |
type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
Sample request and response
Request
curl -k -sS -u <userName>:<password>
-XPUT 'https://[Ivanti EPMM]/api/v2/appstore/apps/119,121/labels/-1,-11?adminDeviceSpaceId=1'
Response
{
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.apply.label.success",
"localizedMessage": "App(s) successfully applied to label(s)."
}
]
}
Apply App to Labels with Track
This call applies an app to labels, with a track. A track can be something like beta, production, or alpha. The trackId parameter description below describes how to find the tracks available to you. You can also use this call to specify whether an app is mandatory.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Role |
Category: App Management Role Description: Apply and remove application label |
HTTP method
PUT
Request URI
/api/v2/appstore/apps/{id}/labels
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Number Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Path Data Type: Number IDs of the apps to apply to labels. Separate multiple IDs with a comma. |
105 |
labels |
Parameter Type: Request body Data Type: String Container for request body. |
{ "labels": [ { "label": "12", "trackId": "FFFFFFFF", "mandatory": true } ] }' |
label |
Parameter Type: Request body Data Type: Number ID of the labels to which to apply the app. |
{ "labels": [ { "label": "12", "trackId": "FFFFFFFF", "mandatory": true } ] }' |
trackId |
Parameter Type: Request body Data Type: String ID of the Track to which to apply the app. To get the trackId, use GET /mifs/admin/rest/api/v2/afw/tracks/{appId}, for example:
|
{ "label": "12", "trackId": "FFFFFFFF", "mandatory": true } ] }' |
mandatory |
Parameter Type: Request body Data Type: Boolean Specify whether the app is mandatory. |
{ "labels": [ { "label": "12", "trackId": "FFFFFFFF", "mandatory": true } ] }' |
Response fields
Field |
Description |
messages |
Container for messages information. |
type |
Indicates the type of the message. |
messageKey |
Message key for the localized message bundle. |
localizedMessage |
Localized message with parameters resolved. |
Sample request and response
Request
curl -X PUT \
'https://[Ivanti EPMM]/mifs/admin/rest/api/v2/appstore/apps/105/labels?adminDeviceSpaceId=1' \
-H 'Authorization: Basic <token>' \
-H 'Content-Type: application/json' \
-d '{
"labels": [
{
"label": "12",
"trackId": "FFFFFFFF",
"mandatory": true
},
{
"label": "5",
"trackId": "FFFFFFFF",
"mandatory": false
},
{
"label": "4",
"trackId": "FFFFFFFF",
"mandatory": true
},
{
"label": "10",
"trackId": "FFFFFFFF",
"mandatory": false
}
]
}'
Response
{
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.apply.label.success",
"localizedMessage": "App(s) successfully applied to label(s)."
}
]
}
Get the Android for Work schema of an app
This retrieves the Android for Work (AFW) schema of an app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Roles |
•Category: Settings and Services Management •Category: App Management •Category: Configuration Management |
HTTP method
GET
Request URI
/api/v2/afw/schema/{package name}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
package name |
Required Parameter Type: Path Data Type: String Package name of the app for which to retrieve the Android for Work schema. |
com.dropbox.android |
Response fields
Field |
Description |
results |
JSON container for the results. |
restrictions | JSON container for the restrictions results. |
key | String. |
title | String. |
restrictionType | Type. |
description | String. |
permissions | JSON container for permissions results. Array of AndroidWorkAppPermission objects. |
id | Long. |
permissionId | String. |
state | String. |
name | String. |
description | String. |
Sample request and response
Request
curl -X GET 'https://[Ivanti EPMM]/mifs/admin/rest/api/v2/afw/schema/com.dropbox.android/?adminDeviceSpaceId=1' -H 'Authorization: Basic <token>'
Responses
Success:
{
"results": {
"restrictions": [
{
"key": "team_emm_token",
"title": "Dropbox EMM auth token",
"restrictionType": "STRING",
"description": "The auth token from the EMM section in the Dropbox Admin Console"
}
],
"permissions": [
{
"id": 118,
"permissionId": "android.permission.READ_CONTACTS",
"state": "ACCEPTED",
"name": "read your contacts",
"description": "Allows the app to read data about your contacts stored on your device, including the frequency with which you've called, emailed, or communicated in other ways with specific individuals. This permission allows apps to save your contact data, and malicious apps may share contact data without your knowledge."
},
{
"id": 119,
"permissionId": "android.permission.GET_ACCOUNTS",
"state": "ACCEPTED",
"name": "find accounts on the device",
"description": "Allows the app to get the list of accounts known by the device. This may include any accounts created by applications you have installed."
},
{
"id": 120,
"permissionId": "android.permission.WRITE_EXTERNAL_STORAGE",
"state": "ACCEPTED",
"name": "modify or delete the contents of your USB storage",
"description": "Allows the app to write to the USB storage."
},
{
"id": 124,
"permissionId": "android.permission.CAMERA",
"state": "ACCEPTED",
"name": "take pictures and videos",
"description": "Allows the app to take pictures and videos with the camera. This permission allows the app to use the camera at any time without your confirmation."
},
{
"id": 125,
"permissionId": "android.permission.READ_EXTERNAL_STORAGE",
"state": "ACCEPTED",
"name": "read the contents of your USB storage",
"description": "Allows the app to read the contents of your USB storage."
}
]
}
}
Error - product not found:
{
"messages": [
{
"type": "Error",
"messageKey": "com.mobileiron.vsp.messages.afw.controller.exception",
"localizedMessage": "Exception: 'No product was found for the given id.' occurred",
"messageParameters": [
"No product was found for the given id."
]
}
]
}
Error - Unable to connect to Google Play API:
{
"messages": [
{
"type": "Error",
"messageKey": "com.mobileiron.vsp.messages.afw.permission.connection.google.play.error",
"localizedMessage": "Unable to obtain a Google Play API connection"
}
]
}
Download an app definition file
This call downloads an app definition file.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Roles |
•Category: App Management •Category: App Management |
HTTP method
POST
Request URI
/api/v2/appstore/apps/{id}/definition
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
id |
Required Parameter Type: Path Data Type: Integer ID of the app for which to download the definition file. |
122 |
Response fields
The response is the download of a definition file in JSON format. The JSON contains the following fields.
Field |
Description |
package_name |
String. Package name of the app. |
version_name | String. Version of the app. |
version_code | Int. |
minimum_sdk | Integer. |
maximum_sdk | Integer. |
application_label | String. Lebel of the application. |
file_sha1_base64 | String. |
file_sha256_base64 | String. |
icon_base64 | String. |
file_size | Long. |
certificate_base64 | String. |
externally_hosted_url | String. URL to the app. |
uses-permission | String. List of permissions used by the app. |
uses-feature | String. List of features used by the app. |
Sample request and response
Request
curl -X POST \
'https://[Ivanti EPMM]/api/v2/appstore/apps/122/definition?adminDeviceSpaceId=1' \
-H 'Authorization: Basic <token>' \
Response in the form of a downloaded definition file
Success:
{
"package_name": "com.mobileiron",
"version_name": "10.4.1.0.25R",
"version_code": 530,
"minimum_sdk": 21,
"application_label": "MobileIron",
"file_sha1_base64": "8dH5GqTz02vMOwbc+wEiCV2lcIQ=",
"file_sha256_base64": "7hmuB1qzHO3o2VzZE8XefNmAjP57OxsxxV6zWZi0t0s=",
"icon_base64": "<icon base 64 code deleted here for brevity>",
"file_size": 73670995,
"certificate_base64": [
"<certificate base 64 code deleted here for brevity>"
],
"externally_hosted_url": "https://[Ivanti EPMM]m/mifs/rs/api/v2/appstore/apps/122/download?appId=com.mobileiron&vc=530",
"uses-permission": [
"android.permission.DOWNLOAD_WITHOUT_NOTIFICATION",
"android.permission.REQUEST_DELETE_PACKAGES",
"com.samsung.android.knox.permission.KNOX_BLUETOOTH",
"android.permission.ACCESS_COARSE_LOCATION",
"com.mobileiron.anyware.android.libcloud.supportlibclient.SUPPORT_PERMISSION",
"android.permission.WAKE_LOCK",
"android.permission.ACCESS_WIFI_STATE",
"com.samsung.android.knox.permission.KNOX_HW_CONTROL",
"com.samsung.android.knox.permission.KNOX_APP_MGMT",
"android.permission.MANAGE_ACCOUNTS",
"com.google.android.c2dm.permission.RECEIVE",
"com.samsung.android.knox.permission.KNOX_CERTIFICATE",
"com.mobileiron.supportlibclient.SUPPORT_PERMISSION",
"com.symbol.mxmf.ACCESS_MX_MANAGEMENT_FRAMEWORK_SERVICE",
"com.sec.enterprise.knox.cloudmdm.smdms.provider.permission.READ",
"android.permission.REQUEST_INSTALL_PACKAGES",
"com.motorolasolutions.emdk.mxframework.ACCESS_MX_MANAGEMENT_FRAMEWORK_SERVICE",
"com.samsung.android.knox.permission.KNOX_PHONE_RESTRICTION",
"android.permission.CHANGE_WIFI_STATE",
"android.permission.INTERNET",
"com.zimperium.supportlibclient.SUPPORT_PERMISSION",
"com.samsung.android.knox.permission.KNOX_FIREWALL",
"android.permission.AID_READPROC",
"android.permission.GET_TASKS",
"android.permission.READ_CONTACTS",
"android.permission.READ_LOGS",
"android.permission.GET_ACCOUNTS",
"android.permission.READ_SMS",
"android.permission.FOREGROUND_SERVICE",
"android.permission.BLUETOOTH_ADMIN",
"android.permission.SYSTEM_ALERT_WINDOW",
"android.permission.RECEIVE_BOOT_COMPLETED",
"android.permission.NFC",
"android.permission.WRITE_EXTERNAL_STORAGE",
"android.permission.ACCESS_FINE_LOCATION",
"com.android.launcher.permission.UNINSTALL_SHORTCUT",
"com.samsung.android.knox.permission.KNOX_SECURITY",
"android.permission.ACCESS_NETWORK_STATE",
"com.samsung.android.knox.permission.KNOX_WIFI",
"android.permission.USE_FINGERPRINT",
"com.android.launcher.permission.INSTALL_SHORTCUT",
"com.cisco.anyconnect.vpn.android.MODIFY_VPN",
"com.google.android.providers.gsf.permission.READ_GSERVICES",
"android.permission.RECEIVE_SMS",
"com.android.email.permission.ACCESS_PROVIDER",
"com.mobileiron.tunnel.config.permission",
"com.samsung.android.knox.permission.KNOX_RESTRICTION_MGMT",
"android.permission.WRITE_SYNC_SETTINGS",
"android.permission.KILL_BACKGROUND_PROCESSES",
"android.permission.READ_CALL_LOG",
"android.permission.USE_BIOMETRIC",
"android.permission.CHANGE_NETWORK_STATE",
"android.permission.CAMERA",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.BLUETOOTH",
"android.permission.WRITE_SETTINGS",
"android.permission.READ_PHONE_STATE"
],
"uses-feature": [
"android.hardware.location.gps",
"android.hardware.bluetooth",
"android.hardware.camera",
"android.hardware.camera.autofocus",
"android.hardware.touchscreen",
"android.hardware.telephony",
"android.hardware.location.network",
"android.hardware.location",
"android.hardware.wifi"
]
}
Error - not found:
{
"messages": [
{
"type": "Error",
"messageKey": "com.mobileiron.vsp.messages.http.404",
"localizedMessage": "Not found"
}
]
}
Get the Android for Work permissions of an app
This retrieves the Android for Work (AFW) permissions of an app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Roles |
•Category: Settings and Services Management •Category: App Management •Category: Configuration Management |
HTTP method
GET
Request URI
/api/v2/afw/permissions_v2/{package_name}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
package name |
Required Parameter Type: Path Data Type: String Package name of the app for which to retrieve the Android for Work permissions. |
com.dropbox.android |
Sample request
Request
curl -X GET 'https://[Ivanti EPMM]/mifs/admin/rest/api/v2/afw/permissions_v2/com.dropbox.android/?adminDeviceSpaceId=1' -H 'Authorization: Basic <token>'
Get the Android for Work restrictions of an app
This retrieves the Android for Work (AFW) restrictions of an app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Roles |
•Category: Settings and Services Management •Category: App Management •Category: Configuration Management |
HTTP method
GET
Request URI
/api/v2/afw/restrictions/{package_name}
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
package name |
Required Parameter Type: Path Data Type: String Package name of the app for which to retrieve the Android for Work restrictions. |
com.dropbox.android |
Sample request
Request
curl -X GET 'https://[Ivanti EPMM]/mifs/admin/rest/api/v2/afw/restrictions/com.dropbox.android/?adminDeviceSpaceId=1' -H 'Authorization: Basic <token>'
Add a Google Play app
This call adds a Google Play app.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Roles |
Category: App Management |
HTTP method
POST
Request URI
/api/v2/appstore/googleplay
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Path Data Type: Long Device space ID of the administrator. |
1 |
bundleId |
Required Parameter Type: Path Data Type: String Bundle IDof the Google Play app. |
com.facebook.katana |
forceUpdate |
Parameter Type: Path Data Type: Boolean Default: false Specify whether to force update the app. |
true |
countryCode |
Parameter Type: Path Data Type: String Country code of the app. |
|
languageCode |
Parameter Type: Path Data Type: String Language code of the app. |
|
Response fields
Field |
Description |
results |
|
id | |
name | |
platformType | |
platformCode | |
version | |
altVersion | |
displayVersion | |
appId | |
creatorType | |
catalogType | |
publicAppStoreType | |
publicStoreId | |
developerName | |
description | |
updateNotes | |
cost | |
currency | |
averageRating | |
ratingCount | |
installSize | |
createdAt | |
modifiedAt | |
vpnIds | |
iconFile | |
fileName | |
uuid | |
url | |
installer | |
phoneScreenshots | |
fileName | |
uuid | |
url | |
tabletScreenshots | |
categories | |
featuredApp | |
featuredBanner | |
bannerDescription | |
bannerStyle | |
hiddenInAppstore | |
perAppVpnByLabelOnly | |
dataProtectionRequired | |
overrideURL | |
quarantinable | |
pushedOnRegistration | |
backupPrevented | |
cdnServiceEnabled | |
cdnDisabled | |
deviceSpaceId | |
spaces | |
newApp | |
minimumOsVersion | |
previousAppId | |
androidWork | |
androidWorkSilentInstall | |
androidWorkManagedDeviceSilentInstall | |
androidWorkBlockUninstall | |
androidWorkQuarantineApp | |
androidWorkThirdPartyAppRuntimePermissions | |
androidWorkHideThirdPartyApps | |
androidWorkManagedCertificates | |
enableMobileIronAccess | |
accessProfileId | |
autoInstallMode | |
autoInstallPriority | |
networkTypeConstraint | |
chargingStateConstraint | |
deviceIdleStateConstraint | |
androidWorkGooglePlayDistributionEnabled | |
androidWorkSelfHostedApkDefinitionUrl | |
androidWorkSelfHostedApkDefinitionStatus | |
androidWorkSelfHostedApkLicense | |
androidWorkSelfHostedApkStatus | |
blockWidget | |
autoUpdate | |
permissionUpdateAvailable | |
enterpriseConfigs | |
versionRequired | |
codeVersion | |
mandatory | |
mandatoryOverwrite | |
secureApp | |
enforceVersion | |
vpnNames | |
messages | |
type | |
messageKey | |
localizedMessage |
Sample request and response
Request
curl -X POST \
'https://[Ivanti EPMM]/api/v2/appstore/googleplay?adminDeviceSpaceId=1&bundleId=com.facebook.katana' \
-H 'Authorization: Basic <token>' \
-H 'Content-Type: application/json' \
Response
Success:
{
"results": {
"id": 117,
"name": "Facebook",
"platformType": "Android",
"platformCode": "A",
"version": null,
"altVersion": "",
"displayVersion": null,
"appId": "com.facebook.katana",
"creatorType": "ADMIN",
"catalogType": "APP",
"publicAppStoreType": "GOOGLE_PLAY",
"publicStoreId": "com.facebook.katana",
"developerName": "Visit website",
"description": "Keeping up... <remainder of description removed for brevity>",
"updateNotes": "• Improvements for reliability and speed",
"cost": 0.0,
"currency": null,
"averageRating": null,
"ratingCount": null,
"installSize": 0,
"createdAt": 1567016231000,
"modifiedAt": 1567016593000,
"vpnIds": [],
"iconFile": {
"fileName": "logo.png",
"uuid": "251b66ad-5d17-4bb3-b627-3b2817d96bcf",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=117&uuid=251b66ad-5d17-4bb3-b627-3b2817d96bcf&ext=PNG"
},
"installer": null,
"phoneScreenshots": [
{
"fileName": "screen-shot-0.png",
"uuid": "d99a6a18-306a-4803-b67f-8dbf8fd827a4",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=117&uuid=d99a6a18-306a-4803-b67f-8dbf8fd827a4&ext=PNG"
},
{
"fileName": "screen-shot-1.png",
"uuid": "877c335d-9518-4f06-9e1b-7f2e51c96f67",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=117&uuid=877c335d-9518-4f06-9e1b-7f2e51c96f67&ext=PNG"
},
{
"fileName": "screen-shot-2.png",
"uuid": "fb0efef7-d643-45b0-9ec9-a2f267596471",
"url": "/mifs/image/app.html?command=getAppArtifact&action=getAppArtifact&appid=117&uuid=fb0efef7-d643-45b0-9ec9-a2f267596471&ext=PNG"
}
],
"tabletScreenshots": [],
"categories": [],
"featuredApp": false,
"featuredBanner": false,
"bannerDescription": null,
"bannerStyle": null,
"hiddenInAppstore": false,
"perAppVpnByLabelOnly": false,
"dataProtectionRequired": false,
"overrideURL": null,
"quarantinable": false,
"pushedOnRegistration": false,
"backupPrevented": false,
"cdnServiceEnabled": false,
"cdnDisabled": false,
"deviceSpaceId": 1,
"spaces": null,
"newApp": false,
"minimumOsVersion": null,
"previousAppId": null,
"androidWork": false,
"androidWorkSilentInstall": false,
"androidWorkManagedDeviceSilentInstall": false,
"androidWorkBlockUninstall": false,
"androidWorkQuarantineApp": false,
"androidWorkThirdPartyAppRuntimePermissions": false,
"androidWorkHideThirdPartyApps": false,
"androidWorkManagedCertificates": false,
"enableMobileIronAccess": false,
"accessProfileId": null,
"autoInstallMode": "doNotAutoInstall",
"autoInstallPriority": null,
"networkTypeConstraint": null,
"chargingStateConstraint": null,
"deviceIdleStateConstraint": null,
"androidWorkGooglePlayDistributionEnabled": true,
"androidWorkSelfHostedApkDefinitionUrl": null,
"androidWorkSelfHostedApkDefinitionStatus": null,
"androidWorkSelfHostedApkLicense": null,
"androidWorkSelfHostedApkStatus": "Status: Not available for download",
"blockWidget": false,
"autoUpdate": false,
"permissionUpdateAvailable": false,
"enterpriseConfigs": [],
"versionRequired": false,
"codeVersion": "",
"mandatory": false,
"mandatoryOverwrite": false,
"secureApp": false,
"enforceVersion": false,
"vpnNames": null
},
"messages": [
{
"type": "Info",
"messageKey": "com.mobileiron.vsp.messages.appstore.import.app.success",
"localizedMessage": "App successfully imported."
}
]
}
Error - not found:
{
"messages": [
{
"type": "Error",
"messageKey": "com.mobileiron.vsp.messages.appstore.apps.app.not.found",
"localizedMessage": "No app found with id 'com.faccccebook.katana'",
"messageParameters": [
"com.faccccebook.katana"
]
}
]
}
Get apps which have "per-app vpn by label only" unselected and VPNs configured
To alleviate the deprecation of the per-app vpn by label only check box, this call affords the issuer the ability to query which apps have the per-app vpn by label only disabled and VPNs configured.
Required Role
See Authentication for complete details on ensuring that the credentials you use for basic authentication belong to a user with the necessary role for this API call.
Required Roles |
•Category: Settings and Services Management •Category: App Management •Category: Configuration Management |
HTTP method
GET
Request URI
/api/v2/appstore/apps/usingPerAppWithoutLabel?adminDeviceSpaceId=1
Request parameters
Parameter |
Description |
Sample Value |
adminDeviceSpaceId |
Required Parameter Type: Query Data Type: Long Device space ID of the administrator. |
1 |
Sample request and response
Request
curl --location 'https://[Ivanti EPMM]/api/v2/appstore/apps/usingPerAppWithoutLabel?adminDeviceSpaceId=1' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic <token>'
Response
{ "results": [ { "id": 125, "name": "ProntoForms - Mobile Forms", "platformType": "IPhone", "version": null, "altVersion": "", "displayVersion": null, "creatorType": "ADMIN", "catalogType": "APP", "publicAppStoreType": "ITUNES", "publicStoreId": "305587992", "developerName": "ProntoForms Inc.", "description": "ProntoForms is the global leader in automating mobile workflows. The ProntoForms mobile solution makes it easy for remote workers to collect data on a mobile device, access company data in the field, and automatically share the results with back-office systems, cloud services, and people. We make it possible for companies to track, analyze, and continuously improve processes. Platform Elements: - The Mobile Forms App Automate business tasks through powerful data access, collection and delivery. - Integrations & Workflows Seamlessly connect and route data across systems, cloud services, and people. - Analytics & Reporting Track and measure field operations to optimize business performance.", "updateNotes": "Bugfixes and Optimizations", "cost": 0, "currency": "USD", "averageRating": 2.5, "ratingCount": 44, "installSize": 235397120, "createdAt": 1682535184000, "modifiedAt": 1682579977000, "trashed": false, "uuid": "ddf5962a-e4cb-11ed-b486-005056904853", "virtualCatalogId": 50020, "deviceSpaceId": 1, "deviceSpacePath": "/1/", "installerFile": null, "logoFile": null, "entries": { "ALLOW_UPDATE_FROM_UNMANAGED_TO_MANAGED": "false", "APP_CDN_DISALLOW": "false", "APP_FEATURED": "false", "APP_FEATURED_BANNER": "false", "APP_OVERRIDE_QUARANTINE": "false", "APP_PROVISIONING_TYPE": "false", "APP_QUARANTINABLE": "false", "AUTO_UPDATE_ENABLED": "false", "CONVERT_APP_QUARANTINE": "false", "COUNTRY_CODE": "US", "DATA_PROTECTION_REQUIRED": "false", "ENFORCE_UPDATE_FROM_UNMANAGED_TO_MANAGED": "false", "GLOBAL_APP_CONFIG_SETTINGS_POLICY": "false", "HIDE_IN_APPSTORE": "false", "IPAD_ONLY": "false", "Logo Phone Count": "1", "Logo Phone File Height 1": "512", "Logo Phone File Name 1": "logo.png", "Logo Phone File Size 1": "71722", "Logo Phone File UUID 1": "db3c1113-9c97-4c26-a1a7-1db5c752d95a", "Logo Phone File Width 1": "512", "MANUAL_UPDATE_ENABLED": "false", "MIN_OS_VERSION": "15.0", "NEW_APP": "true", "NO_COST_APP": "true", "PERAPPVPNLABELONLY": "false", "PREFER_PLIST_APP_CONFIG": "false", "PREVENT_APP_BACKUP": "false", "PREVENT_OFFLOADING_APP": "false", "PUSH_APP_ON_REGISTRATION": "false", "RELEASE_DATE": "1680716796000", "REMOVE_APP_MDM_DISABLED": "true", "ScreenShot Phone Count": "5", "ScreenShot Phone File Height 1": "696", "ScreenShot Phone File Height 2": "696", "ScreenShot Phone File Height 3": "696", "ScreenShot Phone File Height 4": "696", "ScreenShot Phone File Height 5": "696", "ScreenShot Phone File Name 1": "screen-shot-0.png", "ScreenShot Phone File Name 2": "screen-shot-1.png", "ScreenShot Phone File Name 3": "screen-shot-2.png", "ScreenShot Phone File Name 4": "screen-shot-3.png", "ScreenShot Phone File Name 5": "screen-shot-4.png", "ScreenShot Phone File Size 1": "68911", "ScreenShot Phone File Size 2": "242196", "ScreenShot Phone File Size 3": "98507", "ScreenShot Phone File Size 4": "52129", "ScreenShot Phone File Size 5": "42961", "ScreenShot Phone File UUID 1": "d06e2450-b6a3-4a31-8dc5-c87bb12c1de3", "ScreenShot Phone File UUID 2": "9fc6020a-7ae0-4c4e-9e00-18c8779e2fe1", "ScreenShot Phone File UUID 3": "cefba864-a049-4b65-9faf-e43b6696625b", "ScreenShot Phone File UUID 4": "be2ee997-a3b7-4470-936b-5f97acc1f369", "ScreenShot Phone File UUID 5": "9b543138-d78c-4f29-a2fe-53bb396af345", "ScreenShot Phone File Width 1": "392", "ScreenShot Phone File Width 2": "392", "ScreenShot Phone File Width 3": "392", "ScreenShot Phone File Width 4": "392", "ScreenShot Phone File Width 5": "392", "ScreenShot Tablet Count": "6", "ScreenShot Tablet File Height 1": "768", "ScreenShot Tablet File Height 2": "768", "ScreenShot Tablet File Height 3": "768", "ScreenShot Tablet File Height 4": "768", "ScreenShot Tablet File Height 5": "768", "ScreenShot Tablet File Height 6": "768", "ScreenShot Tablet File Name 1": "screen-shot-0.png", "ScreenShot Tablet File Name 2": "screen-shot-1.png", "ScreenShot Tablet File Name 3": "screen-shot-2.png", "ScreenShot Tablet File Name 4": "screen-shot-3.png", "ScreenShot Tablet File Name 5": "screen-shot-4.png", "ScreenShot Tablet File Name 6": "screen-shot-5.png", "ScreenShot Tablet File Size 1": "51270", "ScreenShot Tablet File Size 2": "171399", "ScreenShot Tablet File Size 3": "107193", "ScreenShot Tablet File Size 4": "163427", "ScreenShot Tablet File Size 5": "53554", "ScreenShot Tablet File Size 6": "50167", "ScreenShot Tablet File UUID 1": "a7703983-1b76-4711-a65e-d4d5c53dff70", "ScreenShot Tablet File UUID 2": "9bc07a99-71d0-4b59-a48b-593f033b5f74", "ScreenShot Tablet File UUID 3": "53b0c01b-cfc6-438e-8cd6-1fac0f214ad9", "ScreenShot Tablet File UUID 4": "37757921-d69f-4b9e-af32-72d4e51baa24", "ScreenShot Tablet File UUID 5": "b7101fec-5ac7-4848-a784-ac52c76037c1", "ScreenShot Tablet File UUID 6": "265c7e82-2d95-4eb6-a98c-859d5d0821c7", "ScreenShot Tablet File Width 1": "576", "ScreenShot Tablet File Width 2": "576", "ScreenShot Tablet File Width 3": "576", "ScreenShot Tablet File Width 4": "576", "ScreenShot Tablet File Width 5": "576", "ScreenShot Tablet File Width 6": "576", "VPNID": "11", "VPN_COUNT": "1", "VPP": "false", "VPP_CONTENT_METADATA_APP": "false" }, "appResources": [ ], "categories": [ ], "vpnIds": [ 11 ], "dependencyList": [ ], "webContentFilterIds": [ ], "dnsProxyFilterIds": [ ], "identifier": "com.truecontext.ProntoForms" } ], "messages": [ { "type": "Info", "messageKey": "com.mobileiron.vsp.messages.appstore.search.app.success", "localizedMessage": "App search returned '1' results.", "messageParameters": [ 1 ] } ], "resultCount": 1 }