Common App Data

In order to simplify the app publishing process, the response from the following endpoints always returns an application object in JSON form:

  • POST /v1/applications/
  • POST /v1/applications/<app_id>
  • PUT /v2/applications/<app_id>

The following tables describe the editable fields in the application object:

Fields that Apply to All App Types

Field Type Mandatory Validation Rules Default Value Description
app_name string No Max 50 characters Filename (native) or URL (public store)  
version_num string No Max 21 characters 1.0, incremented for subsequent versions (2.0, 3.0, etc)  
version_note string No Max 4096 characters <app_name> - <version.created_date> - <version_num>  
author string No Max 150 characters Administrator’s user_id  
enabled boolean No   false Enable or disable the app. For more information, see Disable or Enable an App.
short_description string No Max 100 characters    
long_description string No Max 10,000 characters    
custom_metadata JSON No   null Define custom metadata. For more information, see Application Custom Metadata.
sort_weight integer No   1000 Modify the order of apps on the Applications page and in the App Catalog. The lower the sort weight, the higher in the list the app displays.
reviews_enabled boolean No   true Enable or disable reviews. For more information, see App Ratings and Reviews.

Fields that Apply to Some App Types

Field Type Mandatory Validation Rules Default Value Only Applies To Description
no_auth_delivery_enabled boolean No   false Native apps Enables direct install. For more information, see Application Custom Metadata.
add_to_start boolean No   false Android native and Windows executable (EXE File) When true, adds the app to the Windows Apps view. For more information, see Windows App File Formats.
form_factor_override string No [], [“phones”], [“tablets”],[“phones”, “tablets”] [] Native apps (except windows) web apps, Apple App Store, Google Play Specify the type of device on which the app can run. For more information, see Override Device Form Factor.
required boolean No   false Native iOS and Android apps Specify whether it is mandatory for users to install the app version on their device.
required_by date No Validated as an ISO-9601 date null Native iOS and Android apps Specify the date by which users must install the app version on their device. This field is only valid for POST /applications/<app_id>. For more information, see Mandatory Versus Optional Updates.
notify_users boolean No   true Native apps When true, sends a push notification to users informing them of the new app version. This field is only valid for POST /applications/<app_id>.
url string Yes Validated as a URL null Web apps, Apple App Store, Google Play  

Hybrid App Data

When you create or rebuild a hybrid app via the API, you must include a hybrid object in your request. A hybrid object includes the following fields:

Field Type Mandatory Validation Rules Default Value Description
url string Yes Validated as a URL N/A The URL used to create the hybrid app. Only mandatory when creating a new app.
platform string Yes Either: iOS or Android N/A Specify the intended platform for the hybrid app. Only mandatory when creating a new app.
show_navbar boolean No   False Specify whether a navigation bar will appear in the web view.
allow_tabs boolean No   False Specify whether links will open in a new tab within the web view rather than re-use the current tab. Note: This is always False for the Android platform.
file_open_support boolean No   False Specify whether users can tap on links in the hybrid app to open files in other apps.

For more information on these options, see Hybrid Apps.

Application Object Integer Descriptions

The application object includes a number of data fields with integer values that aren’t obvious unless you know the corresponding description. It may also include an embedded version object with its own data fields.

The following tables identify these values:

App Status

Field name: status

This field appears in the application object.

Value Description
0 Disabled
1 Enabled

App Type

Field name: type

This field appears in the application object.

Value Description
0 iOS
1 Web App
2 iTunes
3 Android
4 iOS Config File
5 Android Market
6 Blackberry
9 Windows Phone Store
10 Windows Phone
11 Windows Store
12 Windows EXE file
13 Windows MSI file
14 Windows ZIP file

App Version Signing Status

Field name: sign_status

This field appears in the version object.

Value Description
0 The app is not yet signed.
-1 The app is in the process of being signed.
1 The app has been signed.
2 The signing process has been canceled.
3 The signing request can’t be processed.

Form Factor

Field name: form_factor

This field appears in the application object.

Value Description
0 Unknown
1 Phone
2 Tablet
3 Phone and Tablet

Version Policy Status

Field name: wrap_status

This field appears in the version object.

Value Description
-1 This indicates that an error has occurred while applying the policy layer.
0 No policies are applied to the app.
1 Policies are applied to the app and it is signed. The app is ready to be deployed to users.
2 Policies are currently being applied to the app.
3 Policies have been applied to the app and it needs to be signed before deploying to users.
4 A previous version of this app had policies applied, but the app has since updated to a new version which has not yet been configured with policies.

Kryptowire Verification Status

Field name: kryptowire_verification_status

This field appears in the version object.

Value Description
-1 An Error occurred during the app inspection process.
0 No inspection report is available and no report has been requested.
1 The report is uploading to Kryptowire.
2 The report has been uploaded to Kryptowire and the system is waiting for a response.
3 The report is ready and available.

Application Object Example

The following example illustrates a typical response from POST /v1/applications/ after sending a request to create a native iOS app.

Here, the application object (application) also includes a version object (version) with an embedded install file object (install_file). The install file object in this example also includes a nested object called binary_metadata. The binary_metadata object is only populated in the response when you’re working with native apps; it is empty in the response from Apple App Store or Google Play app requests.

{
    "application": {
        "add_to_start": false,
        "banner_image_url": null,
        "bundle_id": "com.apperian.Actions",
        "enabled": false,
        "id": "DzCbyyTyl_cner0hvbmRSA",
        "is_adhoc": false,
        "is_app_catalog": false,
        "is_email_config_profile": false,
        "is_hybrid": false,
        "latest_version_id": "xYGI30YLRZALvL4PBA13RA",
        "no_auth_delivery_enabled": false,
        "operating_system": 1,
        "push_enabled": false,
        "required": false,
        "required_by": "9999-12-31T23:59:59.999999+00:00",
        "required_by_group": false,
        "reviews_enabled": true,
        "sort_weight": 1000,
        "status": 0,
        "type": 0,
        "update_compliance_period_in_days": null,
        "url_scheme": null,
        "kryptowire_verification_status": 0,
        "latest_install_file_id": "oHhH9eTRqsvMH9jyKtogyA",
        "long_description": "Not just for coffee breaks, this game is challenging and immersive",
        "min_os_version": null,
        "notify_users": true,
        "release_date": "2018-05-07T19:05:13.707781+00:00",
        "required": false,
        "required_by": "9999-12-31T23:59:59.999999+00:00",
        "short_description": "Install this game for some coffee break fun!",
        "sign_status": 0,
        "version_note": "The completely patched first installment!",
        "version_num": "1.2",
        "wrap_status": 0,
        "version": {
            "app_id": "DzCbyyTyl_cner0hvbmRSA",
            "app_name": "Action!",
            "author": "the_admin@my_company.com",
            "binary_version": null,
            "custom_metadata": null,
            "form_factor": 0,
            "icon_path": "org_14/iphone_199/version_242/Actions_57.png",
            "id": "xYGI30YLRZALvL4PBA13RA",
            "install_file": {
                "action": "upload",
                "app_id": "DzCbyyTyl_cner0hvbmRSA",
                "apperian_wrapper_version": null,
                "binary_metadata": {
                    "is_cordova": false,
                    "plist": {
                        "ApperianCloakedEasePsk": "nPel942e3vqzzJ0AoVQ-Gw",
                        "ApperianEasePsk": "181",
                        "ApperianInstallFilePsk": 434,
                        "ApperianVersionPsk": 361,
                        "BuildMachineOSBuild": "14F27",
                        "CFBundleDevelopmentRegion": "English",
                        "CFBundleDisplayName": "Actions",
                        "CFBundleExecutable": "Actions",
                        "CFBundleIconFile": "Actions_57.png",
                        "CFBundleIdentifier": "com.apperian.Actions",
                        "CFBundleInfoDictionaryVersion": "6.0",
                        "CFBundleName": "Actions",
                        "CFBundlePackageType": "APPL",
                        "CFBundleResourceSpecification": "ResourceRules.plist",
                        "CFBundleSignature": "????",
                        "CFBundleSupportedPlatforms": [
                            "iPhoneOS"
                        ],
                        "CFBundleURLTypes": [
                            {
                                "CFBundleURLName": "com.apperian.ease.urlscheme",
                                "CFBundleURLSchemes": [
                                    "eas181"
                                ]
                            }
                        ],
                        "CFBundleVersion": "2.0",
                        "DTCompiler": "com.apple.compilers.llvm.clang.1_0",
                        "DTPlatformBuild": "11D167",
                        "DTPlatformName": "iphoneos",
                        "DTPlatformVersion": "7.1",
                        "DTSDKBuild": "11D167",
                        "DTSDKName": "iphoneos7.1",
                        "DTXcode": "0511",
                        "DTXcodeBuild": "5B1008",
                        "LSRequiresIPhoneOS": true,
                        "MinimumOSVersion": "7.1",
                        "NSMainNibFile": "MainWindow",
                        "UIDeviceFamily": [
                            1
                        ],
                        "UIStatusBarStyle": "UIStatusBarStyleOpaqueBlack"
                    },
                    "profile": {
                        "AppIDName": "Profile Name",
                        "ApplicationIdentifierPrefix": [
                            "3NFOWEK6K19"
                        ],
                        "architectures": [
                            32
                        ],
                        "CreationDate": 1469214817,
                        "DeveloperCertificates": null,
                        "Entitlements": {
                            "application-identifier": "3NFOWEK6K19.com.apperian.Actions",
                            "com.apple.developer.networking.vpn.api": [
                                "allow-vpn"
                            ],
                            "com.apple.developer.team-identifier": "3DT8ND2DH5",
                            "get-task-allow": false,
                            "keychain-access-groups": [
                                "3NFOWEK6K19.*"
                            ]
                        },
                        "ExpirationDate": 1500750817,
                        "Name": "Profile Name",
                        "Platform": [
                            "iOS"
                        ],
                        "ProvisionsAllDevices": true,
                        "TeamIdentifier": [
                            "3DT8ND2DH5"
                        ],
                        "TeamName": "ExampleTeam",
                        "TimeToLive": 365,
                        "UUID": "d0a0112e-fd91-4155-9ca5-f315d8150fa4",
                        "Version": 1
                    },
                    "signables_info": [
                        {
                            "bundle_id": "com.apperian.Actions",
                            "name": "Actions",
                            "provisioning_profile": {
                                "AppIDName": "Actions demo",
                                "ApplicationIdentifierPrefix": [
                                    "3NFOWEK6K19"
                                ],
                                "CreationDate": 1469214817,
                                "DeveloperCertificates": null,
                                "Entitlements": {
                                    "application-identifier": "3NFOWEK6K19.com.apperian.Actions",
                                    "com.apple.developer.networking.vpn.api": [
                                        "allow-vpn"
                                    ],
                                    "com.apple.developer.team-identifier": "3DT8ND2DH5",
                                    "get-task-allow": false,
                                    "keychain-access-groups": [
                                        "3NFOWEK6K19.*"
                                    ]
                                },
                                "ExpirationDate": 1500750817,
                                "Name": "Actions demo",
                                "Platform": [
                                    "iOS"
                                ],
                                "ProvisionsAllDevices": true,
                                "TeamIdentifier": [
                                    "3DT8ND2DH5"
                                ],
                                "TeamName": "ExampleTeam",
                                "TimeToLive": 365,
                                "UUID": "d0a0112e-fd91-4155-9ca5-f315d8150fa4",
                                "Version": 1
                            },
                            "type": 1
                        }
                    ]
                },
                "checksum": null,
                "created": "2018-05-07T19:05:13.712813+00:00",
                "expires": "2017-07-22T15:13:37+00:00",
                "id": "oHhH9eTRqsvMH9jyKtogyA",
                "kryptowire_verification_id": null,
                "mime": null,
                "path": "org_14/iphone_199/version_242/Actions.ipa",
                "sign_credentials_id": null,
                "size": 294057,
                "version_id": "xYGI30YLRZALvL4PBA13RA"
            }
        }
    },
    "warnings": [
        {
            "error": "arch_32_bits",
            "message": "This 32-bit application must be updated to 64-bit or it will not work with iOS 11..."
        }
    ]
}