Introduction

Mobile Foundation service provides a way to quickly set up a MobileFirst server environment on IBM Cloud. You can then develop, test, and manage mobile apps from this cloud environment. Mobile Foundation provides users an easy and guided way to set up MobileFirst Server environment on IBM Cloud.

Mobile Foundation provides APIs to administer the resources such as applications, adapters, Push, APNS, GCS, WNS, application configurations, device configurations and much more. For more, see: Onboarding with Mobile Foundation.

Error handling

This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response always indicates success. A 400 type response is some sort of failure, and a 500 type response usually indicates an internal system error.

Pagination

Some API requests might return a large number of results. To avoid performance issues, these results are returned one page at a time, with a limited number of results on each page. GET requests for the some of the resources use pagination

To override the default page size, use the pageSize query parameter.

Methods

Get Adapters

Retrieves metadata for the list of deployed adapters.

GET /runtimes/mfp/adapters
Request

Query Parameters

  • The bookmark for the page if only a part of the list (a page) should be returned. If a bookmark is specified, the offset parameter is ignored.

    Example: ABC

  • WhetherTo show runtimeInfo as part of each adapter.

    Example: true

  • The locale used for error messages.

    Example: en-US

  • The offset from the beginning of the list if only a part of the list (a page) should be returned.

    Example: 2

  • The sort mode. By default, the elements are sorted in increasing order. If the sort mode starts with - (minus sign), the elements are sorted in decreasing order. Possible sort modes are displayName, deployTime. The default sort mode is displayName.

    Example:
  • The number of elements if only a part of the list (a page) should be returned. The default value is 100.

    Example: 50

Response

Status Code

  • Successfully retrieved list of adapters.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application is not found.

  • An internal error occurred.

Example responses
  • {
      "productVersion": "8.0.0.00-20180718-0449",
      "totalListSize": 1,
      "items": [
        {
          "resourceType": "ADAPTER_CONTENT",
          "resourceHash": "44e14296991e52456cbaf22c4e1ab552f0f53948a74b55b29c7ba53e4dd5df80",
          "resourceName": "WatsonToneAnalyzer",
          "displayName": "WatsonToneAnalyzer",
          "deployTime": "2018-08-23T09:33:17.721Z",
          "project": {
            "name": "mfp"
          },
          "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/adapters/WatsonToneAnalyzer",
          "name": "WatsonToneAnalyzer"
        }
      ],
      "nextPageBookmark": "",
      "prevPageBookmark": "",
      "startIndex": 0,
      "pageNumber": 0,
      "pageSize": 100
    }

Deploy adapter

Deploys an adapter. The transaction first checks whether the input deployable is valid. Then, it transfers the deployable to the database and to the runtime. This transaction can run synchronously or asynchronously. If the transaction is processed asynchronously, the REST service returns before the transaction is completed. In this case, you can query the transaction result later with the transaction REST service.

POST /runtimes/mfp/adapters
Request

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. The default mode is synchronous processing.

    Example: true

  • The locale used for error messages.

    Example: de_DE

Response

Status Code

  • Successfully deployed the adapter.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found or not running

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Get Adapter

Retrieves the metadata of a specific adapter.

GET /runtimes/mfp/adapters/{adaptername}
Request

Path Parameters

  • The name of the adapter.

    Example: WatsonToneAnalyzer

Query Parameters

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • Successfully retrieved metadata of the specified adapter.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application is not found.

  • An internal error occurred.

Example responses
  • {
      "deployTime": "2014-04-13T00:18:36.979Z",
      "displayName": "MyApplication",
      "link": "https://www.example.com/mfpadmin/management-apis/2.0/runtimes/{runtime-name}/applications/{app-name}/{app-env}/{app-version}",
      "name": "SampleAdapter",
      "productVersion": "8.0",
      "project": {
        "name": "myproject"
      },
      "resourceName": "abc",
      "resourceType": "APP_DESCRIPTOR",
      "runtimeInfo": {
        "descriptorXML": "",
        "resources": {
          "basePath": "/mfp/api/adapters/demoAdapter",
          "info": {
            "description": "The adapter for bank-end service",
            "title": "demoAdapter"
          },
          "paths": {},
          "swagger": "2.0"
        }
      }
    }

Delete Adapter

Deletes a specific adapter. This transaction can run synchronously or asynchronously. If the transaction is processed asynchronously, the REST service returns before the transaction is completed. In this case, you can query the transaction result later with the transaction REST service.

DELETE /runtimes/mfp/adapters/{adaptername}
Request

Path Parameters

  • The name of the adapter.

    Example: WatsonToneAnalyzer

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. The default mode is synchronous processing.

    Example: true

  • The locale used for error messages.

    Example: de_DE

Response

Status Code

  • Successfully deleted the adapter.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found or not running.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "DELETE_ADAPTER",
        "userName": "demouser"
      }
    }

Get Adapter Configuration

Retrieves the user configuration of a specific adapter.

GET /runtimes/mfp/adapters/{adaptername}/config
Request

Path Parameters

  • The name of the adapter.

    Example: WatsonToneAnalyzer

Query Parameters

  • If the parameter is set to true (default value), the configuration is a flat list of properties. If the parameter is set to false, the configuration is a hierarchy of objects.

  • The locale used for error messages.

  • If mode is not specified, the transaction returns the current user configuration. If the mode defaults is specified, the transaction returns the default configuration.

Response

Status Code

  • The user configuration of the specified adapter.

  • The user is not authorized to call this service.

  • The corresponding runtime or the adapter is not found.

  • An internal error occurred.

Example responses
  • {
      "adapter": "myAdapter",
      "connectivity": {
        "http": {
          "connectionTimeoutInMilliseconds": 30000,
          "cookiePolicy": "BEST_MATCH",
          "dtdvalidationEnabled": false,
          "maxConcurrentConnectionsPerNode": 49,
          "maxRedirects": 11,
          "port": 444,
          "protocol": "http",
          "socketTimeoutInMilliseconds": 30002
        }
      },
      "properties": {
        "database": "test-db"
      }
    }

Update Adapter Configuration

Sets the user configuration of a specific adapter.

PUT /runtimes/mfp/adapters/{adaptername}/config
Request

Path Parameters

  • The name of the adapter.

    Example: WatsonToneAnalyzer

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. The default mode is synchronous processing.

  • The locale used for error messages

Response

Status Code

  • The user configuration of the specified adapter.

  • The payload is invalid.

  • The user is not authorized to call this service.

  • The corresponding runtime or the adapter is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "SET_APPLICATION_ENV_VERSION_ACCESS_RULE",
        "userName": "demouser"
      }
    }

Adapter Generator

Generates an adapter from an OpenAPI (a.k.a. Swagger) specification of a microservice.

POST /runtimes/mfp/mfpadaptergenerator/adapterapi/generate
Request

Form Parameters

  • OpenAPI specification file (.json/.yaml).

  • If source code is required, this parameter should be set to true.

Response

Status Code

  • Downloads an Adapter File/Adapter Source Code.

  • Unauthorized access.

  • Precondition Failed.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Get registered Applications

Get a list of applications registered with the Mobile Foundation server.

GET /runtimes/mfp/applications
Request

Query Parameters

  • The bookmark for the page if only a part of the list (a page) should be returned. If a bookmark is specified, the offset parameter is ignored.

    Example: ABC

  • Whether an expanded version of the result should be shown. If this parameter is set to false, only a flat list of applications are returned. If the parameter is set to true, the entire hierarchy of environment and versions is returned, too.

    Example: true

  • The locale used for error messages.

    Example: en-US

  • The offset from the beginning of the list if only a part of the list (a page) should be returned.

    Example: 2

  • The sort mode. By default, the elements are sorted in increasing order. If the sort mode starts with - (minus sign), the elements are sorted in decreasing order. Possible sort modes are displayName, deployTime. The default sort mode is displayName.

    Example:
  • The number of elements if only a part of the list (a page) should be returned. The default value is '100'.

    Example: 50

Response

Status Code

  • Successfully retrieved applications

  • The user is not authorized to call this service.

  • The corresponding runtime or the application is not found.

  • An internal error occurred.

Example responses
  • {
      "items": [
        {
          "deployTime": "2014-04-13T00:18:36.979Z",
          "displayName": "MyApplication",
          "link": "https://www.example.com/mfpadmin/management-apis/2.0/runtimes/{runtime-name}/applications/{app-name}/{app-env}/{app-version}",
          "project": {
            "name": "myproject"
          },
          "resourceName": "abc",
          "resourceType": "APP_DESCRIPTOR"
        },
        "..."
      ],
      "nextPageBookmark": "DEF",
      "pageNumber": 2,
      "pageSize": 100,
      "prevPageBookmark": "ABC",
      "productVersion": "8.0",
      "startIndex": 0,
      "totalListSize": 33
    }

Register an application

Registers an application in Mobile Foundation server.

POST /runtimes/mfp/applications
Request
Example:
Response

Status Code

  • Successfully created the application.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found or not running

  • An internal error occurred.

Example responses
  • {
      "transaction": {
        "id": 102,
        "type": "UPLOAD_ARTIFACT",
        "status": "SUCCESS",
        "project": {
          "name": "mfp"
        },
        "timeCreated": "2018-08-23T09:46:45.637Z",
        "timeUpdated": "2018-08-23T09:46:46.443Z",
        "userName": "admin",
        "appServerId": "Liberty",
        "errors": [],
        "warnings": [],
        "description": {
          "name": "MULTIPLE",
          "type": "MULTIPLE",
          "contentNames": [
            "com.example.ios$APP_LICENSE_CONFIG",
            "com.example.ios$ios$com.package.id$APP_DESCRIPTOR"
          ]
        }
      },
      "ok": true,
      "pushDetails": {
        "applicationId": "com.example.ios",
        "enabled": "true",
        "status": "SUCCESS"
      },
      "productVersion": "8.0.0.00-20180718-0449"
    }

Get Application

Retrieves the metadata of a specific application.

GET /runtimes/mfp/applications/{appname}
Request

Path Parameters

  • The name of the application.

    Example: com.example.android

Query Parameters

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • Successfully retrieved application

  • The user is not authorized to call this service.

  • The corresponding runtime or the application is not found.

  • An internal error occurred.

Example responses
  • {
      "displayName": "ios_sample",
      "deployTime": "2018-08-23T09:46:46.267Z",
      "project": {
        "name": "mfp"
      },
      "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/applications/com.example.ios",
      "name": "com.example.ios",
      "envs": [
        {
          "displayName": "ios_sample",
          "deployTime": "2018-08-23T09:46:46.267Z",
          "project": {
            "name": "mfp"
          },
          "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/applications/com.example.ios/ios",
          "environment": "ios",
          "versions": [
            {
              "resourceType": "APP_DESCRIPTOR",
              "resourceHash": "206b198b297e91ae70ad6a428ffcd19ef190d95c30837aa88c520c49df288250",
              "resourceName": "com.example.ios$ios$com.package.id",
              "displayName": "ios_sample",
              "deployTime": "2018-08-23T09:46:46.267Z",
              "project": {
                "name": "mfp"
              },
              "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/applications/com.example.ios/ios/com.package.id",
              "version": "com.package.id",
              "authenticity": "false",
              "protocolVersion": "-1"
            }
          ]
        }
      ],
      "productVersion": "8.0.0.00-20180718-0449"
    }

Delete Application Authenticity

Deletes specific application authenticity data.

DELETE /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/authenticity
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Response

Status Code

  • Deletes application authenticity.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "DELETE_APPAUTH",
        "userName": "demouser"
      }
    }

Deploy Application Authenticity

Deploys application authenticity data for a specific application version.

POST /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/authenticity
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Response

Status Code

  • The metadata of the deployable.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "UPLOAD_ARTIFACT",
        "userName": "demouser"
      }
    }

Deploy Application Authenticity Validation Type

Sets the app authenticity validation type for a specific application version.

POST /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/authenticityValidationType
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Form Parameters

  • The validation type to be set. The allowed values are 'dynamic' and 'static'.

Response

Status Code

  • Successfully updated app authenticaity validation type for the given application version.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Get Application Configuration

Retrieves the configuration of a specific application version.

GET /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/config
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • If this parameter is set to true (which is the default value), the configuration is returned as a flat list of properties. Otherwise, it is returned as a hierarchy of objects.

  • The locale used for error messages.

  • If mode is not specified, the method returns the current user configuration. If the defaults mode is specified, the method returns the default configuration.

Response

Status Code

  • The configuration of the specified application version.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "applicationAccessConfig": {
        "action": "BLOCKED",
        "downloadLink": "www.ynet.co.il",
        "message": "The application is blocked.",
        "multiLanguageMessages": [
          {
            "locale": "de",
            "message": "Bitte updaten!"
          },
          "..."
        ]
      },
      "clientLogProfiles": {
        "level": "INFO",
        "name": "com.acme.sub1"
      }
    }

Update Application Configuration

Sets the configuration of a specific application version.

PUT /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/config
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed in synchronous mode.

  • The locale used for error messages.

Response

Status Code

  • The configuration of the specified application version.

  • The payload is invalid.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "SET_APPLICATION_ENV_VERSION_ACCESS_RULE",
        "userName": "demouser"
      }
    }

Get Application Descriptor

Retrieves the application descriptor of a specific application version.

GET /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/descriptor
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The application descriptor of the specified application version.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "deployTime": "2014-04-13T00:18:36.979Z",
      "displayName": "MyApplication",
      "link": "https://www.example.com/mfpadmin/management-apis/2.0/runtimes/{runtime-name}/applications/{app-name}/{app-env}/{app-version}",
      "productVersion": "8.0",
      "project": {
        "name": "myproject"
      },
      "resourceName": "abc",
      "resourceType": "APP_DESCRIPTOR"
    }

Get Application Environment

Retrieves the metadata of a specific application environment.

GET /runtimes/mfp/applications/{application-name}/{application-env}
Request

Path Parameters

  • The name of the application.

  • The application environment.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the specified application environment.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "displayName": "android_sample",
      "deployTime": "2018-08-10T09:50:37.169Z",
      "project": {
        "name": "mfp"
      },
      "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/applications/com.example.android/android",
      "environment": "android",
      "versions": [
        {
          "resourceType": "APP_DESCRIPTOR",
          "resourceHash": "c81da1c886cd99516059736aaa64c958ede43e0aa47d13dffea1b868d33fccfb",
          "resourceName": "com.example.android$android$com.package.id",
          "displayName": "android_sample",
          "deployTime": "2018-08-10T09:50:37.169Z",
          "project": {
            "name": "mfp"
          },
          "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/applications/com.example.android/android/com.package.id",
          "version": "com.package.id"
        }
      ],
      "productVersion": "8.0.0.00-20180718-0449"
    }

Delete Application Version

Deletes a specific application version.

DELETE /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed in synchronous mode.

  • The locale used for error messages.

Response

Status Code

  • The application descriptor of the specified application version.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "transaction": {
        "id": 202,
        "type": "DELETE_APPLICATION_ENV_VERSION",
        "status": "SUCCESS",
        "project": {
          "name": "mfp"
        },
        "timeCreated": "2018-08-28T07:44:38.976Z",
        "timeUpdated": "2018-08-28T07:44:39.112Z",
        "userName": "admin",
        "appServerId": "Liberty",
        "errors": [],
        "warnings": [],
        "description": {
          "name": "com.example.android$android$com.package.id",
          "type": "APP_DESCRIPTOR"
        }
      },
      "ok": true,
      "pushDetails": {
        "applicationId": "com.example.android",
        "status": "SUCCESS"
      },
      "licenseConfigDetail": {
        "transaction": {
          "id": 203,
          "type": "DELETE_APPLICATION_ENV_VERSION",
          "status": "SUCCESS",
          "project": {
            "name": "mfp"
          },
          "timeCreated": "2018-08-28T07:44:40.671Z",
          "timeUpdated": "2018-08-28T07:44:40.741Z",
          "userName": "admin",
          "appServerId": "Liberty",
          "errors": [],
          "warnings": [],
          "description": {
            "name": "com.example.android",
            "type": "APP_LICENSE_CONFIG"
          }
        },
        "ok": true
      },
      "productVersion": "8.0.0.00-20180718-0449"
    }

Get Application Version

Retrieves the metadata of a specific application version.

GET /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the specified application version.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "resourceType": "APP_DESCRIPTOR",
      "resourceHash": "c81da1c886cd99516059736aaa64c958ede43e0aa47d13dffea1b868d33fccfb",
      "resourceName": "com.example.android$android$com.package.id",
      "displayName": "android_sample",
      "deployTime": "2018-08-10T09:50:37.169Z",
      "project": {
        "name": "mfp"
      },
      "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp/applications/com.example.android/android/com.package.id",
      "name": "com.example.android",
      "runtimeInfo": {
        "validationResults": {
          "errors": [],
          "warnings": [],
          "empty": true,
          "info": []
        }
      },
      "authenticity": "false",
      "protocolVersion": "-1",
      "descriptor": {
        "applicationKey": {
          "packageName": "com.example.android",
          "clientPlatform": "android",
          "version": "com.package.id"
        },
        "displayName": "android_sample",
        "mandatoryScope": "appAuthenticity",
        "securityCheckConfigurations": {
          "appAuthenticity": {
            "expirationSec": "1200"
          }
        },
        "scopeElementMapping": {
          "UserNamePassword": "LtpaBasedSSO appAuthenticity"
        }
      },
      "licenseStatus": "available",
      "productVersion": "8.0.0.00-20180718-0449"
    }

Deploy Web Resource

Deploys a web resource compressed file (.zip).

POST /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/web
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Form Parameters

  • Deployable web resource (.zip).

Response

Status Code

  • The metadata of the deployable.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "UPLOAD_ARTIFACT",
        "userName": "demouser"
      }
    }

Get Web Resource

Retrieves the metadata of a web resource for a specific application version.

GET /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/web
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the web resource for the specified application version.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "deployTime": "2014-04-13T00:18:36.979Z",
      "displayName": "MyApplication",
      "link": "https://www.example.com/mfpadmin/management-apis/2.0/runtimes/{runtime-name}/applications/{app-name}/{app-env}/{app-version}",
      "productVersion": "8.0",
      "project": {
        "name": "myproject"
      },
      "resourceName": "abc",
      "resourceType": "APP_DESCRIPTOR"
    }

Enable or Disable Application Authenticity

Enables or Disables the app authenticity for a specific application version.

POST /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/enableAuthenticity
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Form Parameters

  • (Boolean) Whether to enable or disable app authenticity. The allowed values are true and false.

Response

Status Code

  • Successfully enabled or disabled authenticity.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Reset Application Authenticity

Resets the authenticity data for a specific application version.

POST /runtimes/mfp/applications/{application-name}/{application-env}/{application-version}/resetAuthenticity
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Response

Status Code

  • Successfully reset authenticity.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Deploy Application License Configuration

Deploys a license configuration for an application.

POST /runtimes/mfp/license
Request

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. Allowed values true and false. By default, transactions are processed in synchronous mode.

  • The locale used for error messages.

Example:
Response

Status Code

  • The metadata of the deployable.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "transaction": {
        "id": 201,
        "type": "UPLOAD_ARTIFACT",
        "status": "SUCCESS",
        "project": {
          "name": "mfp"
        },
        "timeCreated": "2018-08-28T07:21:04.869Z",
        "timeUpdated": "2018-08-28T07:21:06.380Z",
        "userName": "admin",
        "appServerId": "Liberty",
        "errors": [],
        "warnings": [],
        "description": {
          "name": "com.package.id",
          "type": "APP_LICENSE_CONFIG"
        }
      },
      "ok": true,
      "productVersion": "8.0.0.00-20180718-0449"
    }

Get Application License Configuration

Retrieves the metadata of a specific license configuration for the application.

GET /runtimes/mfp/license/{application-name}
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the deployable.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "licenseType": "APPLICATION",
      "appID": "com.package.id",
      "category": "B2C",
      "productVersion": "8.0.0.00-20180718-0449"
    }

Delete Application License Configuration

Deletes a license configuration for the application name.

DELETE /runtimes/mfp/license/{application-name}
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

  • Whether the transaction is processed synchronously or asynchronously. Allowed values true and false. By default, transactions are processed in synchronous mode.

Response

Status Code

  • The metadata of the deleted license configuration.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "DELETE_LICENSE_CONFIG",
        "userName": "demouser"
      }
    }

Get Audit

GET /audit
Request

Query Parameters

  • Specify from which date audit log is required.

  • Specify till which date audit log is required.

Response

Status Code

  • The audit log for the specified date range.

  • Invalid payload.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Get Confidential Clients

Retrieve the list of confidential clients

GET /runtimes/mfp/confidentialclients
Request

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The list of confidential clients for the given runtime.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "clients": [
        {
          "allowedScope": "clients:read-public clients:read-protected update",
          "displayName": "My Client",
          "id": "ABC",
          "secret": "12345"
        },
        "..."
      ],
      "productVersion": "8.0"
    }

Update Confidential Clients

Sets the confidential clients list of a specific runtime.

PUT /runtimes/mfp/confidentialclients
Request

Query Parameters

  • The locale used for error messages.

  • Whether the transaction is processed synchronously or asynchronously. Allowed values are true and false. The default is synchronous processing.

Example:
Response

Status Code

  • The list of confidential clients for the given runtime.

  • The payload is invalid.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "transaction": {
        "id": 204,
        "type": "UPLOAD_ARTIFACT",
        "status": "SUCCESS",
        "project": {
          "name": "mfp"
        },
        "timeCreated": "2018-08-28T09:27:57.909Z",
        "timeUpdated": "2018-08-28T09:27:58.174Z",
        "userName": "admin",
        "appServerId": "Liberty",
        "errors": [],
        "warnings": [],
        "description": {
          "name": "mfp.configService.singletonDeployable",
          "type": "RUNTIME_CONFIDENTIAL_CLIENTS"
        }
      },
      "ok": true,
      "productVersion": "8.0.0.00-20180718-0449"
    }

Get Runtimes

Retrieves metadata for the list of runtimes.

GET /runtimes
Request

Query Parameters

  • The default mode running retrieves only the running runtimes, while the mode db retrieves also the runtimes stored in the database that might not be running.

  • The locale used for error messages.

Response

Status Code

  • The list of runtimes.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "projects": [
        {
          "name": "mfp",
          "apiVersion": "2.0",
          "link": "https://mobilefoundationapitest.eu-gb.mybluemix.net:443/mfpadmin/management-apis/2.0/runtimes/mfp",
          "synchronizationStatus": "ok",
          "running": true
        }
      ],
      "productVersion": "8.0.0.00-20180718-0449"
    }

Get Runtime

Retrieve metadata for the runtime.

GET /runtimes/mfp
Request

Query Parameters

  • Set to true to show details of the applications and adapters. The default is false.

  • The locale used for error messages.

Response

Status Code

  • The metadata for the runtime.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "name": "mfp",
      "numberOfAdapters": 0,
      "numberOfApplications": 0,
      "synchronizationStatus": "ok",
      "config": {},
      "confidentialClients": [
        {
          "allowedScope": "clients:read-public clients:read-protected update",
          "displayName": "My Client",
          "id": "ABC",
          "secret": "12345",
          "customconfclient": "true"
        }
      ],
      "runtimeInfo": {
        "analytics": {
          "analyticsEnabled": {
            "defaultValue": true,
            "type": "boolean"
          },
          "additionalPackages": {
            "type": "string"
          }
        },
        "security": {},
        "securityChecks": {
          "LtpaBasedSSO": {
            "className": "com.ibm.mfp.server.security.internal.checks.ltpaBasedSso.LtpaBasedSsoCheck",
            "properties": {
              "loginURL": {
                "name": "loginURL",
                "defaultValue": "--- enter URL ---",
                "description": "Absolute URL of the login page, or any resource that would redirect to the login page",
                "displayName": "Login page URL"
              },
              "expirationSec": {
                "name": "expirationSec",
                "defaultValue": "600",
                "description": "Expiration period for a successful security-check state, in seconds",
                "displayName": "Expiration Period, Successful State (seconds)"
              }
            }
          },
          "appAuthenticity": {
            "className": "com.ibm.mfp.server.security.internal.checks.AppAuthenticityCheckFacade",
            "properties": {
              "expirationSec": {
                "name": "expirationSec",
                "defaultValue": "3600",
                "description": "Expiration period for a successful security-check state, in seconds",
                "displayName": "Expiration Period, Successful State (seconds)"
              }
            }
          }
        },
        "adaptersSecurityChecks": {},
        "adapters": {
          "compressResponseThreshold": {
            "defaultValue": 20480,
            "type": "integer"
          }
        },
        "appAuthenticityEnabled": true
      },
      "running": true,
      "productVersion": "8.0.0.00-20180718-0449"
    }

Delete Runtime

DELETE /runtimes/mfp
Request

Query Parameters

  • Whether to delete the runtime only if it has no applications or adapters. Possible values are empty (delete only when empty) and always (delete even when not empty, the default).

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Runtime Lock

Retrieves information about the transaction lock of a runtime.

GET /runtimes/mfp/lock
Request

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • Indicates if the runtime is currently busy with a transaction.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "busy": true
    }

Delete Runtime Lock

Forces the release of the transaction lock of a runtime. This API should not be used in normal operations. Transactions are performed sequentually. Hence each transaction such as deploying an application or adapter takes the runtime lock. The next transaction waits until the lock is released. After a serious crash, it may happen that the lock is still taken even though the corresponding transaction crashed. The lock will get automatically released after 30 minutes. However, with this API, you can force the release of the lock earlier. Forcing the release of the lock when a transaction is currently active may corrupt the system. You should use this API only when you are sure that no transaction is currently active.

DELETE /runtimes/mfp/lock
Request

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • Indicates if the runtime is still busy with a transaction after forcing the release of the lock.

  • The user is not authorized to call this service.

  • An internal error occurred.

Example responses
  • {
      "busy": false
    }

Get Runtime Configuration

Retrieves the user configuration of a specific runtime.

GET /runtimes/mfp/config
Request

Query Parameters

  • If true (default), the configuration is a flat list of properties, otherwise a hierarchy of objects.

  • The locale used for error messages.

  • If no mode is specified, it returns the current user configuration. If the mode defaults is specified, it returns the default configuration.

Response

Status Code

  • The user configuration of the specified runtime.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "adapters": {
        "compressResponseThreshold": {
          "value": 20480
        }
      },
      "analytics": {
        "additionalPackages": {
          "value": "com.admin.util"
        }
      }
    }

Update Runtime Configuration

Sets the user configuration of a specific runtime.

PUT /runtimes/mfp/config
Request

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. Allowed values are true and false. The default is synchronous processing.

  • The locale used for error messages.

Example:
Response

Status Code

  • The configuration of the specified runtime.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "SET_APPLICATION_ENV_VERSION_ACCESS_RULE",
        "userName": "demouser"
      }
    }

Deploy

Deploy from a multipart compressed file

POST /runtimes/mfp/deploy/multi
Request

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed in synchronous mode.

  • The locale used for error messages.

Form Parameters

  • Deployable containing an adapter, application, license configuration, keystore, web resource, etc. (.json/.yaml).

Response

Status Code

  • The metadata of the deployable.

  • No deployable data is provided.

  • The user is not authorized to call this service.

  • The corresponding runtime is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "UPLOAD_ARTIFACT",
        "userName": "demouser"
      }
    }

Register Application with Push Service

Creates a new server application for a push service. The applicationId is a unique identifier for this application. The application is a parent resource for devices, subscriptions, tags, and messages. The application must be created before it can access any of the child resources. If the application is deleted, all the children are deleted. The application holds the configurations, such as the Apple Push Notification Service (APNS) or Google Cloud Message (GCM) configuration, which is required by the push service to send messages. The API first creates the application and then sets the APNS and GCM credentials.

POST /runtimes/mfp/notifications/applications
Request

Query Parameters

  • The locale used for error messages.

Form Parameters

  • Whether the application is enabled or disabled.

  • The bundleId/PackageName/ProjectIdentityName of the application.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Create Tag

Creates a tag with a unique name in the application that is referenced by the applicationId parameter.

POST /runtimes/mfp/notifications/applications/{application-name}/tags
Request

Path Parameters

  • The name of the application.

Form Parameters

  • The description of the tag.

  • The name of the tag.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Tags

Retrieves all or a subset of tags in the application.

GET /runtimes/mfp/notifications/applications/{application-name}/tags
Request

Path Parameters

  • The name of the application.

Query Parameters

  • Retrieves additional metadata for every subscription that is returned in the response.

  • The filter specifies the search criteria. Refer to the filter section for the detailed syntax.

  • The locale used for error messages.

  • The pagination offset that is normally used in association with the size.

  • The pagination size that is normally used in association with the offset to retrieve a subset.

  • The pagination size that is normally used in association with the offset to retrieve a subset.

Response

Status Code

  • Retrieves tags of the application.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "productVersion": "8.0",
      "tags": {
        "createdMode": "API",
        "createdTime": "2016-03-19T06:34:42Z",
        "description": "This is a sample tag",
        "href": "http://localhost:9080/imfpush/v1/apps/com.test.one/tags/SampleTag",
        "lastUpdatedTime": "2016-03-22T06:34:42Z",
        "name": "SampleTag",
        "uri": "http://localhost:9080/imfpush/v1/apps/com.test.one/tags/SampleTag"
      }
    }

Delete Tag

Deletes the tag in the application.

DELETE /runtimes/mfp/notifications/applications/{application-name}/tags/{tag-name}
Request

Path Parameters

  • The name of the application.

  • The name of the tag.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Tag

Retrieves the specified tag in the application.

GET /runtimes/mfp/notifications/applications/{application-name}/tags/{tag-name}
Request

Path Parameters

  • The name of the application.

  • The name of the tag.

Response

Status Code

  • Retrieves details of a specific tag of the application.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "createdMode": "API",
      "createdTime": "2016-03-19T06:34:42Z",
      "description": "This is a Sample tag",
      "lastUpdatedTime": "2016-03-22T06:34:42Z",
      "name": "SampleTag",
      "productVersion": "8.0"
    }

Update Tag

Updates the tag that is idenfitied by the tagName parameter for the application referenced by the application name.

PUT /runtimes/mfp/notifications/applications/{application-name}/tags/{tag-name}
Request

Path Parameters

  • The name of the application.

  • The name of the tag.

Example:
Response

Status Code

No Sample Response

This method does not specify any sample responses.

Create Subscription

Create a new subscription for a tag

POST /runtimes/mfp/notifications/applications/{application-name}/subscriptions
Request

Path Parameters

  • The name of the application.

Query Parameters

  • When set to delete, this parameter unsubscribes a device from the list of tags that is specified in the tagNames field of the JSON body.

  • The locale used for error messages.

Form Parameters

  • The unique identifier of the device.

  • The tag name to subscribe.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Push Device Subscription

GET /runtimes/mfp/notifications/applications/{application-name}/subscriptions
Request

Path Parameters

  • The name of the application.

Query Parameters

  • Retrieves subscriptions only for the specified device.

  • The locale used for error messages.

  • Retrieves additional metadata for every subscription that is returned in the response.

  • The filter specifies the search criteria. Refer to the filter section for the detailed syntax.

  • The pagination offset that is normally used in association with the page size.

  • The pagination size that is normally used in association with the offset to retrieve a subset.

  • Retrieves subscriptions only for the specified tag.

  • Retrives subscriptions only for the specified user.

Response

Status Code

  • Retrieves all push subscriptions for the application.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • Unsupported Accept type - The content type specified in Accept header is not application/json.

  • An internal error occurred.

Example responses
  • {
      "productVersion": "8.0",
      "subscriptions": {
        "deviceId": "12345-6789",
        "href": "http://localhost:9080/imfpush/v1/apps/com.test.one/subscriptions/2",
        "subscriptionId": "12",
        "tagName": "SampleTag",
        "userId": "Jeremy"
      }
    }

Remove Subscription

Unsubscribes the specified device from a tag.

DELETE /runtimes/mfp/notifications/applications/{application-name}/subscriptions
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

  • The unique ID for the device.

  • The name of the tag to unsubscribe from.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Delete APNs settings

Deletes the APNs settings to the application referenced by the application name.

DELETE /runtimes/mfp/notifications/applications/{application-name}/apnsConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get APNs Settings

Retrieves APNs credentials for the application.

GET /runtimes/mfp/notifications/applications/{application-name}/apnsConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the APNS certificate.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "certificate": "apns-certificate-sandbox.p12",
      "isSandBox": true,
      "productVersion": "8.0",
      "validUntil": "2016-09-10T09:32:30.000Z"
    }

Update APNs Settings

Uploads an APNs certificate to the application referenced by the application name.

PUT /runtimes/mfp/notifications/applications/{application-name}/apnsConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Delete GCM settings

Deletes the GCM settings to the application referenced by the application name.

DELETE /runtimes/mfp/notifications/applications/{application-name}/gcmConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get GCM Settings

Retrieves GCM credentials for the application.

GET /runtimes/mfp/notifications/applications/{application-name}/gcmConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the GCM credentials.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "apiKey": "AIzaSyBnWWReKAFrOPiw75QQAcRM",
      "productVersion": "8.0",
      "senderId": "11639055112"
    }

Update GCM Settings

Uploads a GCM certificate to the application referenced by the application name.

PUT /runtimes/mfp/notifications/applications/{application-name}/gcmConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Example:
Response

Status Code

No Sample Response

This method does not specify any sample responses.

Delete Message

Deletes a message identified by the messageId parameter.

DELETE /runtimes/mfp/notifications/applications/{application-name}/messages/{message-id}
Request

Path Parameters

  • The name of the application.

  • The message id of push message in push server.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Message

Retrieves information about a message identified by its messageId parameter.

GET /runtimes/mfp/notifications/applications/{application-name}/messages/{message-id}
Request

Path Parameters

  • The name of the application.

  • The message id of push message in push server.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The message details.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "alert": "New update available",
      "messageId": "New update available",
      "productVersion": "8.0"
    }

Send Bulk Messages

Send bulk messages by specifying various options.

POST /runtimes/mfp/notifications/applications/{application-name}/messages/bulk
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Example:
Response

Status Code

No Sample Response

This method does not specify any sample responses.

Send Message

Sends message with different options.

POST /runtimes/mfp/notifications/applications/{application-name}/messages
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Example:
Response

Status Code

No Sample Response

This method does not specify any sample responses.

Delete Subscription

Unsubscribes the device from the tag by using the subscription identifier. This method deletes neither the device registration nor the tag.

DELETE /runtimes/mfp/notifications/applications/{application-name}/subscriptions/{subscription-id}
Request

Path Parameters

  • The name of the application.

  • The subscription id of the application register with Push.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Retrieve Subscription to Push Service

The subscription referenced by the subscription identifier is retrieved.

GET /runtimes/mfp/notifications/applications/{application-name}/subscriptions/{subscription-id}
Request

Path Parameters

  • The name of the application.

  • The subscription id of the application register with Push.

Response

Status Code

  • Retrieves all push subscriptions for the application.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "deviceId": "12345-6789",
      "href": "http://localhost:9080/imfpush/v1/apps/com.test.one/subscriptions/2",
      "productVersion": "8.0",
      "subscriptionId": "12",
      "tagName": "SampleTag",
      "userId": "Jeremy"
    }

Delete WNS Settings

Deletes the WNS settings from the application referenced by the application name.

DELETE /runtimes/mfp/notifications/applications/{application-name}/wnsConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get WNS Settings

Retrieves WNS credentials for the application.

GET /runtimes/mfp/notifications/applications/{application-name}/wnsConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the WNS certificate.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "clientSecret": "712345dummyvalues12345",
      "packageSID": "ms-app://s-1-15-2-dummyvalues12345",
      "productVersion": "8.0"
    }

Update WNS Settings

Uploads an WNS certificate to the application referenced by the application name.

PUT /runtimes/mfp/notifications/applications/{application-name}/wnsConf
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Example:
Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Push App Settings

Retrieves App Setting for the application registered with Push.

GET /runtimes/mfp/notifications/applications/{application-name}/settings
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The metadata of the App settings.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "apnsConf": "http://localhost:7869/imfpush/v1/apps/com.sample.app/settings/apnsConf",
      "applicationId": "com.sample.app",
      "gcmConf": "http://localhost:7869/imfpush/v1/apps/com.sample.app/settings/gcmConf",
      "productVersion": "8.0",
      "wnsConf": "http://localhost:7869/imfpush/v1/apps/com.sample.app/settings/wnsConf"
    }

Delete Push Device Registration

Deletes(unregisters) an existing device registration from the push service.

DELETE /runtimes/mfp/notifications/applications/{application-name}/devices/{device-id}
Request

Path Parameters

  • The name of the application.

  • The device Id.

Query Parameters

  • The locale used for error messages.

Response

Status Code

No Sample Response

This method does not specify any sample responses.

Retrieve Device Registration

Retrieves an existing device registration to the push service.

GET /runtimes/mfp/notifications/applications/{application-name}/devices/{device-id}
Request

Path Parameters

  • The name of the application.

  • The device Id.

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • Retrieves an existing device registration of push.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • Unsupported Accept type - The content type specified in Accept header is not application/json.

  • An internal error occurred.

Example responses
  • {
      "createdMode": "API",
      "createdTime": "2016-03-15T16:30:19Z",
      "deviceId": "JeremyiOSPhone",
      "href": "http://localhost:9080/imfpush/v1/apps/com.test.one/devices/JeremyiOSPhone",
      "lastUpdatedTime": "2016-03-18T16:30:19Z",
      "platform": "A",
      "productVersion": "8.0",
      "token": "c6a41224 23333917 9fde1532",
      "userId": "Jeremy"
    }

Update Device Registration

Updates push device registration with the new user ID or the specified token. In most use cases, only the user ID is updated.

PUT /runtimes/mfp/notifications/applications/{application-name}/devices/{device-id}
Request

Path Parameters

  • The name of the application.

  • The device Id.

Query Parameters

  • The locale used for error messages.

  • Participate in the broadcast messaging.

Example:
Response

Status Code

No Sample Response

This method does not specify any sample responses.

Get Push Device Registration

Retrieves all or a subset of existing device registrations to the push service.

GET /runtimes/mfp/notifications/applications/{application-name}/devices
Request

Path Parameters

  • The name of the application.

Query Parameters

  • The user identifier of the device.

  • Whether an expanded version of the result should be shown. If this parameter is set to false, only a flat list of applications are returned. If the parameter is set to true, the entire hierarchy of environment and versions is returned, too.

    Example: true

  • The locale used for error messages.

    Example: en-US

  • From where to start listing entries, depending on the value of the size parameter.

  • The maximum number of entries to be listed per page. For example, 10.

  • The search criteria.

Response

Status Code

  • The metadata of the App settings.

  • The request was not understood by the push server.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • Unsupported Accept type - The content type specified in Accept header is not application/json.

  • An internal error occurred.

Example responses
  • {
      "devices": [
        {
          "deviceId": "JeremyiOSPhone",
          "href": "http://localhost:9080/imfpush/v1/apps/com.test.one/devices/JeremyiOSPhone",
          "userId": "Jeremy"
        },
        "..."
      ],
      "productVersion": "8.0"
    }

Update Device Application Status

Changes the status of a specific application on a specific device.

PUT /runtimes/mfp/devices/{device-id}/applications/{application-name}
Request

Path Parameters

  • The name of the application.

  • The device id.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Example:
Response

Status Code

  • The metadata of the transaction.

  • The payload is invalid.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "appName": "myapplication",
          "deviceId": "12345-6789",
          "status": "ENABLED"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "CHANGE_DEVICE_APPLICATION_STATUS",
        "userName": "demouser"
      }
    }

Delete Device

Deletes all metadata of a specific device.

DELETE /runtimes/mfp/devices/{device-id}
Request

Path Parameters

  • The device id.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Response

Status Code

  • The metadata of the deleted device.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "deviceId": "12345-6789",
          "status": "LOST"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "REMOVE_DEVICE",
        "userName": "demouser"
      }
    }

Update Device Status

A device can be marked as active, lost, stolen, disabled, or expired. Lost, stolen, or disabled devices cannot access the server. A device is marked expired if it has not connected to the MobileFirst server for 90 days.

PUT /runtimes/mfp/devices/{device-id}
Request

Path Parameters

  • The device id.

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. The allowed values are true and false. By default, transactions are processed synchronously.

  • The locale used for error messages.

Example:
Response

Status Code

  • The metadata of the transaction.

  • The payload is invalid.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "deviceId": "12345-6789",
          "status": "LOST"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "CHANGE_DEVICE_STATUS",
        "userName": "demouser"
      }
    }

Get Devices

Retrieves metadata for the list of devices that accessed this project.

GET /runtimes/mfp/devices
Request

Query Parameters

  • The bookmark for the page if only a part of the list (a page) should be returned.

  • The locale used for error messages.

  • The sort mode. By default, the elements are sorted in increasing order. If the sort mode starts with - (minus sign), the elements are sorted in decreasing order. Possible sort modes are uid, friendlyName, deviceModel, deviceEnvironment, status, lastAccessed. The default sort mode is uid.

  • The number of elements if only a part of the list (a page) should be returned. The default value is 100.

  • A device-friendly name or a user to search for.

Response

Status Code

  • The metadata of the devices that accessed this project.

  • The user is not authorized to call this service.

  • The corresponding runtime or the application version is not found.

  • An internal error occurred.

Example responses
  • {
      "items": [
        {
          "applicationDeviceAssociations": [
            {
              "appId": "com.ibm.app$ios$1.0.0",
              "appName": "myapplication",
              "certSerialNumber": "",
              "deviceId": "12345-6789",
              "deviceStatus": "LOST",
              "status": "ENABLED"
            },
            "..."
          ],
          "deviceDisplayName": "Jeremy's Personal Phone",
          "deviceModel": "Nexus 7",
          "deviceOs": "4.4",
          "id": "12345-6789",
          "lastAccessed": "2014-05-13T00:18:36.979Z",
          "status": "LOST",
          "userIds": [
            {
              "str": "Jeremy"
            },
            "..."
          ]
        },
        "..."
      ],
      "nextPageBookmark": "DEF",
      "pageNumber": 2,
      "pageSize": 100,
      "prevPageBookmark": "ABC",
      "productVersion": "8.0",
      "startIndex": 0,
      "totalListSize": 33
    }

Get Diagnostic

Retrieves diagnostic information for administration, runtime, configuration (live update), and push services

GET /diagnostic
Request

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • Information about the diagnostic.

  • The user is not authorized to call this service.

  • An internal error occurred.

Example responses
  • {
      "adminDB": {
        "status": "available"
      },
      "analyticsService": [
        {
          "runtime": "mfp",
          "status": "available"
        },
        "..."
      ],
      "configService": {
        "status": "available"
      },
      "productVersion": "8.0",
      "pushDiagnostic": {
        "status": "available"
      },
      "runningProjectStatuses": {
        "hasAppsOrAdapter": true,
        "name": "mfp",
        "running": true,
        "synchronized": "ok"
      },
      "runtimeDiagnostic": [
        {
          "instances": [
            {
              "Providers": [
                {
                  "DatabaseDiagnosticBean": {
                    "message": "Database is OK",
                    "ok": "Ok"
                  }
                },
                "..."
              ],
              "overallStatus": "Ok"
            },
            "..."
          ],
          "name": "mfp"
        },
        "..."
      ]
    }

Export Adapter Resources

Retrieves a compressed file that contains all or selected resources for specific adapter for this runtime.

GET /runtimes/mfp/export/adapters/{adapter-name}
Request

Path Parameters

  • The name of the adapter.

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file containing all or selected resources for a specific adapter for this runtime.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Export Adapters

Retrieves a compressed file that contains all or selected adapter resources for this runtime.

GET /runtimes/mfp/export/adapters
Request

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file containing all or selected adapter resources for this runtime.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Export Application Environment

Retrieves a compressed binary file that contains all or selected application environment-specific resources for this runtime.

GET /runtimes/mfp/export/applications/{application-name}/{application-env}
Request

Path Parameters

  • The name of the application.

  • The application environment.

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file containing all or selected application environment-specific resources for this runtime.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Export Application Environment Resources

Retrieves a compressed binary resource for a specific version of an application environment for this runtime.

GET /runtimes/mfp/export/applications/{application-name}/{application-env}/{application-version}
Request

Path Parameters

  • The name of the application.

  • The application environment.

  • The application version number.

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed binary data, containing all or selected resources for a specific version of an application environment for this runtime.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Export Application Resources

Retrieves a compressed file that contains all or selected application-specific resources for this runtime.

GET /runtimes/mfp/export/applications/{application-name}
Request

Path Parameters

  • The name of the application.

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file containing all or selected application-specific resources for this runtime.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Export Applications

Retrieves a compressed file that contains all or selected application resources for this runtime.

GET /runtimes/mfp/export/applications
Request

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file containing all or selected application resources for this runtime.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Export Resources

Retrieves a compressed file (.zip) that contains all the specified resources.

GET /runtimes/mfp/export
Request

Query Parameters

  • The information to uniquely identify a resource. Format resourceName||resourceType. For Adapter {adapterName}||ADAPTER_CONTENT. For Application Descriptor {appName${platform}${version}||APP_DESCRIPTOR. For Licence Configuration {appName}||APP_LICENSE_CONFIG. For Application Configuration {appName${platform}${version}||APP_USER_CONFIGURATION. For Keystore keystore||KEYSTORE. For Web Resource {appName${platform}${version}||APP_WEB_CONTENT.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file of the specified deployables.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Retrieve a compressed file (.zip) that contains all the resources

Retrieves a compressed file (.zip) that contains all the resources.

GET /runtimes/mfp/export/all
Request

Query Parameters

  • Optional query parameter to get selected resources.

  • The locale used for error messages.

    Example: en-US

Response

Status Code

  • The compressed file containing all or selected runtime-specific resources.

  • The request is invalid.

  • The user is not authorized to call this service.

  • One or more of the corresponding binary files were not found.

  • The requested range of bytes is not valid.

  • An internal error occurred.

No Sample Response

This method does not specify any sample responses.

Get Global Configuration

Retrieves information about the global configuration.

GET /config
Request

Query Parameters

  • The locale used for error messages.

Response

Status Code

  • The global configuration.

  • The user is not authorized to call this service.

  • An internal error occurred.

Example responses
  • {
      "analyticsConsoleUrl": [
        {
          "runtime": "myruntime",
          "url": "https://www.example.com/analytics/console"
        },
        "..."
      ],
      "auditEnabled": true,
      "cloudantDashboardUrl": "https://example.cloudant.com/dashboard.html",
      "iosEdition": false,
      "productVersion": "8.0",
      "pushConfidentialClientsStatus": "ok",
      "pushEnabled": true,
      "swaggerUrl": "https://www.example.com/doc/?url=https://www.example.com/api/adapterdoc/sampleAdapter",
      "topology": "STANDALONE"
    }

Delete Keystore

Deletes a keystore from the runtime.

DELETE /keystore
Request

Query Parameters

  • The locale used for error messages.

  • Whether the transaction is processed synchronously or asynchronously. Allowed values true and false. By default, transactions are processed in synchronous mode.

Response

Status Code

  • The metadata of the deleted keystore.

  • The user is not authorized to call this service.

  • An internal error occurred.

Example responses
  • {
      "ok": false,
      "productVersion": "8.0",
      "transaction": {
        "appServerId": "Tomcat",
        "description": {
          "name": "myname",
          "type": "mytype"
        },
        "errors": [
          {
            "details": "An internal error occured."
          },
          "..."
        ],
        "id": 1,
        "project": {
          "name": "myproject"
        },
        "status": "FAILURE",
        "timeCreated": "2014-04-13T00:18:36.979Z",
        "timeUpdated": "2014-04-14T00:18:36.979Z",
        "type": "DELETE_KEYSTORE",
        "userName": "demouser"
      }
    }

Get Keystore

Retrieves keystore properties for a deployed keystore of a runtime.

GET /keystore
Request

No Request Parameters

This method does not accept any request parameters.

Response

Status Code

  • The metadata of the keystore.

  • The user is not authorized to call this service.

  • The resource is not found.

  • An internal error occurred.

Example responses
  • {
      "keystore.password": "password",
      "keystore.type": "jks",
      "productVersion": "8.0"
    }

Create Keystore

Deploy a keystore for a runtime.

POST /keystore
Request

Query Parameters

  • Whether the transaction is processed synchronously or asynchronously. Allowed values true and false. By default, transactions are processed in synchronous mode.

  • The locale used for error messages.

  • The type of the deployable is RUNTIME_KEYSTORE.

Form Parameters

  • Deployable keystore (.json/.yaml).

Response