Downloads and Installs API

Use the Downloads API to download and install native applications from the EASE server onto a user’s device.

With this API, you can download and install:

  • A specific native application
  • All applications available to the user
  • All mandatory applications available to the user
  • All application updates available to the user

An application is available to the user if the application is assigned to a group to which the user belongs.

Note

After you send a request to any of the Downloads and Installs API resources, you should send a POST /catalog/applications/installed request to ensure that EASE has an up-to-date inventory of what is installed on a user’s device. If EASE does not have an accurate inventory of what is installed on a user’s device, certain features will not work properly; for example, EASE will not send a push notification to the user’s device when there is an update available for an app it does not know is installed.

EASE assigns a unique ID to each application you add to EASE. With the Publishing API, this ID is returned as an appID. With other API resources, it is returned as either an app_psk or app_id (or both). When you send a request to any REST API resources where you need to specify an ID for an application, you can send the appID, app_id, or app_psk; EASE accepts the value of any of these parameters.

Providing the X-UDID

When sending a request to any of the resources in this API, you will provide the X-UDID for the user’s device onto which you want to install the application. From the X-UDID, EASE determines the type of device (iOS, Android, or Blackberry).

For an iOS device, EASE responds with a plist (property list) containing all the essential information for the bundled executable(s). The device can then parse the plist to download the file(s).

For an Android or Blackberry device, EASE responds with download URLs that points to the APK or JAD files.

For the UDID, provide the unique Device ID assigned by EASE to the user’s device. A Device ID associates a user with an App Catalog on a particular device. Because a user can run the App Catalog on multiple devices, there may be multiple Device IDs per user. You can view a list of all a user’s devices on the user’s Details page in the EASE Portal. You can also run the Device Details report to list Device IDs for all users in your organization. For more information on Device IDs, see Device Details in the Apperian Documentation Center. For more information on the Device Details report, see Running Reports.

Resources

GET /v1/downloads/install/applications/(app_psk)

Install a Specific Native Application

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs a native application onto a device. To specify the app you want to install, include the app_psk (the app’s unique indentifier) at the end of the resource URL. The app_psk for each app in your organization is included in the data returned by the GET /applications resource.

URLs

Environment URL
North America https://na01ws.apperian.com/v1/downloads/install/applications/<int:app_psk>
Europe https://eu01ws.apperian.eu/v1/downloads/install/applications/<int:app_psk>

URL Parameters

app_psk
(Required) Unique ID of the app to be installed. DATA TYPE: integer
token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/applications/14080?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>items</key>
     <array>
         <dict>
              <key>assets</key>
              <array>
                   <dict>
                      <key>kind</key>
                      <string>software-package</string>
                      <key>url</key>
                      <string>https://qafdownload.qa.apperian.com/?download_token=6ixG5MReTVyOK6DlAY8JnQ</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>full-size-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0efe88c.png</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>display-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0edff80.png</string>
                  </dict>
              </array>
              <key>metadata</key>
              <dict>
                   <key>bundle-identifier</key>
                   <string>com.apperian.Actions</string>
                   <key>bundle-version</key>
                   <string>2.0</string>
                   <key>kind</key>
                   <string>software</string>
                   <key>subtitle</key>
                   <string></string>
                   <key>title</key>
                   <string>App (2.0)</string>
              </dict>
         </dict>
     </array>
   </dict>
</plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/applications/10016?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="https://qafdownload.qa.apperian.com/?
download_token=KjbREzcbTYmcxolePWn87Q">https://qafdownload.qa.apperian.com/?download_token=KjbRPWn87Q</a>.
If not click the link.
GET /v1/downloads/install/applications/all

Attention

There is a newer version of this resource available: GET /v2/downloads/install/applications/all/. This v1 version will be deprecated in Q3 of 2017. If you currently interface with this v1 resource, please modify your code to point to the latest V2 version. If you have any questions, contact support@apperian.com.

Install All Native Applications

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs all applicable native applications onto the specified device. An applicable application is one that is both available to the authenticated user and is an appropriate application type for the specified device.

URLs

Environment URL
North America https://na01ws.apperian.com/v1/downloads/install/applications/all
Europe https://eu01ws.apperian.eu/v1/downloads/install/applications/all

URL Parameters

token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/applications/all?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

This example installs one application only.

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>items</key>
     <array>
         <dict>
              <key>assets</key>
              <array>
                   <dict>
                      <key>kind</key>
                      <string>software-package</string>
                      <key>url</key>
                      <string>https://qafdownload.qa.apperian.com/?download_token=6ixG5MReTVyOK6DlAY8JnQ</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>full-size-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0e88c5.png</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>display-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0e88c5.png</string>
                  </dict>
              </array>
              <key>metadata</key>
              <dict>
                   <key>bundle-identifier</key>
                   <string>com.apperian.Actions</string>
                   <key>bundle-version</key>
                   <string>2.0</string>
                   <key>kind</key>
                   <string>software</string>
                   <key>subtitle</key>
                   <string></string>
                   <key>title</key>
                   <string>App (2.0)</string>
              </dict>
         </dict>
     </array>
   </dict>
</plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/applications/all?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

This example installs one application only.

{
  "applications": [
    {
      "display_message": "",
      "operating_system": 102,
      "update_compliance_period_in_days": null,
      "icon_path_114": "",
      "url_scheme": "",
      "form_factor": 3,
      "long_description": "asdf",
      "allow_ota": true,
      "is_adhoc": false,
      "platform": null,
      "is_hybrid": false,
      "required_by": "3099-12-31T00:00:00+00:00",
      "is_pairing_webapp": false,
      "os_version": null,
      "is_app_catalog": false,
      "version": {
        "psk": 115,
        "posted_date": "2016-03-25T17:40:27.631494+00:00",
        "description": "asdf",
        "version_num": "2.5.2",
        "verification_status": 0,
        "latest_install_file": 150,
        "release_date": "2016-03-25T17:40:27.631494+00:00",
        "required": false,
        "mdm_id": null,
        "required_by": "9999-12-31T23:59:59.999999",
        "mdm_status": 0,
        "app_psk": 81,
        "wrap_status": 0,
        "signstatus": 0,
        "veracode_verification_status": 0,
        "notify_users": false,
        "install_file": {
          "file_type_constant": "INSTALLEXE",
          "apperian_wrapper_version": null,
          "veracode_verification_id": null,
          "hash_type": "none",
          "hash_value": null,
          "description": null,
          "app_psk": 81,
          "size": 2295504,
          "until": "9999-12-31T23:59:59.999999",
          "psk": 150,
          "complete": true,
          "appthority_verification_id": null,
          "deleted": false,
          "expires": "9999-12-31T23:59:59.999999",
          "mime": "application/vnd.android.package-archive",
          "path": "org_11/android_81/version_115/ASTRO_File_Manager_2.5.2.apk",
          "name": null,
          "created": "2016-03-25T17:40:14.875549+00:00",
          "version_psk": 115,
          "checksum": "e16f266dcdbf600acd53f7a2bf55babe1d36c896a7c8e4c687a2d012bf6dd297",
          "sign_credentials_psk": null,
          "action": "upload",
          "binary_metadata": null
        }
      },
      "reviews_enabled": true,
      "short_description": "asdf",
      "screenshot_path3": "",
      "screenshot_path1": "",
      "type": 3,
      "screenshot_path4": "",
      "screenshot_path5": "",
      "status": 1,
      "psk": 81,
      "icon_path_512": "",
      "sort_weight": 1000,
      "no_auth_delivery_enabled": true,
      "deleted": null,
      "icon_path": "org_11/android_81/folder_a1_3d.png",
      "is_email_config_profile": false,
      "custom_metadata": null,
      "add_to_start": false,
      "screenshot_path2": "",
      "tablet_screenshot_path5": "",
      "min_os_version": "3",
      "bundle_id": "com.metago.astro",
      "banner_image_url": null,
      "install_uri": "https://na01ws.apperian.com/downloads/install/applications/81?token=QRNyq3ctRM-RsGaaUs22aQ&udid=14:7D:C5:B8:52:0B",
      "tablet_screenshot_path3": "",
      "icon_path_72": "",
      "tablet_screenshot_path4": "",
      "bundle_version": null,
      "tablet_screenshot_path2": "",
      "name": "ASTRO",
      "tablet_screenshot_path1": "",
      "upgrade_bundle_id": null,
      "required": false,
      "push_enabled": false,
      "is_critical": false,
      "mdm_install": false
    }
  ]
}
GET /v1/downloads/mandatory/applications/all

Attention

There is a newer version of this resource available: GET /v2/downloads/mandatory/applications/all/. This v1 version will be deprecated in Q3 of 2017. If you currently interface with this v1 resource, please modify your code to point to the latest V2 version. If you have any questions, contact support@apperian.com.

Install All Mandatory Applications

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs all mandatory native apps that are available to the authenticated user onto the specified device. A user cannot continue to use the App Catalog until the user installs all mandatory apps.

Note

You can mark an app as mandatory when you add or edit it through the EASE Portal. Currently, you cannot mark an app as mandatory when you add it via the Publishing API. For instructions on adding applications through the EASE Portal and marking them as mandatory, see the Apperian Documentation Center.

URLs

Environment URL
North America https://na01ws.apperian.com/v1/downloads/mandatory/applications/all
Europe https://eu01ws.apperian.eu/v1/downloads/mandatory/applications/all

URL Parameters

token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/mandatory/applications/all?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

In this example, the plist file does not list any items because the user does not have any mandatory apps to install. If the user did have mandatory apps, the response would look similar to the example shown for the GET /downloads/update/applications/all resource.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
  <key>items</key>
  <array>
 </array>
  </dict>
</plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/mandatory/applications/all?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

In this example, the reponse indicates that there are no applications to install because the user does not have any mandatory apps to install. If the user did have mandatory apps, the response would look similar to the example shown for the GET /downloads/update/applications/all resource.

{
    "error": {
    "code": 20,
    "message": "No applications to install on device",
    "guid": "736565c7-5c88-4583-b0e4-e14c9d4a437d",
    "error_details": null
  }
}
GET /v1/downloads/update/applications/all

Attention

There is a newer version of this resource available: GET /v2/downloads/update/applications/all/. This v1 version will be deprecated in Q3 of 2017. If you currently interface with this v1 resource, please modify your code to point to the latest V2 version. If you have any questions, contact support@apperian.com.

Install All Application Updates

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs updates for all applicable native applications on the device. An applicable application is one that is both an appropriate application type for the device and an application that the user has previously installed on the device.

URLs

Environment URL
North America https://na01ws.apperian.com/v1/downloads/update/applications/all
Europe https://eu01ws.apperian.eu/v1/downloads/update/applications/all

URL Parameters

token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/update/applications/all?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

<?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     <plist version="1.0">
     <dict>
        <key>items</key>
        <array>
           <dict>
               <key>assets</key>
               <array>
                           <dict>
                             <key>kind</key>
                             <string>software-package</string>
                             <key>url</key>
                             <string>
                                  https://qafdownload.qa.apperian.com/?download_token=6ixG5MReTVyOK6DlAY8JnQ
                             </string>
                           </dict>
                           <dict>
                             <key>kind</key>
                             <string>full-size-image</string>
                             <key>needs-shine</key>
                             <true/>
                             <key>url</key>
                             <string>
                                  https://qaeasesvc.qa.apperian.com/data/org_1111/iphone_14080/icon.png
                             </string>
                           </dict>
                           <dict>
                             <key>kind</key>
                             <string>display-image</string>
                             <key>needs-shine</key>
                             <true/>
                             <key>url</key>
                             <string>
                                  https://qaeasesvc.qa.apperian.com/data/org_1111/iphone_14080/icon.png
                             </string>
                          </dict>
               </array>
               <key>metadata</key>
               <dict>
                           <key>bundle-identifier</key>
                           <string>com.apperian.Actions</string>
                           <key>bundle-version</key>
                           <string>2.0</string>
                           <key>kind</key>
                           <string>software</string>
                           <key>subtitle</key>
                           <string></string>
                           <key>title</key>
                           <string>App (2.0)</string>
               </dict>
           </dict>
        </array>
     </dict>
     </plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/update/applications/all?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

{
  "applications": [
    {
      "display_message": "",
      "operating_system": 102,
      "update_compliance_period_in_days": null,
      "icon_path_114": "",
      "url_scheme": "",
      "form_factor": 3,
      "long_description": "Manage your TO DO list",
      "allow_ota": true,
      "is_adhoc": false,
      "platform": null,
      "is_hybrid": false,
      "required_by": "9999-12-31T23:59:59.999999",
      "is_pairing_webapp": false,
      "os_version": null,
      "is_app_catalog": false,
      "version": {
        "psk": 116,
        "posted_date": "2016-03-25T17:58:49.474231+00:00",
        "description": "asdf",
        "version_num": "2.5.2",
        "verification_status": 0,
        "latest_install_file": 151,
        "release_date": "2016-03-25T17:58:49.474231+00:00",
        "required": false,
        "mdm_id": null,
        "required_by": "9999-12-31T23:59:59.999999",
        "mdm_status": 0,
        "app_psk": 81,
        "wrap_status": 0,
        "signstatus": 0,
        "veracode_verification_status": 0,
        "kryptowire_verification_status": 0,
        "notify_users": true,
        "install_file": {
          "file_type_constant": "INSTALLEXE",
          "apperian_wrapper_version": null,
          "veracode_verification_id": null,
          "kryptowire_verification_id": null,
          "hash_type": "none",
          "hash_value": null,
          "description": null,
          "app_psk": 81,
          "size": 2295504,
          "until": "9999-12-31T23:59:59.999999",
          "psk": 151,
          "complete": true,
          "appthority_verification_id": null,
          "deleted": false,
          "expires": "9999-12-31T23:59:59.999999",
          "mime": "application/vnd.android.package-archive",
          "path": "org_11/android_81/version_116/Actions_2.5.2.apk",
          "name": null,
          "created": "2016-03-25T17:58:45.048234+00:00",
          "version_psk": 116,
          "checksum": "e16f266dcdbf600acd53f7a2bf55babe1d36c896a7c8e4c687a2d012bf6dd297",
          "sign_credentials_psk": null,
          "action": "upload",
          "binary_metadata": null
        }
      },
      "reviews_enabled": true,
      "short_description": "asdf",
      "screenshot_path3": "",
      "screenshot_path1": "",
      "type": 3,
      "screenshot_path4": "",
      "screenshot_path5": "",
      "status": 1,
      "psk": 81,
      "icon_path_512": "",
      "sort_weight": 1000,
      "no_auth_delivery_enabled": true,
      "deleted": null,
      "icon_path": "org_11/android_81/folder_a1_3d.png",
      "is_email_config_profile": false,
      "custom_metadata": null,
      "add_to_start": false,
      "screenshot_path2": "",
      "tablet_screenshot_path5": "",
      "min_os_version": "3",
      "bundle_id": "com.example.actions",
      "banner_image_url": null,
      "install_uri": "https://na01ws.apperian.com/downloads/install/applications/81?token=QRNyq3ctRM-RsGaaUs22aQ&udid=14:7D:C5:B8:52:0B",
      "tablet_screenshot_path3": "",
      "icon_path_72": "",
      "tablet_screenshot_path4": "",
      "bundle_version": null,
      "tablet_screenshot_path2": "",
      "name": "Actions",
      "tablet_screenshot_path1": "",
      "upgrade_bundle_id": null,
      "required": false,
      "push_enabled": false,
      "is_critical": false,
      "mdm_install": false
    }
  ]
}
GET /v1/downloads/install/versions/(version_psk)

Install a Specific Version of a Native Application

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs a specific version of a native application onto a device. To specify the version you want to install, include the version_psk (the version’s unique indentifier) at the end of the resource URL. The version_psk for each app in your organization is included in the data returned by the GET /applications resource.

URLs

Environment URL
North America https://na01ws.apperian.com/v1/downloads/install/versions/<int:version_psk>
Europe https://eu01ws.apperian.eu/v1/downloads/install/versions/<int:version_psk>

URL Parameters

version_psk
(Required) Unique ID of the specific version of the app to be installed. DATA TYPE: integer
token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/versions/14080?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>items</key>
     <array>
         <dict>
              <key>assets</key>
              <array>
                   <dict>
                      <key>kind</key>
                      <string>software-package</string>
                      <key>url</key>
                      <string>https://qafdownload.qa.apperian.com/?download_token=6ixG5MReTVyOK6DlAY8JnQ</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>full-size-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0efe88c.png</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>display-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0edff80.png</string>
                  </dict>
              </array>
              <key>metadata</key>
              <dict>
                   <key>bundle-identifier</key>
                   <string>com.apperian.Actions</string>
                   <key>bundle-version</key>
                   <string>2.0</string>
                   <key>kind</key>
                   <string>software</string>
                   <key>subtitle</key>
                   <string></string>
                   <key>title</key>
                   <string>App (2.0)</string>
              </dict>
         </dict>
     </array>
   </dict>
</plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/versions/10016?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="https://qafdownload.qa.apperian.com/?
download_token=KjbREzcbTYmcxolePWn87Q">https://qafdownload.qa.apperian.com/?download_token=KjbRPWn87Q</a>.
If not click the link.
GET /v2/downloads/install/applications/all

Install All Native Applications

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs all applicable native applications onto the specified device. An applicable application is one that is both available to the authenticated user and is an appropriate application type for the specified device.

URLs

Environment URL
North America https://na01ws.apperian.com/v2/downloads/install/applications/all
Europe https://eu01ws.apperian.eu/v2/downloads/install/applications/all

URL Parameters

token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v2/downloads/install/applications/all?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

This example installs one application only.

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>items</key>
     <array>
         <dict>
              <key>assets</key>
              <array>
                   <dict>
                      <key>kind</key>
                      <string>software-package</string>
                      <key>url</key>
                      <string>https://qafdownload.qa.apperian.com/?download_token=6ixG5MReTVyOK6DlAY8JnQ</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>full-size-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0e88c5.png</string>
                   </dict>
                   <dict>
                      <key>kind</key>
                      <string>display-image</string>
                      <key>needs-shine</key>
                      <true/>
                      <key>url</key>
                      <string>https://qaeasesvc.qa.apperian.com/data/org_11/iphone_14080/icon_0e88c5.png</string>
                  </dict>
              </array>
              <key>metadata</key>
              <dict>
                   <key>bundle-identifier</key>
                   <string>com.apperian.Actions</string>
                   <key>bundle-version</key>
                   <string>2.0</string>
                   <key>kind</key>
                   <string>software</string>
                   <key>subtitle</key>
                   <string></string>
                   <key>title</key>
                   <string>App (2.0)</string>
              </dict>
         </dict>
     </array>
   </dict>
</plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/install/applications/all?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

This example installs one application only.

{
  "applications": [
    {
      "operating_system": 102,
      "update_compliance_period_in_days": null,
      "url_scheme": "",
      "id": "1a6JFJL5Ta6NqqA1EXw-rA",
      "is_adhoc": false,
      "is_hybrid": false,
      "required_by": "3099-12-31T00:00:00+00:00",
      "is_app_catalog": false,
      "latest_version_id": "1a6JFJL5Ta6NqqA1EXw-rA",
      "version": {
        "version_note": "asdf",
        "version_num": "2.5.2",
        "release_date": "2016-03-25T17:40:27.631494+00:00",
        "latest_install_file_id": "6c2SvtZqQlucRLZgBOla6w",
        "required": false,
        "required_by": "9999-12-31T23:59:59.999999",
        "app_id": "1a6JFJL5Ta6NqqA1EXw-rA",
        "wrap_status": 0,
        "sign_status": 0,
        "kryptowire_verification_status": 0,
        "notify_users": false,
        "binary_version": "ShapeWriter 3.0.9",
        "app_name": Actions,
        "icon_path": "org_11/android_81/folder_a1_3d.png",
        "short_description": "Manage your TO DO list",
        "long_description": "Come on. Get organized today with the Actions app",
        "author": "Example Company",
        "id": "1a6JFJL5Ta6NqqA1EXw-rA",
        "custom_metadata": null,
        "min_os_version": "3",
        "form_factor": 3,
        "install_file": {
          "apperian_wrapper_version": null,
          "app_id": "1a6JFJL5Ta6NqqA1EXw-rA",
          "id": "6c2SvtZqQlucRLZgBOla6w",
          "kryptowire_verification_id": null,
          "version_id": "1a6JFJL5Ta6NqqA1EXw-rA",
          "size": 2295504,
          "expires": "9999-12-31T23:59:59.999999",
          "mime": "application/vnd.android.package-archive",
          "path": "org_11/android_81/Actions.apk",
          "created": "2016-03-25T17:40:14.875549+00:00",
          "checksum": "e16f266dcdbf600acd53f7a2bf55babe1d36c896a7c8e4c687a2d012bf6dd297",
          "sign_credentials_id": null,
          "action": "upload",
          "binary_metadata": null
        }
      },
      "reviews_enabled": true,
      "type": 3,
      "status": 1,
      "sort_weight": 1000,
      "no_auth_delivery_enabled": true,
      "is_email_config_profile": false,
      "add_to_start": false,
      "bundle_id": "com.example.actions",
      "banner_image_url": null,
      "install_uri": "https://na01ws.apperian.com/downloads/install/applications/81?token=QRNyq3ctRM-RsGaaUs22aQ&udid=14:7D:C5:B8:52:0B",
      "required": false,
      "push_enabled": false,
      "mdm_install": false
    }
  ]
}
GET /v2/downloads/update/applications/all

Install All Application Updates

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs updates for all applicable native applications on the device. An applicable application is one that is both an appropriate application type for the device and an application that the user has previously installed on the device.

URLs

Environment URL
North America https://na01ws.apperian.com/v2/downloads/update/applications/all
Europe https://eu01ws.apperian.eu/v2/downloads/update/applications/all

URL Parameters

token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v2/downloads/update/applications/all?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

<?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
     <plist version="1.0">
     <dict>
        <key>items</key>
        <array>
           <dict>
               <key>assets</key>
               <array>
                           <dict>
                             <key>kind</key>
                             <string>software-package</string>
                             <key>url</key>
                             <string>
                                  https://qafdownload.qa.apperian.com/?download_token=6ixG5MReTVyOK6DlAY8JnQ
                             </string>
                           </dict>
                           <dict>
                             <key>kind</key>
                             <string>full-size-image</string>
                             <key>needs-shine</key>
                             <true/>
                             <key>url</key>
                             <string>
                                  https://qaeasesvc.qa.apperian.com/data/org_1111/iphone_14080/icon.png
                             </string>
                           </dict>
                           <dict>
                             <key>kind</key>
                             <string>display-image</string>
                             <key>needs-shine</key>
                             <true/>
                             <key>url</key>
                             <string>
                                  https://qaeasesvc.qa.apperian.com/data/org_1111/iphone_14080/icon.png
                             </string>
                          </dict>
               </array>
               <key>metadata</key>
               <dict>
                           <key>bundle-identifier</key>
                           <string>com.apperian.Actions</string>
                           <key>bundle-version</key>
                           <string>2.0</string>
                           <key>kind</key>
                           <string>software</string>
                           <key>subtitle</key>
                           <string></string>
                           <key>title</key>
                           <string>App (2.0)</string>
               </dict>
           </dict>
        </array>
     </dict>
     </plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v2/downloads/update/applications/all?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

{
  "applications": [
    {
      "operating_system": 102,
      "update_compliance_period_in_days": null,
      "url_scheme": "",
      "id": "xKPzL5lY2vN_WuI0EyxcVQ",
      "is_adhoc": false,
      "is_hybrid": false,
      "required_by": "9999-12-31T23:59:59.999999",
      "is_app_catalog": false,
      "latest_version_id": "vL7tb9OSM4rokuECMfN4Sw",
      "version": {
        "version_note": "asdf",
        "version_num": "2.5.2",
        "latest_install_file_id": "KqY780ZNWxkjdi61HkslGg",
        "app_id": "xKPzL5lY2vN_WuI0EyxcVQ",
        "release_date": "2016-03-25T17:58:49.474231+00:00",
        "required": false,
        "required_by": "9999-12-31T23:59:59.999999",
        "id": "vL7tb9OSM4rokuECMfN4Sw",
        "wrap_status": 0,
        "sign_status": 0,
        "kryptowire_verification_status": 0,
        "notify_users": true,
        "app_name": "Actions",
        "icon_path": "org_11/android_81/folder_a1_3d.png",
        "short_description": "Manage Your TO DO List",
        "long_description": "Come on. Get organized today!",
        "custom_metadata": null,
        "min_os_version": "3",
        "form_factor": 3,
        "install_file": {
          "apperian_wrapper_version": null,
          "kryptowire_verification_id": null,
          "app_id": "xKPzL5lY2vN_WuI0EyxcVQ",
          "size": 2295504,
          "id": "KqY780ZNWxkjdi61HkslGg",
          "expires": "9999-12-31T23:59:59.999999",
          "mime": "application/vnd.android.package-archive",
          "path": "org_11/android_81/Actions.apk",
          "created": "2016-03-25T17:58:45.048234+00:00",
          "checksum": "e16f266dcdbf600acd53f7a2bf55babe1d36c896a7c8e4c687a2d012bf6dd297",
          "sign_credentials_id": null,
          "action": "upload",
          "binary_metadata": null
        }
      },
      "reviews_enabled": true,
      "type": 3,
      "status": 1,
      "sort_weight": 1000,
      "no_auth_delivery_enabled": true,
      "is_email_config_profile": false,
      "add_to_start": false,
      "bundle_id": "com.example.actions",
      "banner_image_url": null,
      "install_uri": "https://na01ws.apperian.com/downloads/install/applications/81?token=QRNyq3ctRM-RsGaaUs22aQ&udid=14:7D:C5:B8:52:0B",
      "required": false,
      "push_enabled": false,
      "mdm_install": false
    }
  ]
}
GET /v2/downloads/mandatory/applications/all

Install All Mandatory Applications

Requires user context. Use session token returned from POST /catalog/authenticate.

Installs all mandatory native apps that are available to the authenticated user onto the specified device. A user cannot continue to use the App Catalog until the user installs all mandatory apps.

Note

You can mark an app as mandatory when you add or edit it through the EASE Portal. Currently, you cannot mark an app as mandatory when you add it via the Publishing API. For instructions on adding applications through the EASE Portal and marking them as mandatory, see the Apperian Documentation Center.

URLs

Environment URL
North America https://na01ws.apperian.com/v2/downloads/mandatory/applications/all
Europe https://eu01ws.apperian.eu/v2/downloads/mandatory/applications/all

URL Parameters

token
(Required) Valid authentication token returned by a POST /users/authenticate/ request. DATA TYPE: string
udid
(Required) UDID for the device. DATA TYPE: string

Header Parameter

None

Data Parameters

None

Installing onto iOS Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v2/downloads/mandatory/applications/all?token=AGWAvCVASEmlqAthdppnAA&udid=FFFFFFFF6383EEF5B7D849DE877EF31444491423"

Example Response

In this example, the plist file does not list any items because the user does not have any mandatory apps to install. If the user did have mandatory apps, the response would look similar to the example shown for the GET /downloads/update/applications/all resource.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
  <key>items</key>
  <array>
 </array>
  </dict>
</plist>

Installing onto Android Devices

Example Request

curl -X GET "https://na01ws.apperian.com/v1/downloads/mandatory/applications/all?token=MVHo-UTlR7S8o8AX5_585Q&udid=18:46:17:E0:02:E8"

Example Response

In this example, the response indicates that there are no applications to install because the user does not have any mandatory apps to install. If the user did have mandatory apps, the response would look similar to the example shown for the GET /downloads/update/applications/all resource.

{
    "error": {
    "code": 20,
    "message": "No applications to install on device",
    "guid": "736565c7-5c88-4583-b0e4-e14c9d4a437d",
    "error_details": null
  }
}