Skip to main content

Mobile Farm API (1.1.0)

Managing real mobile devices: adding and deleting devices, getting detailed device information, managing ADB keys, and more.

ADB keys

Manages all available RSA keys for Android Debug Bridge (ADB).

Store ADB key

Stores the public part of an ADB key, enabling ADB access.

Authorizations:
iam_token_project_scopediam_token_account_scoped
Request Body schema: application/json
required
publicKey
required
string

The public key associated with the ADB key.

title
string

The title associated with the ADB key (optional).

Responses

Request samples

Content type
application/json
{
  • "publicKey": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string",
  • "adbKey": {
    }
}

List ADB keys

Retrieves a list of ADB keys, including their fingerprints and titles.

Authorizations:
iam_token_project_scopediam_token_account_scoped

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string",
  • "adbKeys": [
    ]
}

Delete ADB key

Deletes a specific ADB key based on the provided fingerprint.

Authorizations:
iam_token_project_scopediam_token_account_scoped
path Parameters
fingerprint
required
string

Fingerprint of the ADB key.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string"
}

User ADB keys

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:
iam_token_account_scoped
path Parameters
userId
required
string

User identifier.

Request Body schema: application/json
required
publicKey
required
string

The public key associated with the ADB key.

title
string

The title associated with the ADB key (optional).

Responses

Request samples

Content type
application/json
{
  • "publicKey": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string",
  • "adbKeys": [
    ]
}

List ADB keys for specified user

Retrieves a list of ADB keys associated with a specific user, including their fingerprints and titles.

Authorizations:
iam_token_account_scoped
path Parameters
userId
required
string

User identifier.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string",
  • "adbKeys": [
    ]
}

Delete ADB key for specified user

Deletes a specific ADB key for a specified user based on the provided fingerprint.

Authorizations:
iam_token_account_scoped
path Parameters
userId
required
string

User identifier.

fingerprint
required
string

Fingerprint of the ADB key.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string"
}

Devices

Manages mobile devices.

List available devices

Returns a list of available mobile devices that you can add to a project.

Authorizations:
iam_token_project_scoped
query Parameters
fields
Array of strings

Fields of filters to return in response

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add devices to project

Adds devices to the project based on the provided filters.

Authorizations:
iam_token_project_scoped
Request Body schema: application/json
required

Body

billingType
string

The tariffication type for the device. Available values are minutes, hours, and months.

Array of objects (entity.Filter)

Responses

Request samples

Content type
application/json
{
  • "billingType": "string",
  • "filters": [
    ]
}

Response samples

Content type
application/json
{
  • "devices": [
    ]
}

List devices

Returns a list of devices in a project.

Authorizations:
iam_token_project_scoped

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Remove device from project

Removes a device from the project using its serial number.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Request Body schema: application/json
required

Body

slotID
string

The slot identifier.

Responses

Request samples

Content type
application/json
{
  • "slotID": "string"
}

Response samples

Content type
application/json
{
  • "adminStatus": "string",
  • "cpuPlatform": "string",
  • "manufacturer": "string",
  • "marketName": "string",
  • "meta": {
    },
  • "osVersion": "string",
  • "owner": {
    },
  • "platform": "string",
  • "present": true,
  • "ready": true,
  • "resolution": "string",
  • "sdk": "string",
  • "serial": "string",
  • "status": {
    }
}

Get device information

Returns information about a device by its serial number.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Responses

Response samples

Content type
application/json
{
  • "abi": "string",
  • "adminStatus": "string",
  • "airplaneMode": true,
  • "battery": {
    },
  • "browser": {
    },
  • "channel": "string",
  • "cpuPlatform": "string",
  • "display": {
    },
  • "manufacturer": "string",
  • "marketName": "string",
  • "meta": {
    },
  • "model": "string",
  • "network": {
    },
  • "openGLESVersion": "string",
  • "operator": "string",
  • "osVersion": "string",
  • "owner": {
    },
  • "phone": {
    },
  • "platform": "string",
  • "presenceChangedAt": "string",
  • "present": true,
  • "product": "string",
  • "ready": true,
  • "remoteConnect": true,
  • "remoteConnectUrl": "string",
  • "resolution": "string",
  • "reverseForwards": [
    ],
  • "sdk": "string",
  • "serial": "string",
  • "status": 0,
  • "statusChangedAt": "string",
  • "usage": "string",
  • "usageChangedAt": "string",
  • "wifiAutoConnectFeatureAvailable": true
}

Replace device

Replaces the device based on the provided filters.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Request Body schema: application/json
required

Body

object (entity.FilterReplace)
slotId
string

The slot identifier.

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "slotId": "string"
}

Response samples

Content type
application/json
{
  • "adminStatus": "string",
  • "cpuPlatform": "string",
  • "manufacturer": "string",
  • "marketName": "string",
  • "meta": {
    },
  • "osVersion": "string",
  • "owner": {
    },
  • "platform": "string",
  • "present": true,
  • "ready": true,
  • "resolution": "string",
  • "sdk": "string",
  • "serial": "string",
  • "status": {
    }
}

Change settings on device

Updates settings on the device. For example, you can enable Wi-FI.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Request Body schema: application/json
required

Body

wifi
boolean

Enables or disables Wi-Fi on the device.

Responses

Request samples

Content type
application/json
{
  • "wifi": true
}

Response samples

Content type
application/json
{
  • "error": {
    }
}

Update device tariffication

Updates a tariffication of the device.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Request Body schema: application/json
required

Body

autoPayDateTime
string

The next payment date. Applicable only to a monthly subscription.

type
string

The tariffication type for the device. Available values are minutes, hours, and months.

object (entity.Update)

Responses

Request samples

Content type
application/json
{
  • "autoPayDateTime": "string",
  • "type": "string",
  • "updates": {
    }
}

Response samples

Content type
application/json
{
  • "adminStatus": "string",
  • "cpuPlatform": "string",
  • "manufacturer": "string",
  • "marketName": "string",
  • "meta": {
    },
  • "osVersion": "string",
  • "owner": {
    },
  • "platform": "string",
  • "present": true,
  • "ready": true,
  • "resolution": "string",
  • "sdk": "string",
  • "serial": "string",
  • "status": {
    }
}

User devices

Manages devices used by a user.

Assign device to user

Assigns a device to a user. Works only for Android devices.

Authorizations:
iam_token_project_scoped
Request Body schema: application/json
required
serial
required
string

Filters for the devices.

timeout
number

Device timeout in milliseconds. If the device remains idle for this period, it will be automatically disconnected. The default timeout is 9 hours (32,400,000 milliseconds).

Responses

Request samples

Content type
application/json
{
  • "serial": "string",
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "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:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string"
}

Start ADB remote connect session

Starts an ADB remote connect session. Works only for Android devices.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string",
  • "remoteConnectUrl": "string"
}

End ADB remote connect session

Ends an ADB remote connect session. Works only for Android devices.

Authorizations:
iam_token_project_scoped
path Parameters
serial
required
string

The serial number of the device.

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string"
}

Websocket authorization

Issue websocket authorization tickets.

Issue websocket authorization ticket

Issues a new websocket authorization ticket. The ticket allows you to control a device remotely.

Authorizations:
iam_token_project_scoped

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "description": "string",
  • "ticket": "string"
}