- Home
- Resources
- Applications
Provides access and management of applications.
GET /{tenantGuid}/api/v1/applications
- Available Since:
- 12.6.0
Get applications with a specific query or all applications.
If no applications are found, an empty applications list is included in the response body.
Sample request
GET /SRP00000/api/v1/applications?query=name=sampleApplication
Sample response body
{
"applications" : [ {
"appScanState": "Verified safe"
"guid" : "aa291d31-3b51-4424-a09c-7b127ee398a8",
"name":"BBM",
"os": "BB",
"sourceName": "In Store",
"storeName": "BlackBerry World",
"vendorName": "BlackBerry Limited",
"version": "10.15.7.5"
} ]
}
Request Parameters
Name |
Location |
Description |
query |
query |
(Optional) Query parameter for filtering the results. The format is
<field name>=<query value> ,
for example packageId=com.blackberry.gd.notes.enterprise . Multiple field-value pairs can be
provided in the
query with each pair separated with a comma, in which case only applications matching all of the criteria
provided will
be included in the response. Querying for empty/null values is not supported.
Special characters (comma, backslash) in query values must be escaped with a backslash.
By default, a case-insensitive exact match will be performed for each field in the query.
The following table describes the fields that can be used in the query.
Field |
Type |
Description |
name |
string |
Name of the application. Case insensitive exact match. |
packageId |
string |
Package Id of the application, it applies to Dynamics and non-Dynamics applications. Case insensitive exact
match. |
|
Response Codes
Code |
Condition |
Data type |
200 |
OK (even if no applications are found). |
|
400 |
Invalid search query. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.applications-v1+json |
Applications
(JSON) |
|
POST /{tenantGuid}/api/v1/applications
- Available Since:
- 12.10.0
Add an internal non-Dynamics application with a binary.
Samples
Sample request body
app binary
Sample response body
{
"appScanState": "Scanning"
"appScanStateMessage": "The app will be scanned by CylancePROTECT."
"guid" : "fs462e64-2c77-1609-e49c-4e127ee452d0",
"name":"Internal HR app",
"os": "android",
"sourceName": "Hosted",
"storeName": "Google Play",
"vendorName": "Company",
"version": "1.2"
}
Request Parameters
Name |
Location |
Description |
Content-Disposition |
header |
The value for this required request header must follow the format of
filename="<app binary filename>" . |
X-Secured-Type |
header |
This optional request header can only be used when creating an internal Android application, and controls the
type of Android devices that the application will get sent to. Supported values: "All Android devices",
"Samsung KNOX Workspace" (do not quote the value). If not specified when creating an Android application, a
default of "All Android devices" will be used. |
Request Body
Media type |
Data type |
application/octet-stream |
object
|
Response Codes
Code |
Condition |
Data type |
201 |
Created. |
|
400 |
Invalid request. For example, invalid field semantics or missing required field. |
|
409 |
Application already exists. |
|
413 |
Application too large. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
POST /{tenantGuid}/api/v1/applications
- Available Since:
- 12.10.0
Create an internal BlackBerry Dynamics application entitlement.
Samples
Sample request body
{
"name": "Sales",
"description": "Enterprise sales app.",
"entitlementId": "com.company.sales",
"entitlementVersion": "2.3.0.0"
}
Sample response body
{
"guid": "aa291d31-3b51-4424-a09c-7b127ee398a9",
"name": "Sales",
"description": "Enterprise sales app.",
"entitlementId": "com.company.sales",
"entitlementVersion": "2.3.0.0"
}
Response Codes
Code |
Condition |
Data type |
201 |
Created. |
|
400 |
Invalid request. For example, invalid field semantics or missing required field. |
|
409 |
BlackBerry Dynamics app entitlement already exists. |
|
DELETE /{tenantGuid}/api/v1/applications/{appGuid}
- Available Since:
- 12.10.0
Delete an internal non-Dynamics application with a binary or an internal BlackBerry Dynamics app entitlement.
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the application or BlackBerry Dynamics application. |
Response Codes
Code |
Condition |
Data type |
204 |
Application Removed. |
|
404 |
Application not found. |
|
403 |
Not authorized to complete the request. |
|
403 |
Dynamics application entitlement is not internal. |
|
GET /{tenantGuid}/api/v1/applications/{appGuid}
- Available Since:
- 12.11.0
Get details of an application by GUID.
Samples
Sample response body
{
"appScanState": "Verified safe"
"guid" : "aa291d31-3b51-4424-a09c-7b127ee398a8",
"name":"BBM",
"os": "BB",
"sourceName": "In Store",
"storeName": "BlackBerry World",
"vendorName": "BlackBerry Limited",
"version": "10.15.7.5"
}
Sample response body for application with overridden profiles
{
"guid": "46f9d5bb-a584-406d-a890-850d21f03ea6",
"name": "BlackBerry Access",
"os": "all",
"entitlementId": "com.good.gdgma",
"sourceName": "In Store",
"storeName": "all",
"securedType": "BlackBerry Dynamics",
"vendorName": "Good Technology",
"reviewMode": "PUBLIC",
"entitlementVersions": [
"2.4.5",
"2.3.1",
"2.0.91.201",
"1.2.0.0",
"1.1.0.0",
"1.0.0.0"
],
"compliancePolicyGuid": "281b271a-870b-4d29-8da5-0ff9b85e3ab5",
"connectivityPolicyGuid": "86fa8991-8aeb-437e-9a3d-d52eb57e4b79",
"securityPolicyGuid": "0bc1a21e-0b36-4b4d-acf9-1df28f058ca5"
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the application to get |
Response Codes
Code |
Condition |
Data type |
200 |
OK. |
|
404 |
Application not found. |
|
503 |
The external server is unavailable, try again later. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
PATCH /{tenantGuid}/api/v1/applications/{appGuid}
- Available Since:
- 12.10.0
Update any of the following fields for an internal non-Dynamics app: name, description, vendorName, categories, reviewMode,
canBackup (for iOS). Update the following fields for any iOS app: canBackup.
GUID does not need to be specified because it is specified in the URL. Any other fields specified will be ignored. If no
changes are detected in the request, the response will indicate success without having made any changes to the internal
application. Updating BlackBerry Dynamics applications is not supported.
Samples
Sample request body
{
"description": "HR management application for our organization."
}
Sample response body
{
"guid": "fs462e64-2c77-1609-e49c-4e127ee452d0",
"name": "Internal HR app",
"description": "HR management application for our organization.",
"os": "android",
"canBackup": "false",
"sourceName": "Hosted",
"storeName": "Google Play",
"vendorName": "Company",
"version": "1.2"
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
|
Request Body
Media type |
Data type |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
Response Codes
Code |
Condition |
Data type |
200 |
Updated. |
|
400 |
Invalid request. For example, invalid field semantics or missing required field. |
|
404 |
Application not found. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
PUT /{tenantGuid}/api/v1/applications/{appGuid}
- Available Since:
- 12.17.1
Update an internal non-Dynamics application with an additional binary. The previous binary will remain, but
existing application assignments will be updated to the new binary.
Samples
Sample request body
app binary
Sample response body
{
"appScanState": "Scanning"
"appScanStateMessage": "The app will be scanned by CylancePROTECT."
"guid" : "fs462e64-2c77-1609-e49c-4e127ee452d0",
"name":"Internal HR app",
"os": "android",
"sourceName": "Hosted",
"storeName": "Google Play",
"vendorName": "Company",
"version": "1.2"
}
Request Parameters
Name |
Location |
Description |
Content-Disposition |
header |
The value for this required request header must follow the format of
filename="<app binary filename>" . |
X-Secured-Type |
header |
This optional request header can only be used when creating an internal Android application, and controls the
type of Android devices that the application will get sent to. Supported values: "All Android devices",
"Samsung KNOX Workspace" (do not quote the value). If not specified when creating an Android application, a
default of "All Android devices" will be used. |
appGuid |
path |
|
Request Body
Media type |
Data type |
application/octet-stream |
object
|
Response Codes
Code |
Condition |
Data type |
201 |
Created. |
|
400 |
Invalid request. For example, invalid field semantics or missing required field. |
|
409 |
Application already exists. |
|
413 |
Application too large. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
GET /{tenantGuid}/api/v1/applications/{appGuid}/configDefinition
- Available Since:
- 12.11.0
Get the application config definition using the app GUID.
The 'definition' field is deprecated for iOS and Android.
Use the following route to get the config definition:
GET /{tenantGuid}/api/v1/applications/{appGuid}/configDefinition/schema.
Sample response body
{
"version": 9,
"modified": "2019-01-17T09:46:08.514Z",
"id": 6,
"definition": [
{
"pview": {
"id": 7,
"type": "tabbed",
"title": "BlackBerry Dynamics Features",
"key": "GoodDynamicsFeatures",
"po": [
{
"pe": {
"name": "GD_SDK_Security_AllowBypassUnlock",
"checkbox": {
"id": 1,
"label": "Allow use of Bypass Unlock in the UEM Client",
"value": true,
"key": "GD_SDK_Security_AllowBypassUnlock"
},
"id": 8
}
},
{
"desc": " - BlackBerry 2FA screen"
},
{
"pview": {
"id": 9,
"po": [
{
"desc": "To import certificates from an application, set the following properties."
},
{
"pe": {
"name": "certProviderAppName",
"id": 10,
"text": {
"numbersonly": false,
"maxlength": "30",
"id": 2,
"label": "App name: ",
"type": "text",
"key": "appName"
},
"desc": [
"App that will provide the certificates. App name will be displayed to the user"
]
}
},
{
"pe": {
"name": "certProviderUTISchemes",
"id": 11,
"text": {
"numbersonly": false,
"id": 3,
"label": "UTI schemes: ",
"type": "textarea",
"key": "utiSchemes"
},
"desc": [
"Enter comma separated UTI schemes that will be sent to the certificate provider app"
]
}
}
]
}
},
{
"pview": {
"sendto": [
"None"
],
"id": 12,
"po": [
{
"pe": {
"hidden": {
"dtype": "string",
"id": 4,
"value": "2A:5A:32:BF:68:75:D5:50:1A:2B:9E:07:78:C7:B4:A2:B0:FE:EC:C4:40:E2:CF:8C:16:10:96:3C:74:A8:49:77",
"key": "blackberry.appMetadata.android.apkCertificateDigestSha256"
},
"name": "apkCertificateDigestSha256",
"id": 13
}
},
{
"pe": {
"hidden": {
"dtype": "string",
"id": 5,
"value": "com.rim.mobilefusion.client",
"key": "blackberry.appMetadata.android.apkPackageName"
},
"name": "apkPackageName",
"id": 14
}
}
]
}
}
]
}
}
]
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the application. |
Response Codes
Code |
Condition |
Data type |
200 |
OK. |
|
404 |
Application not found. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.applicationconfigdefinition-v1+json |
Application config definition
(JSON) |
|
GET /{tenantGuid}/api/v1/applications/{appGuid}/configDefinition/schema
- Available Since:
- 12.12.0
Get the app config definition schema by the app GUID. A schema can be returned in XML or JSON format according to the app
config definition type.
Sample response body in XML format
<?xml version="1.0" encoding="UTF-8"?>
<managedAppConfiguration>
<version>1</version>
<bundleId>com.viber</bundleId>
<dict>
<boolean keyName="key.1">
<defaultValue>
<value>true</value>
</defaultValue>
</boolean>
<string keyName="key.2">
<defaultValue>
<value>str</value>
</defaultValue>
</string>
</dict>
</managedAppConfiguration>
Sample response body in JSON format
{
"id": 18,
"po": [{
"pe": {
"hidden": {
"dtype": "string",
"id": 17,
"value": "2.1",
"key": "version"
},
"name": "version",
"id": 19
}
}, {
"pview": {
"sendto": ["iOS", "Android"],
"id": 20,
"title": "TITLE | Security Policies",
"key": "passcodeSetting",
"po": [{
"pe": {
"name": "requirePasscode",
"checkbox": {
"id": 1,
"label": "Require User Password",
"value": true,
"key": "requirePasscode"
},
"id": 21
}
}, {
"pview": {
"heading": "Lock Screen Policies (Require Password)",
"id": 26,
"po": [{
"pe": {
"name": "enableIdleSecreenLock",
"checkbox": {
"id": 5,
"label": "Lock screen when idle for",
"value": false,
"key": "enableIdleScreenLock"
},
"id": 27,
"desc": ["Lock Screen help text ... to show desc only setting element "],
"dpe_id": 21
}
}, {
"pe": {
"select": {
"input": [{
"value": "120",
"desc": "2 mins"
}, {
"value": "300",
"desc": "5 mins"
}, {
"value": "600",
"desc": "10 mins"
}, {
"value": "1800",
"desc": "30 mins"
}],
"dtype": "number",
"id": 6,
"value": 300,
"key": "idleScreenLockTime"
},
"name": "idleScreenLockTime",
"id": 28,
"dpe_id": 27
}
}]
}
}]
}
}, {
"pview": {
"sendto": ["None"],
"id": 29,
"type": "collapsible",
"title": "Provisioning Policies",
"key": "provSettings",
"po": [{
"pe": {
"name": "accessKeyExpires",
"checkbox": {
"id": 11,
"label": "Access Key expires after",
"value": true,
"key": "expireAccessKey"
},
"id": 30
}
}, {
"pe": {
"name": "senderID",
"id": 32,
"text": {
"numbersonly": true,
"id": 13,
"label": "SenderID",
"type": "text",
"key": "senderid"
}
}
}, {
"pe": {
"name": "subject",
"id": 33,
"text": {
"numbersonly": false,
"id": 14,
"label": "Subject",
"type": "text",
"value": "Welcome to BlackBerry Dynamics Mobile Applications",
"key": "subject"
}
}
}, {
"pe": {
"name": "messageBody",
"id": 34,
"text": {
"numbersonly": false,
"id": 15,
"label": "Message",
"type": "textarea",
"value": "You have been given access to a BlackBerry Dynamics mobile application provided by your company.",
"key": "message"
},
"desc": ["SETTING DESCRIPTION 1st", "SETTING DESCRIPTION 2nd"]
}
}]
}
}, {
"pview": {
"id": 43,
"po": [{
"pe": {
"hidden": {
"dtype": "number",
"id": 16,
"value": 500,
"key": "maxEmails"
},
"name": "maxEmails",
"id": 44
}
}]
}
}]
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the application. |
Response Codes
Code |
Condition |
Data type |
200 |
OK. |
|
404 |
Application not found. |
|
Response Body
Media type |
Data type |
Description |
application/json |
string
(JSON) |
|
application/xml |
string
|
POST /{tenantGuid}/api/v1/applications/{appGuid}/configRanking
- Available Since:
- 12.13.0
Update ranking of application configurations. All fields in request except configuration GUID are ignored.
The order in which the appConfigs are provided decides the desired ranking.
For example, first config will have highest rank 0, second one will have rank 1 and so on.
Sample request body
{
"appConfigs": [{
"guid": "aa291d31-3b51-4424-a09c-7b127ee398a8"
}, {
"guid": "841e0146-07d5-4963-947c-dcabe7293806"
}]
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the application. |
Request Body
Media type |
Data type |
application/vnd.blackberry.applicationconfigs-v1+json |
Application configs
(JSON) |
Response Codes
Code |
Condition |
Data type |
204 |
Ranks updated. |
|
404 |
Application not found. |
|
400 |
Validation failure. |
|
DELETE /{tenantGuid}/api/v1/applications/{appGuid}/profile/{profileGuid}
- Available Since:
- 12.6.0
Remove an overridden BlackBerry Dynamics application profile.
Supported profile types:
- BLACKBERRY_DYNAMICS_COMPLIANCE
- BLACKBERRY_DYNAMICS_CONNECTIVITY
- BLACKBERRY_DYNAMICS_SECURITY
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the BlackBerry Dynamics application. |
profileGuid |
path |
GUID of the profile.
Supported profile types:
- BLACKBERRY_DYNAMICS_COMPLIANCE
- BLACKBERRY_DYNAMICS_CONNECTIVITY
- BLACKBERRY_DYNAMICS_SECURITY
|
Response Codes
Code |
Condition |
Data type |
204 |
Profile unassigned. |
|
400 |
Invalid request. For example, invalid field semantics or missing required field. |
|
404 |
Application not found. |
|
404 |
Profile not found. |
|
PUT /{tenantGuid}/api/v1/applications/{appGuid}/profile/{profileGuid}
- Available Since:
- 12.6.0
Override a BlackBerry Dynamics application profile.
Supported profile types:
- BLACKBERRY_DYNAMICS_COMPLIANCE
- BLACKBERRY_DYNAMICS_CONNECTIVITY
- BLACKBERRY_DYNAMICS_SECURITY
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the BlackBerry Dynamics application. |
profileGuid |
path |
GUID of the profile.
Supported profile types:
- BLACKBERRY_DYNAMICS_COMPLIANCE
- BLACKBERRY_DYNAMICS_CONNECTIVITY
- BLACKBERRY_DYNAMICS_SECURITY
|
Response Codes
Code |
Condition |
Data type |
204 |
Profile assigned. |
|
400 |
Invalid request. For example, invalid field semantics or missing required field. |
|
400 |
Profile type not supported. |
|
404 |
Application not found. |
|
404 |
Profile not found. |
|
PATCH /{tenantGuid}/api/v1/applications/{appGuid}/{osFamilyName}
- Available Since:
- 12.10.0
Update any of the following fields for an internal BlackBerry Dynamics application: packageId, name, description,
vendorName, categories, securedType (for Android), restrictedVersions, canBackup (for iOS). Update the following
fields for an iOS BlackBerry Dynamics application: canBackup
To override the package ID for Windows Phone 8, set "packageId", and to override for Windows 10 set "packageIdWindows10".
If request contains "packageId" or "packageIdWindows10" but there is no uploaded binary, all other fields will be ignored.
If request does not contain "packageId" or "packageIdWindows10", the update will happen to latest binary. If binary does
not exist, an error will be returned. To clear the package ID when there is no uploaded binary, send an empty "packageId"
and do not include any other field.
GUID does not need to be specified because it is specified in the URL. Any other fields specified will be ignored.
The field 'securedType' can only be used when updating an Android binary. It controls the type of Android devices that the
application will get sent to. Supported values: "All Android devices", "Samsung KNOX Workspace" (do not quote the value).
Samples
Sample request body
{
"packageId": "com.company.sales",
"description": "HR management application for our organization."
}
Sample response body
{
"name": "Sales app",
"description": "HR management application for our organization.",
"os": "android",
"canBackup": "false",
"sourceName": "Hosted",
"storeName": "Google Play",
"vendorName": "Company",
"version": "1.2",
"categories": [ "Category 4", "Category 5", "Category 6" ],
"securedType": "All Android Devices",
"restrictedVersions": [ "1.0", "2.0" ]
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the internal BlackBerry Dynamics entitlement to update the binary for. |
osFamilyName |
path |
OS family name of the application to update: android, ios, osx, or wp. |
Request Body
Media type |
Data type |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
Response Codes
Code |
Condition |
Data type |
200 |
Updated. |
|
204 |
Updated, no application to return (no package ID or binary). |
|
400 |
Failed to update. |
|
404 |
Application not found. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
POST /{tenantGuid}/api/v1/applications/{appGuid}/{osFamilyName}
- Available Since:
- 12.10.0
Add a new application binary for a specific OS to an internal BlackBerry Dynamics application entitlement. Adding an
application binary for Android devices with a work profile is not supported.
Samples
Sample request body
app binary
Sample response body
{
"appScanState": "Scanning"
"appScanStateMessage": "The app will be scanned by CylancePROTECT."
"name":"Sales",
"os": "android",
"sourceName": "Hosted",
"storeName": "Google Play",
"vendorName": "Company",
"version": "2.3.3"
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the internal BlackBerry Dynamics entitlement to add the binary to. |
osFamilyName |
path |
OS family name of the application binary to add: android, ios or wp (for Windows Phone 8). |
Request Body
Media type |
Data type |
application/octet-stream |
object
|
Response Codes
Code |
Condition |
Data type |
201 |
Added. |
|
400 |
Failed to add app binary. |
|
404 |
Application not found. |
|
409 |
App already exists. |
|
413 |
Application too large. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
PUT /{tenantGuid}/api/v1/applications/{appGuid}/{osFamilyName}
- Available Since:
- 12.17.1
Add a new application binary for a specific OS to an internal BlackBerry Dynamics application entitlement and
update any application assignments to the new version. Adding an application binary for Android devices with a
work profile is not supported.
Samples
Sample request body
app binary
Sample response body
{
"appScanState": "Scanning"
"appScanStateMessage": "The app will be scanned by CylancePROTECT."
"name":"Sales",
"os": "android",
"sourceName": "Hosted",
"storeName": "Google Play",
"vendorName": "Company",
"version": "2.3.3"
}
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the internal BlackBerry Dynamics entitlement to add the binary to. |
osFamilyName |
path |
OS family name of the application binary to add: android, ios or wp (for Windows Phone 8). |
Request Body
Media type |
Data type |
application/octet-stream |
object
|
Response Codes
Code |
Condition |
Data type |
201 |
Added. |
|
400 |
Failed to add app binary. |
|
404 |
Application not found. |
|
409 |
App already exists. |
|
413 |
Application too large. |
|
Response Body
Media type |
Data type |
Description |
application/vnd.blackberry.application-v1+json |
Application
(JSON) |
|
DELETE /{tenantGuid}/api/v1/applications/{appGuid}/{osFamily}
- Available Since:
- 12.10.0
Deletes an application binary version from an internal BlackBerry Dynamics application entitlement for a specific OS
Family.
Request Parameters
Name |
Location |
Description |
appGuid |
path |
GUID of the application or BlackBerry Dynamics application. |
osFamily |
path |
the OS Family to be removed from |
Response Codes
Code |
Condition |
Data type |
204 |
Application Binary Removed. |
|
404 |
Application not found. |
|
403 |
Dynamics application entitlement is not internal. |
|
403 |
Unsupported OS Family. |
|