Our REST API enables you to integrate and run your Appium automation tests on M-Live. Appium API follows the general conventions of REST. The API reference has 3 sections:
- Authentication
- Devices
- Application Library
1. Authentication
momentumToken is required for all operations. Keep the accessToken value to use in the header for the next requests.
Log in
Request
POST https://console.momentumsuite.com/rdcApi/api/auth POST data (raw): {"username":"<your-user-name>","password":"<your-password>","grant_type":"password"}
Response
{"result":{"accessToken":"eyJhbGc......","refreshToken":"5ABA9FEDCED26F5A5079E5A4BA....","expiresIn":7200,"tokenType":"Bearer"},"status":"SUCCESS","message":"Resource retrieved","validationMessages":null}
2. Devices
Get a list of real Android and iOS devices with their status and other properties. These are not simulators or emulators.
Devices List
Request
GET https://console.momentumsuite.com/rdcApi/api/devices/list
Request Header
Authorization value will be “Bearer accessToken“.
Authorization: Bearer eyJhbGciOiJS..... Content-Type: application/json
Response
- “status”: 1 -> ONLINE
- “status”: 2 -> BUSY
{ "result": [ { "id": 5, "farmId": 12, "signalPort": DEVICE-ID, "deviceToken": "UDID", "deviceBrand": "Samsung", "deviceName": "Samsung Galaxy A71", "deviceModel": "SM-A715F (12)", "iconTag": "samsung-galaxy-s8.jpg", "osVersion": "11.0", "deviceOs": "android", "releaseDate": "2019-12-12T12:53:57+00:00", "screenSize": "6.7\"", "resolution": "1080 x 2400", "status": 1, "createdAt": "2022-03-02T12:53:57+00:00", "updatedAt": null, "liveWatchSupport": true, "isBusy": false, "liveWatchId": "3e30c68837f72355", "activeSessions": [], "deviceCredential": { "remoteTestUrl": "console.momentumsuite.com", "remoteTestPort": 443, "momentumUser": "YOUR-USER", "momentumToken": "YOUR-TOKEN", "momentumGw": DEVICE-ID } }, ..... ..... ..... ], "status": "SUCCESS", "message": "Resource retrieved", "validationMessages": null }
3. Application Library
In order to test your native and hybrid apps on M-Live using Appium, you first need to upload an Android app (.apk
/.aab
file) or an iOS app(.ipa
file) to M-Live Application Library. Use our REST API endpoints to upload and manage your apps on M-Live.
List uploaded apps
Request
GET https://console.momentumsuite.com/rdcApi/api/ApplicationLibraries/list
Request Header
Authorization value will be “Bearer accessToken“.
Authorization: Bearer eyJhbGciOiJS..... Content-Type: application/json
Response
{ "result": [ { "id": 113, "title": "myapp.apk", "appUrl": "ms://06d8c9e89......", "createdAt": "2022-05-13T08:57:46+00:00", "appType": 1 }, .... ..... ], "status": "SUCCESS", "message": "Resource retrieved", "validationMessages": null }
Upload an app
Request
POST https://console.momentumsuite.com/rdcApi/api/ApplicationLibraries POST data (form-data): Title:SmartMobile IsReSignable:false ApplicationFile: myapp.apk
Request Header
The authorization value will be “Bearer accessToken“.
Authorization: Bearer eyJhbGciOiJS..... Content-Type: multipart/form-data
Response
You can use appId as “ms:\\appId“. This URL only works with the Momentum Suite’s Appium gateway.
{ "result": { "id": 177, "title": "SmartMobile", "appId": "3e86e209........", "appUrl": "http://momentumv2.mobven.com:8084/Upload/0/3e86e209-cb2.....-app.apk", "createdAt": "2022-07-27T21:13:09.557891+00:00", "appType": 1 }, "status": "SUCCESS", "message": "New applicationlibrary has been created", "validationMessages": null }
Delete an app
Request
DELETE https://console.momentumsuite.com/rdcApi/api/ApplicationLibraries/177
Request Header
Authorization value will be “Bearer accessToken“.
Authorization: Bearer eyJhbGciOiJS..... Content-Type: application/json
Response
{ "result": null, "status": "SUCCESS", "message": "Entity \"177\" has been deleted", "validationMessages": null }