Skip to main content
The Devices tab provides a centralized overview of all devices associated with your account. Use it to monitor device status, manage your device inventory, and access active streams.

Overview

The Devices tab displays:
  • All devices allocated to your account
  • Currently running devices and their streams
  • Device status and availability

Device Inventory

Your device inventory shows every device you have access to, organized by type:
For detailed information about each device type, including pricing and capabilities, see the Device Types documentation.

Device Status

Each device in your inventory displays its current status:
These are the human readable labels shown in the dashboard. The API and SDK use lowercase state values instead. The most important one is ready, which you filter for with ?state=ready in REST or with client.devices.list({ state: ['ready'] }) in the SDK. Other API states include creating, assigned, rebooting, resetting, stopped, terminated, and maintenance. A stopped device is parked between sessions: it is switched off and not billed, but its data, installed apps, and identity are preserved so the next session resumes on the same device.

Live Streams

When a device is running, you can view its live stream directly from the Devices tab. The stream shows:
  • Real-time device screen output
  • Current task execution progress
  • Agent actions as they occur
Click on any running device to open its stream view.

Managing Devices

From the Devices tab, you can:

View Device Details

Click on any device to see:
  • Device specifications (model, OS version, screen resolution)
  • Current task information (if running)
  • Session history

Connect Your Own Device

With a Personal Phone subscription, connect your own physical Android or iOS device using the Mobilerun Portal App. Connected devices appear in your inventory alongside cloud-hosted devices.

Reset a Device

Resetting returns a device to a clean state, clearing installed apps and user data accumulated during sessions. Trigger a reset through the API or SDK:
The device reports the resetting state for the entire reset, including the reconnection and setup steps that follow the wipe. It returns to ready once the reset completes. Resetting a Personal Phone factory-resets the handset. The phone goes offline for several minutes while it wipes and reboots. Mobilerun keeps the device in resetting for up to 5 minutes while it waits for the phone to reconnect. When the phone comes back online, the device returns to ready within seconds. If the phone does not reconnect within that window, Mobilerun terminates the device.

Stop and Resume a Device

Stopping parks a device instead of terminating it. A stopped device keeps its apps, data, and identity, but nothing runs and usage is not billed until you resume it. Use this to pause a device you are not actively using without losing its state.
A stopped device reports the stopped state. Filter for parked devices with ?state=stopped in REST or client.devices.list({ state: ['stopped'] }) in the SDK. Resuming wakes the same device: Mobilerun checks that capacity is available, starts the device again, and returns it to ready. Resuming a device that is not stopped is a no-op. Minute-billed devices that run out of credit are parked automatically. Resume them after topping up.
Not every device supports stopping. Check the device’s capabilities with client.devices.retrieveCapabilities('deviceId'): stopping is available when the response reports stop: true. Calling stop on a device without this capability returns 404.

Monitor Usage

Track your device utilization:
  • Active session time
  • Task execution history

Billing modes

When you create a device, the billing query parameter on POST /v1/devices selects how the session is admitted and paid for. Availability of each mode depends on the device type’s billing configuration. Billing-service errors and indeterminate responses never trigger fallback: the request fails closed so a paid session is never opened on an unverified entitlement. Request minute billing explicitly by appending the query parameter:
Use canonical device type identifiers such as android_cloud_phone. The old dedicated_* aliases have been retired and are rejected with HTTP 422.

Device creation errors

When you create a device or connect your own phone, Mobilerun validates the device type, then checks that your account has a matching subscription with a free device slot. If a check fails, the API returns one of these errors: Example error body from a device creation request:
Both SUBSCRIPTION_REQUIRED and PAYMENT_REQUIRED return HTTP 402. Match on the code field to tell them apart. If your own phone cannot connect through the Portal app, verify that your Personal Phone subscription is active.
SUBSCRIPTION_REQUIRED and RESOURCE_EXHAUSTED only surface for explicit billing=subscription requests, or for auto requests when minute billing is not enabled for the device type. With auto, either denial silently falls back to minute billing when it is enabled.