Mobile Farm API (1.0.5)
Managing real mobile devices: creating a group of devices (a farm), adding and deleting devices, getting detailed device information, managing ADB keys, and more.
Store ADB key
Stores the public part of an ADB key, enabling ADB access.
Authorizations:
Request Body schema: application/jsonrequired
| publicKey required | string The public key associated with the ADB key. |
| title | string The title associated with the ADB key (optional). |
Responses
Request samples
- Payload
{- "publicKey": "string",
- "title": "string"
}Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "adbKey": {
- "fingerprint": "string",
- "title": "string",
- "userId": "string"
}
}List ADB keys
Retrieves a list of ADB keys, including their fingerprints and titles.
Authorizations:
Responses
Response samples
- 200
{- "success": true,
- "description": "string",
- "adbKeys": [
- {
- "fingerprint": "string",
- "title": "string",
- "userId": "string"
}
]
}Delete ADB key
Deletes a specific ADB key based on the provided fingerprint.
Authorizations:
path Parameters
| fingerprint required | string Fingerprint of the ADB key. |
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string"
}Manages RSA keys for Android Debug Bridge (ADB) of a specific user. Applicable only to user administrators.
Store ADB key for specified user
Stores the public part of an ADB key for a specified user and enables ADB access.
Authorizations:
path Parameters
| userId required | string User identifier. |
Request Body schema: application/jsonrequired
| publicKey required | string The public key associated with the ADB key. |
| title | string The title associated with the ADB key (optional). |
Responses
Request samples
- Payload
{- "publicKey": "string",
- "title": "string"
}Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "adbKeys": [
- {
- "fingerprint": "string",
- "title": "string",
- "userId": "string"
}
]
}List ADB keys for specified user
Retrieves a list of ADB keys associated with a specific user, including their fingerprints and titles.
Authorizations:
path Parameters
| userId required | string User identifier. |
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "adbKeys": [
- {
- "fingerprint": "string",
- "title": "string",
- "userId": "string"
}
]
}Delete ADB key for specified user
Deletes a specific ADB key for a specified user based on the provided fingerprint.
Authorizations:
path Parameters
| userId required | string User identifier. |
| fingerprint required | string Fingerprint of the ADB key. |
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string"
}Gets information about all available mobile devices that you can add to a group and about a specific device in a group.
List available devices
Returns a list of available mobile devices that you can add to a group.
Authorizations:
Responses
Response samples
- 200
- default
{- "devices": [
- {
- "manufacturer": "string",
- "marketName": "string",
- "version": "string",
- "sdk": "string",
- "platform": "string",
- "count": 0
}
]
}Get device information
Returns information about a device by its serial number.
Authorizations:
path Parameters
| serial required | string Serial number of the device. |
Responses
Response samples
- 200
{- "success": true,
- "description": "string",
- "device": {
- "abi": "string",
- "airplaneMode": true,
- "battery": {
- "health": "string",
- "level": 0,
- "scale": 0,
- "source": "string",
- "status": "string",
- "temp": 0,
- "voltage": 0
}, - "browser": {
- "apps": [
- {
- "id": "string",
- "name": "string",
- "selected": true,
- "system": true,
- "type": "string",
- "developer": "string"
}
], - "selected": true
}, - "channel": "string",
- "cpuPlatform": "string",
- "display": {
- "density": 0,
- "fps": 0,
- "height": 0,
- "id": 0,
- "rotation": 0,
- "secure": true,
- "size": 0,
- "url": "string",
- "width": 0,
- "xdpi": 0,
- "ydpi": 0
}, - "group": {
- "class": "string",
- "id": "string",
- "lifeTime": {
- "start": "string",
- "stop": "string"
}, - "lock": true,
- "name": "string",
- "origin": "string",
- "originName": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "repetitions": 0
}, - "logs_enabled": true,
- "manufacturer": "string",
- "marketName": "string",
- "model": "string",
- "network": {
- "connected": true,
- "failover": true,
- "roaming": true,
- "subtype": "string",
- "type": "string"
}, - "openGLESVersion": "string",
- "operator": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "phone": {
- "iccid": "string",
- "imei": "string",
- "imsi": "string",
- "network": "string",
- "phoneNumber": "string"
}, - "platform": "string",
- "presenceChangedAt": "string",
- "present": true,
- "product": "string",
- "provider": {
- "name": "string",
- "service": "string"
}, - "ready": true,
- "remoteConnect": true,
- "remoteConnectUrl": "string",
- "reverseForwards": [
- "string"
], - "sdk": "string",
- "serial": "string",
- "status": 0,
- "statusChangedAt": "string",
- "usage": "string",
- "usageChangedAt": "string",
- "version": "string",
- "using": true
}
}Get available groups of devices
Returns a list of groups in a project.
Authorizations:
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "groups": [
- {
- "id": "string",
- "meta": {
- "billing": {
- "type": "string",
- "updates": {
- "at": "string",
- "type": "string"
}
}, - "domain": {
- "id": "string",
- "name": "string"
}, - "project": {
- "id": "string",
- "name": "string",
- "domain": {
- "id": "string",
- "name": "string"
}
}, - "regionGroup": "string"
}, - "name": "string",
- "devices": [
- {
- "serial": "string",
- "manufacturer": "string",
- "marketName": "string",
- "status": {
- "ACTIVE": 0,
- "IN_USE": 0,
- "BUSY": 0,
- "MAINTENANCE": 0,
- "ERROR": 0
}, - "sdk": "string",
- "version": "string",
- "resolution": "string",
- "cpuPlatform": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "adminStatus": "string",
- "present": true,
- "ready": true,
- "usage": "string",
- "platform": "string"
}
]
}
]
}Create group of devices
Creates a new group of devices using the configuration that you define in the parameters.
Authorizations:
Request Body schema: application/jsonrequired
| name | string The name of the group. |
required | Array of objects (DevicesFilter) |
| billingType required | string The type of billing for the group ('minutes'|'hours'). |
Responses
Request samples
- Payload
{- "name": "string",
- "devices": [
- {
- "manufacturer": "string",
- "marketName": "string",
- "version": "string",
- "sdk": "string",
- "platform": "string",
- "count": 0
}
], - "billingType": "string"
}Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "group": {
- "id": "string",
- "meta": {
- "billing": {
- "type": "string",
- "updates": {
- "at": "string",
- "type": "string"
}
}, - "domain": {
- "id": "string",
- "name": "string"
}, - "project": {
- "id": "string",
- "name": "string",
- "domain": {
- "id": "string",
- "name": "string"
}
}, - "regionGroup": "string"
}, - "name": "string",
- "devices": [
- {
- "serial": "string",
- "manufacturer": "string",
- "marketName": "string",
- "status": {
- "ACTIVE": 0,
- "IN_USE": 0,
- "BUSY": 0,
- "MAINTENANCE": 0,
- "ERROR": 0
}, - "sdk": "string",
- "version": "string",
- "resolution": "string",
- "cpuPlatform": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "adminStatus": "string",
- "present": true,
- "ready": true,
- "usage": "string",
- "platform": "string"
}
]
}, - "devicesLeft": [
- {
- "manufacturer": "string",
- "marketName": "string",
- "version": "string",
- "sdk": "string",
- "platform": "string",
- "count": 0
}
]
}Get information about group of devices
Returns information about a specific group of devices.
Authorizations:
path Parameters
| id required | string Group identifier. |
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "group": {
- "id": "string",
- "meta": {
- "billing": {
- "type": "string",
- "updates": {
- "at": "string",
- "type": "string"
}
}, - "domain": {
- "id": "string",
- "name": "string"
}, - "project": {
- "id": "string",
- "name": "string",
- "domain": {
- "id": "string",
- "name": "string"
}
}, - "regionGroup": "string"
}, - "name": "string",
- "devices": [
- {
- "serial": "string",
- "manufacturer": "string",
- "marketName": "string",
- "status": {
- "ACTIVE": 0,
- "IN_USE": 0,
- "BUSY": 0,
- "MAINTENANCE": 0,
- "ERROR": 0
}, - "sdk": "string",
- "version": "string",
- "resolution": "string",
- "cpuPlatform": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "adminStatus": "string",
- "present": true,
- "ready": true,
- "usage": "string",
- "platform": "string"
}
]
}
}Modify group of devices
Updates the configuration of an existing group of devices such as name or tariff plan.
Authorizations:
path Parameters
| id required | string Group identifier. |
Request Body schema: application/jsonrequired
| name | string The name of the group. |
| billingType | string The type of billing. |
Responses
Request samples
- Payload
{- "name": "string",
- "billingType": "string"
}Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "group": {
- "id": "string",
- "meta": {
- "billing": {
- "type": "string",
- "updates": {
- "at": "string",
- "type": "string"
}
}, - "domain": {
- "id": "string",
- "name": "string"
}, - "project": {
- "id": "string",
- "name": "string",
- "domain": {
- "id": "string",
- "name": "string"
}
}, - "regionGroup": "string"
}, - "name": "string",
- "devices": [
- {
- "serial": "string",
- "manufacturer": "string",
- "marketName": "string",
- "status": {
- "ACTIVE": 0,
- "IN_USE": 0,
- "BUSY": 0,
- "MAINTENANCE": 0,
- "ERROR": 0
}, - "sdk": "string",
- "version": "string",
- "resolution": "string",
- "cpuPlatform": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "adminStatus": "string",
- "present": true,
- "ready": true,
- "usage": "string",
- "platform": "string"
}
]
}
}Add devices to group
Adds devices to a specified group of devices based on the provided filters.
Authorizations:
path Parameters
| id required | string Group identifier. |
Request Body schema: application/jsonrequired
required | Array of objects (DevicesFilter) | ||||||||||||
Array
| |||||||||||||
Responses
Request samples
- Payload
{- "devices": [
- {
- "manufacturer": "string",
- "marketName": "string",
- "version": "string",
- "sdk": "string",
- "platform": "string",
- "count": 0
}
]
}Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "group": {
- "id": "string",
- "meta": {
- "billing": {
- "type": "string",
- "updates": {
- "at": "string",
- "type": "string"
}
}, - "domain": {
- "id": "string",
- "name": "string"
}, - "project": {
- "id": "string",
- "name": "string",
- "domain": {
- "id": "string",
- "name": "string"
}
}, - "regionGroup": "string"
}, - "name": "string",
- "devices": [
- {
- "serial": "string",
- "manufacturer": "string",
- "marketName": "string",
- "status": {
- "ACTIVE": 0,
- "IN_USE": 0,
- "BUSY": 0,
- "MAINTENANCE": 0,
- "ERROR": 0
}, - "sdk": "string",
- "version": "string",
- "resolution": "string",
- "cpuPlatform": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "adminStatus": "string",
- "present": true,
- "ready": true,
- "usage": "string",
- "platform": "string"
}
]
}, - "devicesLeft": [
- {
- "manufacturer": "string",
- "marketName": "string",
- "version": "string",
- "sdk": "string",
- "platform": "string",
- "count": 0
}
]
}Remove device from group
Removes a device from a specified group of devices using its serial number.
Authorizations:
path Parameters
| id required | string Group identifier. |
| serial required | string Serial number of the device. |
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "group": {
- "id": "string",
- "meta": {
- "billing": {
- "type": "string",
- "updates": {
- "at": "string",
- "type": "string"
}
}, - "domain": {
- "id": "string",
- "name": "string"
}, - "project": {
- "id": "string",
- "name": "string",
- "domain": {
- "id": "string",
- "name": "string"
}
}, - "regionGroup": "string"
}, - "name": "string",
- "devices": [
- {
- "serial": "string",
- "manufacturer": "string",
- "marketName": "string",
- "status": {
- "ACTIVE": 0,
- "IN_USE": 0,
- "BUSY": 0,
- "MAINTENANCE": 0,
- "ERROR": 0
}, - "sdk": "string",
- "version": "string",
- "resolution": "string",
- "cpuPlatform": "string",
- "owner": {
- "email": "string",
- "name": "string"
}, - "adminStatus": "string",
- "present": true,
- "ready": true,
- "usage": "string",
- "platform": "string"
}
]
}
}Assign device to user
Assigns a device to a user. Works only for Android devices.
Authorizations:
Request Body schema: application/jsonrequired
| serial required | string Filters for the devices. |
| timeout | number Device timeout duration, specified in milliseconds. If the device remains idle for this period, it will automatically disconnect. The default timeout is set to 9 hours (32,400,000 milliseconds). |
Responses
Request samples
- Payload
{- "serial": "string",
- "timeout": 0
}Response samples
- 200
{- "success": true,
- "description": "string"
}Remove device from user
Removes a device from the user and makes it available for other users. Works only for Android devices.
Authorizations:
path Parameters
| serial required | string Serial number of the device. |
Responses
Response samples
- 200
{- "success": true,
- "description": "string"
}Start ADB remote connect session
Starts an ADB remote connect session. Works only for Android devices.
Authorizations:
path Parameters
| serial required | string Serial number of the device. |
Responses
Response samples
- 200
- default
{- "success": true,
- "description": "string",
- "remoteConnectUrl": "string"
}End ADB remote connect session
Ends an ADB remote connect session. Works only for Android devices.
Authorizations:
path Parameters
| serial required | string Serial number of the device. |
Responses
Response samples
- 200
{- "success": true,
- "description": "string"
}